评估高斯拟合

时间:2015-05-14 17:45:36

标签: python statistics curve-fitting gaussian

我想知道如何确定高斯函数对我的数据的拟合程度。

以下是我一直在测试方法的一些情节。目前,我只是使用拟合的RMSE与样本(红色适合,蓝色是样本)。

例如,这里有两个不错的选择:

Good Fit

enter image description here

这里有2个可怕的标记应该被标记为坏数据:

enter image description here enter image description here

总的来说,我正在寻找额外指标的建议,以衡量适合度。此外,正如您在第二个“良好”拟合中所看到的,数据外部有时会出现其他峰值。目前,这些都受到RSME方法的惩罚,但它们不应该是。

3 个答案:

答案 0 :(得分:0)

  

我正在寻找额外指标的建议来衡量健康的好坏。

单样本Kolmogorov-Smirnov(KS)检验将是一个很好的起点。

我建议将Wikipedia article作为介绍。

该测试在SciPy中以scipy.stats.kstest的形式提供。该函数计算并返回KS检验统计量和p-value

答案 1 :(得分:0)

您可以使用统计信息中的probplot来尝试分位数 - 分位数(qq)图:

import pylab
from stats import probplot

plot = probplot(data, dist='norm', plot=pylab)
pylab.show()
  

计算概率图的分位数,并可选择显示   曲线图。

     

根据a的分位数生成样本数据的概率图   指定的理论分布(正态分布)   默认)。 probplot可选地计算数据的最佳拟合线   并使用Matplotlib或给定的绘图函数绘制结果。

答案 2 :(得分:0)

还有其他评估良好拟合的方法,但大多数方法对异常值都不稳健。

MSE - 您已经知道的均方误差,以及RMSE这是它的根。

但您也可以使用MAE - 平均绝对误差和MAPE - 平均绝对百分比误差来衡量它。

另外,有一个更复杂的Kolmogorov-Smirnov测试,你可能需要一个库才能做到这一点,而MAEMAPEMSE你可以自己实现很容易安静。

(如果您正在处理无监督的数据和/或分类,显然不是您的情况,ROC曲线和混淆矩阵也是准确度指标。)