拟合分布的参数
Parameters for fitted distribution
在为我的数据集搜索最佳分布时,结果是具有以下参数的指数修正正态分布:
K=10.84, loc=154.35, scale=73.82
Scipy 为我们提供了一种分析分布均值的方法:
fitted_mean = scipy.stats.exponnorm.stats(K=10.84, loc=154.35, scale=73.82, moments='mean')
结果fitted_mean=984,与我的数据集的均值相同。但是,我不确定这是在告诉我什么。我认为 loc=154.35 是分布的平均值。
这两个是什么意思?如果我用最佳分布拟合数据,那么 fitted_mean (154.35) 不是新的唯一平均值吗?
对于指数修正正态分布,位置参数与均值不相同。许多发行版都是如此。
看看wikipedia page for the exponentially modified Gaussian distribution。这与 scipy.stats.exponnorm
分布相同,但参数化不同。维基百科版本与scipy的参数映射为:
μ = loc
σ = scale
λ = 1/(K*scale)
维基百科页面说分布的均值是 μ + 1/λ,根据 scipy 参数,它是 loc + K*scale
。
当您将分布拟合到您的数据时,您发现
loc = 154.35
scale = 73.82
K = 10.84
维基百科页面的均值公式给出
loc + K*scale = 954.5587999999999
这里是使用exponnorm
的计算:
In [16]: fitted_mean = scipy.stats.exponnorm.stats(K=10.84, loc=154.35, scale=73.82, moments='mean')
In [17]: fitted_mean
Out[17]: array(954.5587999999999)
与维基百科公式的结果相匹配。
(您报告了 fitted_mean = 984
,但我认为这是一个印刷错误。)
在为我的数据集搜索最佳分布时,结果是具有以下参数的指数修正正态分布:
K=10.84, loc=154.35, scale=73.82
Scipy 为我们提供了一种分析分布均值的方法:
fitted_mean = scipy.stats.exponnorm.stats(K=10.84, loc=154.35, scale=73.82, moments='mean')
结果fitted_mean=984,与我的数据集的均值相同。但是,我不确定这是在告诉我什么。我认为 loc=154.35 是分布的平均值。
这两个是什么意思?如果我用最佳分布拟合数据,那么 fitted_mean (154.35) 不是新的唯一平均值吗?
对于指数修正正态分布,位置参数与均值不相同。许多发行版都是如此。
看看wikipedia page for the exponentially modified Gaussian distribution。这与 scipy.stats.exponnorm
分布相同,但参数化不同。维基百科版本与scipy的参数映射为:
μ = loc
σ = scale
λ = 1/(K*scale)
维基百科页面说分布的均值是 μ + 1/λ,根据 scipy 参数,它是 loc + K*scale
。
当您将分布拟合到您的数据时,您发现
loc = 154.35
scale = 73.82
K = 10.84
维基百科页面的均值公式给出
loc + K*scale = 954.5587999999999
这里是使用exponnorm
的计算:
In [16]: fitted_mean = scipy.stats.exponnorm.stats(K=10.84, loc=154.35, scale=73.82, moments='mean')
In [17]: fitted_mean
Out[17]: array(954.5587999999999)
与维基百科公式的结果相匹配。
(您报告了 fitted_mean = 984
,但我认为这是一个印刷错误。)