【问题标题】:Not sure what distribution to use to model my data不确定使用什么分布来建模我的数据
【发布时间】:2019-11-19 12:51:35
【问题描述】:

我有一组天文数据,我正在尝试拟合一条曲线:

我的装修码是

param = stats.norm.fit(df['delta z'].dropna())   # Fit a normal distribution to the data
pdf_fitted = stats.norm.pdf(df['delta z'], *param)
x = np.linspace(*df['delta z'].agg([min, max]), 1000) # x-values
binwidth = np.diff(edges).mean()
ax.plot(x, stats.norm.pdf(x, *param)*h.sum()*binwidth, color = 'r')

产生

现在,我显然是以错误的方式执行此操作,因为曲线根本不适合数据。我看过的所有教程,例如here 都涉及制作一组数据,在这种情况下,我们已经知道诸如均值和偏斜之类的东西。 This question 引导我估计参数与

a_estimate, loc_estimate, scale_estimate = stats.skewnorm.fit(df['delta z'])
ax.plot(x, skewnorm.pdf(x, a_estimate, loc_estimate, scale_estimate), 'r-', lw=5, alpha=0.6, label='skewnorm pdf')

产生

那么如何使用这些参数绘制拟合?

【问题讨论】:

  • 我在zunzun.com/StatisticalDistributions/1 有一个在线统计分布拟合器,它将尝试将您的数据拟合到 scipy 中超过 85 个统计分布,只需粘贴您的数据并点击提交按钮。它可能会建议一些候选分布。
  • 为什么要对数据进行分布拟合?您将如何处理分发?你能用empirical CDFkernel density estimation 做你想做的事吗?
  • 我只需要绘制分布图并在图上显示均值和标准差。
  • 您可以从数据中获得平均值和标准差。我仍然不明白为什么你需要为它安装一个分布。您是否有一些生成数据的过程模型可以指导您选择分布?如果您真的只想在直方图上绘制一条平滑曲线,那么核密度估计应该可以很好地工作。例如,请参阅scipy.stats.gaussian_kde
  • 我用a_estimate, loc_estimate, scale_estimate = stats.skewnorm.fit(x)找参数,就是不知道怎么画曲线。

标签: numpy scipy curve-fitting


【解决方案1】:

在 cmets 中,您表示您不知道如何绘制曲线:这是一个拟合和绘制偏态的小示例。

import numpy as np
import scipy.stats as ss
import matplotlib.pyplot as plt

data = ss. expon.rvs(size=1000)

P = ss.expon.fit(data)
rX = np.linspace(min(data), max(data), 50)
rP = ss.skewnorm.pdf(rX, *P)

plt.hist(data,bins=25, normed=True, color='slategrey')

plt.plot(rX, rP, color='darkturquoise')
plt.show()

【讨论】:

  • 有没有办法为rXrPplt.plot 生成平滑曲线,而不是直方图?另外,如何找到图例中显示的均值和方差?
  • 编辑评论:得到曲线;如何找到图例中显示的均值和方差?如果我使用mean, var, skew, kurt = skewnorm.stats(a_est, moments='mvsk'),它给我的平均值与曲线不匹配。
  • 我会先尝试 numpy.mean(data) 和 numpy.var(data)。
  • np.mean 给出-3e-15,但数据的平均值显然更接近1
  • 如果分布高度偏斜,那么曲线的峰值不会在平均值处,对吗?也许这就是问题所在。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-19
相关资源
最近更新 更多