我们如何比较具有相同数量参数的两个模型的复杂性?
编辑09/19:为澄清起见,模型复杂度是衡量从有限数据中学习的难易程度的一种度量。当两个模型均能很好地拟合现有数据时,具有较低复杂度的模型将为将来的数据提供较低的误差。当使用近似值时,从技术上讲这可能并不总是正确的,但是如果在实践中倾向于正确的话就可以了。各种近似给出不同的复杂度度量
我们如何比较具有相同数量参数的两个模型的复杂性?
编辑09/19:为澄清起见,模型复杂度是衡量从有限数据中学习的难易程度的一种度量。当两个模型均能很好地拟合现有数据时,具有较低复杂度的模型将为将来的数据提供较低的误差。当使用近似值时,从技术上讲这可能并不总是正确的,但是如果在实践中倾向于正确的话就可以了。各种近似给出不同的复杂度度量
Answers:
除了最小描述长度的各种度量(例如,归一化最大似然,Fisher Information近似值)外,还有两种其他方法值得一提:
参数引导程序。它比要求严格的MDL措施容易实施。Wagenmaker及其同事
写的一篇不错的论文:Wagenmaker,E.-J.,Ratcliff,R.,Gomez,P.和Iverson,GJ(2004)。使用参数引导程序评估模型模拟。数学心理学杂志,48,28-50。
摘要:
我们提出了一种通用的采样程序来量化模型模仿,定义为模型考虑竞争模型生成的数据的能力。这种采样程序称为参数自举交叉拟合方法(PBCM;参见Williams(JR Statist。Soc。B 32(1970)350; Biometrics 26(1970)23)),它会产生拟合优度差异的分布预期在每个竞争模型下。在PBCM的数据通知版本中,生成模型具有通过拟合考虑中的实验数据而获得的特定参数值。可以将数据告知的差异分布与拟合优度中观察到的差异进行比较,以量化模型的适当性。在PBCM的数据不通知版本中,根据先验知识,生成模型的参数值范围相对较大。通过几个示例说明了已通知的数据和未通知的PBCM的应用。
更新:用简单的英语评估模型模仿。您采用两个竞争模型之一,并随机选择该模型的一组参数(是否通知数据)。然后,使用所选的参数集从该模型生成数据。接下来,让两个模型拟合生成的数据,并检查两个候选模型中哪个模型拟合效果更好。如果两个模型都具有同等的灵活性或复杂性,则从中生成数据的模型应该更合适。但是,如果另一个模型更复杂,尽管数据是从另一个模型生成的,但它可能会提供更好的拟合度。您对两个模型都重复了几次(即,让两个模型都产生数据并查看两者中哪个更合适)。“过度拟合”另一种模型产生的数据的模型更为复杂。
交叉验证:它也很容易实现。请参阅此问题的答案。但是,请注意,与此有关的问题是,在样本削减规则(留一法,K折等)中进行选择是一种无原则的选择。
我认为这将取决于实际的模型拟合过程。对于一般适用的度量,您可以考虑Ye 1998中描述的广义自由度 -本质上是模型估计值变化对观测值摄动的敏感性-可以很好地衡量模型复杂性。
最小描述长度(MDL)和最小消息长度(MML)当然值得一试。
就MDL而言,说明规范化最大似然(NML)过程以及渐近逼近的简单论文是:
S. de Rooij和P.Grünwald。参数无限复杂的最小描述长度模型选择的实证研究。数学心理学杂志,2006,50,180-192
在这里,他们研究了几何分布与泊松分布的模型复杂性。可以在此处找到有关MDL的优秀(免费)教程。
或者,可以在此处找到有关使用MML和MDL检验的指数分布的复杂性的论文。不幸的是,没有关于MML的最新教程,但是这本书是很好的参考书,强烈推荐使用。
最小描述长度可能是一个值得追求的途径。
从雅罗斯拉夫的评论到亨里克的答案:
但是交叉验证似乎只是推迟了评估复杂性的任务。如果像交叉验证一样使用数据来选择参数和模型,则相关的问题将变成如何估算此“元”拟合器正常运行所需的数据量
我想知道这本身是否不能提供信息。你执行几个可变简历 (例如沿着网格),然后看看哪个模型的效果更好 增加。更具体地说:我想知道那里的两个模型之间是否有任何区别 性能作为函数 可以作为该模型的证据(当 增加)将是不太复杂的一种。
您甚至可以对此赋予“显着”的风味,因为该过程的结果直接来自样本外预测误差的差异(单位)。
模型比较的信息准则如何?参见例如http://en.wikipedia.org/wiki/Akaike_information_criterion
这里的模型复杂度是模型参数的数量。