如何解决在python中拟合交换泊松分布似乎不正确
我正在尝试用 CDF 泊松分布拟合我的数据。我用过 scipy.stats.poisson
from scipy.optimize import curve_fit
from scipy.stats import poisson
import numpy as np
import matplotlib.pyplot as plt
data_to_fit = np.array([[ 3.839,0.01818182],[ 3.9158,0.05454545],[ 3.9542,0.07272727],[ 4.0309,0.09090909],[ 4.1845,0.12727273],[ 4.2613,0.14545455],[ 4.2997,0.16363636],[ 4.6836,0.18181818],[ 4.7604,0.2 ],[ 4.8755,0.23636364],[ 5.1826,0.25454545],[ 5.3746,0.27272727],[ 5.4514,0.29090909],[ 5.7201,0.30909091],[ 5.7585,0.32727273],[ 5.8737,0.36363636],[ 5.9888,0.38181818],[ 6.0272,0.4 ],[ 6.7183,0.41818182],[ 6.8334,0.43636364],[ 6.9486,0.47272727],[ 7.2557,0.49090909],[ 7.9083,0.52727273],[ 7.9467,0.54545455],[ 8.0619,0.56363636],[ 8.1771,0.58181818],[ 8.2538,0.6 ],[ 8.5226,0.61818182],[ 8.6761,0.63636364],[ 9.2904,0.65454545],[ 9.4439,0.67272727],[ 9.4823,0.69090909],[ 9.5975,0.70909091],[ 9.6743,0.72727273],[ 9.8662,0.74545455],[ 9.9814,0.76363636],[10.4037,0.78181818],[10.826,0.8 ],[10.9412,0.81818182],[11.1715,0.83636364],[11.7089,0.85454545],[11.9777,0.87272727],[12.0545,0.89090909],[12.5535,0.90909091],[12.5919,0.92727273],[13.6285,0.94545455],[14.1275,0.96363636],[14.9337,0.98181818],[15.164,1. ]])
# fit here
ppot,_= curve_fit(poisson.cdf,data_to_fit[:,0],1],p0 = 0.1)
fig,ax = plt.subplots()
ax.plot(data_to_fit[:,'bo',label = "data",alpha = 0.5)
ax.plot(data_to_fit[:,poisson.cdf(data_to_fit[:,ppot),'b--',label = 'CDF Poisson fit')
plt.show()
我不确定哪一步出错了,因为从直观上看,拟合似乎不正确。我认为合身应该是“平滑的”,而我的结果并非如此。 ....
解决方法
我尝试了另一个功能:
上述数值结果是通过线性回归(非迭代方法)获得的,如:https://fr.scribd.com/doc/14674814/Regressions-et-equations-integrales
为了更准确,请使用非线性回归(从上述参数值开始迭代)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。