将数据拟合到泊松分布,错误是什么?

机器算法验证 泊松分布 错误
2022-03-26 05:07:32

我有个点的大型数据集,其中每个点包含一个106

(year, count)

的一个特定事件。每年有很多计数。查看给定年份的计数直方图,我推测它们遵循泊松分布。通过使用最大似然参数生成泊松分布,认为我接下来需要做的是将此预期分布的值与我的归一化直方图进行比较并计算统计量。然而,Wiki 警告说:P(λMLE)λMLE=1nkiχ2

在发现期望值 E 很小的情况下(表明潜在的总体概率很小,和/或少量观察),多项分布的正态逼近可能会失败,并且在这种情况下发现更适合使用 G 检验,一种基于似然比的检验统计量。

在更极端的计数值肯定会出现这种情况。如何计算我的数据适合泊松分布的“好”程度?理想情况下,我想要显示一个带有与这个“善良”相关的错误栏λλ

4个回答

这个问题的直接答案 - 如何处理小的预期计数 - 是一个人可能要么

(a) 在最后合并单元格范围(一种非常常见的方法),

(b) 使用不同的(也许更好的)拟合优度检验,或

(c) 考虑放弃卡方近似,看看是否可以更直接地处理检验统计量的离散分布,也许通过模拟。

方法(a)可以在许多文本中找到。有很多方法可以合并单元格,但许多人只是从一端或另一端开始工作,将单元格向左或向右合并,直到预期计数足够高以达到其目的。

(然而,对于预期数字,最常被引用的经验法则——卡方近似值应该至少为 5——对于大多数人需要的近似值来说是不必要的严格。许多后续论文建议更少严格的规定。)

user36381 的另一个答案表明,对于如此大的样本量,拟合优度测试几乎肯定会被拒绝;这是真实的。但是,我不太确定与其他参考分布进行比较是否会有所帮助,因为它们也几乎肯定会被体面的拟合优度测试拒绝。

(你为什么要测试它是否是泊松?如果你有大约一百万个数据点,样本本身包含很多关于分布形状的信息——你真的需要分布的名称吗?)

这并不能完全回答您关于如何实施拟合优度测试的问题。但是,如果样本量很大,即使您的分布与泊松分布非常相似(当然,除非您模拟了泊松数据),您的数据几乎肯定会通过将其与泊松分布进行比较的任何测试。您的测试检测与泊松分布的微小偏差的能力将非常高。

将它与其他参考分布进行比较可能会更好,以查看它最适合哪个分布。

一种方法是使用 glms 的“偏差残差”。这是每个计数的似然比。您可以从 R 中的函数轻松获得这些glm ()。您适合的 glm 是一个没有截距的 glm,并且每年都有虚拟变量。然而,一百万次观察可能会遇到内存问题。

您可以将泊松模型的偏差残差计算为 我用“t”表示年份(“时间”),“i”表示观测值,是“计数”变量,是“t”年的 MLE。当 lambda 很大时,这大约等于通常的“pearson chi-square”残差,但由于对数,对于小 lambda 具有更“稳健”的行为。标准皮尔逊残差是,它的发散类似于 - 比对数快得多。

dti2=2(λ^tnti)+2ntilog(ntiλ^t)
ntiλ^trti=(λ^tnti)2λ^t1λ^t

现在,如果您的泊松模型足够,您应该大致有其中“df”是观察到的计数数减去您拟合的 lambdas 数。tidti2df

测试泊松模型的另一种方法是拟合负二项式模型,并查看“浓度”参数与无穷大的接近程度。

您可以尝试将指数分布拟合到到达间隔时间(如果您的数据集中有到达时间)。在这种情况下,您可以对指数拟合进行简单的 KS 检验。如果它适合,那么泊松适合您的计数数据。请参阅以下参考:

关于具有平均未知数的指数分布的 KOLMOGOROV-SMIRNOV 检验——HUBERT W. Lilliefors,美国统计协会杂志,1969 年 3 月