如何解决来自几个伽马分布的平均分布
我想从我在数据上拟合的几个伽马分布中得到一个均值分布。 我所做的是在 np 数组中获取所有 no、mu、delta 参数。 然后我平均每个参数的所有值并绘制结果函数。
For each distribution :
.......
# Fit gamma function on diameter distribution
no,mu,delta,std = fitgamma(Diam,DN)
gamma_params1.append([no,delta])
ax1.plot(Diam,gamma_pluie(Diam,no,delta),color=cmap1(i / 100),alpha = 1)
no,DS)
gamma_params2.append([no,delta])
ax2.plot(Diam,alpha = 1)
# Mean distribution ?
mean_gamma1 = np.mean(np.asarray(gamma_params1),axis = 0,dtype=np.float64)
mean_gamma2 = np.mean(np.asarray(gamma_params2),dtype=np.float64)
ax1.plot(Diam,mean_gamma1[0],mean_gamma1[1],mean_gamma1[2]),color = (0,0))
ax2.plot(Diam,mean_gamma2[0],mean_gamma2[1],mean_gamma2[2]),0))
如果您想重现,这里有一些参数值。
print(np.asarray(gamma_params1)[0:20])
[[1.18877448e+06 7.04345338e+00 1.68131178e+01]
[1.03580071e+10 1.17231228e+01 2.80801622e+01]
[1.17608742e+10 1.16680950e+01 2.84500599e+01]
[3.37787472e+07 8.17963499e+00 2.20031830e+01]
[4.83799744e+07 8.28895053e+00 2.26656547e+01]
[5.19290678e+07 8.63384571e+00 2.20782461e+01]
[1.40177731e+08 9.22200410e+00 2.32053962e+01]
[5.68214219e+08 9.90427962e+00 2.50426706e+01]
[5.57257901e+07 8.54239570e+00 2.24352266e+01]
[1.27453235e+08 9.26482886e+00 2.28948126e+01]
[1.95639509e+07 8.08465980e+00 2.09512964e+01]
[3.05655808e+07 8.27016599e+00 2.15814053e+01]
[3.05999880e+07 8.39995168e+00 2.13405995e+01]
[2.16642330e+07 8.19273999e+00 2.09438975e+01]
[1.74341499e+08 9.15535097e+00 2.38455465e+01]
[1.93303173e+07 8.10004799e+00 2.08898913e+01]
[3.03928842e+07 8.39236912e+00 2.13497082e+01]
[1.66088575e+08 9.11634132e+00 2.38010576e+01]
[1.23082570e+07 7.78323253e+00 2.05413485e+01]
[2.29486547e+07 8.13571051e+00 2.12599857e+01]]
奇怪的是它与 numpy.median() 函数配合得很好...... 有什么想法吗?
使用 np.median() 的结果:
mean_gamma1 = np.median(np.asarray(gamma_params1),axis = 0)
mean_gamma2 = np.median(np.asarray(gamma_params2),axis = 0)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。