Ros*_*osh 3 python distribution matplotlib scipy weibull
我有一个数据集,我想适应已知的概率分布.目的是在数据生成器中使用拟合的PDF - 这样我就可以从已知(拟合的)PDF中采样数据.数据将用于模拟目的.目前我只是从正态分布中采样,这与实际数据不一致,因此仿真结果不准确.
我首先想使用以下方法: 使用Scipy(Python)将经验分布拟合到理论分布?
我的第一个想法是将它与weibull分布相匹配,但数据实际上是多模式的(附图).所以我想我需要组合多个分布,然后将数据拟合到生成的dist中,是吗?也许结合高斯和威布尔分布?
如何将scipy fit()函数与混合/多模态分布一起使用?
另外我想在Python中做这个(即scipy/numpy/matplotlib),因为数据生成器是用Python编写的.
非常感谢 !
我建议使用核密度估计(KDE).它为PDF提供了一个解决方案.
SciPy只有高斯内核(看起来很适合你的特定直方图),但你可以在statsmodels或scikit-learn包中找到其他内核.
供参考,这些是相关的功能:
from sklearn.neighbors import KernelDensity
from scipy.stats import gaussian_kde
from statsmodels.nonparametric.kde import KDEUnivariate
from statsmodels.nonparametric.kernel_density import KDEMultivariate
Run Code Online (Sandbox Code Playgroud)
这里是Python中KDE的一个很好的资源.
| 归档时间: |
|
| 查看次数: |
5960 次 |
| 最近记录: |