我有一个NumPy数组,其中包含大量数据点= 53046323。数据表示持续时间并遵循离散分布,经过搜索,我相信它可以拟合Boltzmann。我做了几次试验来估计拟合数据的最佳分布参数,最佳参数是lambda=1
sa1=np.load('all_4_daily_consec_count_baseline_list.npy',allow_pickle=True)
nn=sa1.tolist()
data=np.concatenate(nn)
plt.hist(data, bins=int(np.max(data)), density=True, alpha=0.5)
plt.plot(data, boltzmann.pmf(data,1,53046322), 'go', markersize=9)
字符串
但并不适合图(test_boltzmann_full)test_boltzmann_full中的所有值
因此,我试图拟合部分数据,如图(test2)所示,它具有相同的分布形状和数据点数量585
sa1=np.load('all_4_daily_consec_count_baseline_list.npy',allow_pickle=True)
xx=np.reshape(sa1,(607,484))
noov_h=xx[306,250]
noov_hh=noov_h.astype('float')
data=noov_hh[~np.isnan(noov_hh)]
plt.hist(data, bins=int(np.max(data)), density=True, alpha=0.5)
plt.plot(data, boltzmann.pmf(data,1,584), 'go', markersize=9)
型
test2的
我可以知道如何获得最佳拟合参数来拟合我的数据吗?在这两种情况下?是否有一种自适应的方法来获得更好的拟合?
数据在链接中,因为它很大,需要在这里上传data
1条答案
按热度按时间pgccezyw1#
scipy.stats.fit
可用于将分布参数拟合到数据。下面是将玻尔兹曼分布的参数拟合到从玻尔兹曼分布采样的数据的示例。字符串
的数据