如何在不过度拟合数据的情况下选择最佳拟合?使用N个正态函数等对双峰分布进行建模


11

我有一个明显的双峰值分布,我试图适应这一分布。可以使用2个正常函数(双峰)或3个正常函数很好地拟合数据。此外,将数据拟合为3还有一个合理的物理原因。

引入的参数越多,拟合就越完美,因为有了足够的常数,一个人就可以“ 拟合大象 ”。

这是分布,与3条正态(高斯)曲线的总和拟合:

配带

这些是每次拟合的数据。我不确定应该在这里应用哪种测试来确定合适的位置。数据由91点组成。

1正常功能:

  • RSS:1.06231
  • X ^ 2:3.1674
  • F.测试:0.3092

2个正常功能:

  • RSS:0.010939
  • X ^ 2:0.053896
  • F.测试:0.97101

3种正常功能:

  • RSS:0.00536
  • X ^ 2:0.02794
  • F.测试:0.99249

什么是可以用来确定这3个拟合中的哪一个最合适的正确统计检验?显然,1个法线函数拟合不足。那么如何区分2和3?

另外,我主要使用Excel和一些Python来完成此操作;我还不熟悉R或其他统计语言。


建议使用简化的卡方 X ^ 2 /(Nn-1),其中N是数据点的数量,n是拟合参数的数量。但是,相对于数据点数(91)而言,小的惩罚(+/- 3)对于增加另一个高斯而言,似乎不是一个特别陡峭的惩罚。
MurphysLab

您可能需要检查此答案(以防万一您决定走这R条路线)。此答案中提到了一些模型选择标准。最后,您可能需要考虑ensemble方法,我在本答案对此进行了简要介绍,该方法还包含指向Python的信息的链接。您可以在此答案中找到有关模型选择和平均的更多详细信息。
Aleksandr Blekh

Answers:


5

您可以通过以下两种方法来解决选择发行版的问题:

  1. 为了进行模型比较,请使用一种根据参数数量对模型进行惩罚的措施。信息标准可以做到这一点。使用信息标准选择要保留的模型,选择信息标准最低的模型(例如AIC)。比较AIC的差异是否显着的经验法则是AIC的差异是否大于2(这不是正式的假设检验,请参阅测试两个非嵌套模型的AIC差异)。

    2k2ln(L)kLL=maxθL(θ|x)L(θ|x)=Pr(x|θ)Pr(x|θ)xθ

  2. 如果您要进行正式的假设检验,则可以至少以两种方式进行。可以说,比较容易的一种方法是使用部分样本拟合分布,而不是使用卡方检验或Kolgomorov-Smirnov检验其余数据来检验残差分布是否显着不同。这样,您就不会使用与注释中提到的AndrewM相同的数据来拟合和测试模型。

    您也可以通过调整零分布来进行似然比测试。Lo Y.等人描述了这种形式。(2013)“测试正常混合物中的组分数”。Biometrika,但我无权访问此文章,因此我无法为您提供有关如何精确执行此操作的更多详细信息。

    无论哪种方式,如果检验不显着,请保留参数数量较少的分布,如果检验显着,则选择参数数量较多的分布。


@Momo感谢,改变了并添加了方程AIC
克里斯·诺瓦克

我不确定100%,但是标准AIC可能无法在混合物模型中按预期工作,因为混合物的不同配置可能会产生相同的模型。
Cagdas Ozgenc

我的意思是,您可以交换2个高斯(通过将1st的均值/方差设置为2nd,将2nd的均值/方差设置为1st,还可以将混合权重设置为2),仍然可以获得相同的模型。据我所知,AIC在这种情况下无法正常工作。
Cagdas Ozgenc

1
@CagdasOzgenc我明白你的意思,但似乎标准AIC和BIC被证明是足够的高斯混合模型的模型选择,例如参见本文projecteuclid.org/download/pdf_1/euclid.aos/1176348772
克里斯·诺瓦克

1
χ2χ2
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.