哪个分布与 MCMC 和经验数据一起使用?

机器算法验证 马尔可夫链蒙特卡罗
2022-04-08 08:37:46

在课堂上,我们一直在学习无数非常有趣的技术来从给定的分布中采样、过滤在线数据、粒子过滤器等。

我的问题是,当我获取一些真实数据并绘制它时,分布显然不是高斯分布。所以,我需要估计一些分布。或者,对于在线过滤器(粒子等),我需要估计某种形式的转换内核。

人们通常如何做到这一点?开发一些分布以适应经验数据时,哪些被认为是“最佳实践”?有哪些可靠的“拟合优度”测试?

4个回答

Kolmogorov Smirnoff 始终是检验任意分布是否适合的好方法。您可以使用下面引用的测试来查看两组数据是否来自同一分布:

Li, Q. 和 E. Maasoumi 和 JS Racine(2009 年),“混合分类数据和连续数据的分布相等性的非参数检验”,计量经济学杂志,148,第 186-200 页

此测试可在 R 中的np包中作为npdeneqtest()函数使用。

选择一个好的分布总是很困难的;你的数据是什么样的?Gamma 分布对于正数据相当灵活,大多数数据可以合理地用高斯混合近似,Beta 分布对于 0 和 1 之间的数据非常灵活。

请注意,拟合优度测试只能排除分布,它们不能证明数据来自哪个分布。在许多情况下,他们可能没有能力排除某些分布,所以你真的不知道数据是否来自那个分布,或者你只是没有能力。

但请注意,您可以有一个完全遵循正态分布(或至少足够接近)的总体,但从该分布中随机抽样的数据看起来不像钟形(或任何其他分布)。总体分布比样本分布更重要。要尝试的一件事是绘制几个样本并查看它们的不同之处,然后查看您的数据是否适合该变化方案。这个想法详述于:

Buja, A.、Cook, D. Hofmann, H.、Lawrence, M. Lee, E.-K.、Swayne, DF 和 Wickham, H. (2009) 探索性数据分析和模型诊断的统计推断 Phil。反式。R. Soc。A 2009 367, 4361-4383 doi: 10.1098/rsta.2009.0120

如果您仍然觉得需要找到一个转换来达到正态,那么请考虑使用 Box-Cox 转换。R 的 MASS 包中的 boxcox 函数将找到最佳变换,但它也给出了置信区间,以便您可以将外部知识带入决策中,例如 lambda 的“最佳”值可能是 0.4,但如果是正方形根变换具有科学价值,0.5 在置信区间内,那么这可能比使用 0.4 更合理。

这在很大程度上还取决于您打算如何处理您的数据或数据的转换。通常我们可以应用中心极限定理,然后人口的分布并不重要(只要我们相信它没有过度偏斜或有极端异常值)。或者有一些非参数方法不依赖于关于人口分布的假设。所以最好的方法取决于你打算如何处理这些数据。

您的第二个问题没有明确的答案,因为统计学中的所有方法都致力于开发适合经验数据的分布。因此,“最佳实践”将是找到可能已经生成数据的适当统计模型。

没有一些额外的背景,这个问题很难回答。你的真实世界数据是什么?模型(数据的理论分布)来自应用程序,而不是真空。在实践中,没有一种近似未知分布的最佳方法。甚至没有一个“最好的”。作为一般性评论,您可以在很长的时间内混合正态分布。但是如果不假设将遇到困难,特别是当数据不是 iid 时。