mvs*_*srs 8 python numpy matplotlib scipy
我有一个示例数据,我希望得到最合适的分布.我有几个链接表明我可以从中导入分发scipy.stats,但后来我不知道数据的类型.我想类似的东西allfitdist()在MATLAB它试图以适应数据约20的分布,并返回最合适的.
链接allfitdist():http://www.mathworks.in/matlabcentral/fileexchange/34943-fit-all-valid-parametric-probability-distributions-to-data
任何帮助都非常值得赞赏.谢谢.
Mar*_*tin 14
您可以在scipy中创建所有可用分布的列表.两个分布和随机数据的示例:
import numpy as np
import scipy.stats as st
data = np.random.random(10000)
distributions = [st.laplace, st.norm]
mles = []
for distribution in distributions:
pars = distribution.fit(data)
mle = distribution.nnlf(pars, data)
mles.append(mle)
results = [(distribution.name, mle) for distribution, mle in zip(distributions, mles)]
best_fit = sorted(zip(distributions, mles), key=lambda d: d[1])[0]
print 'Best fit reached using {}, MLE value: {}'.format(best_fit[0].name, best_fit[1])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6114 次 |
| 最近记录: |