有没有办法定义类似于泊松分布的 z 分数的统计数据?

机器算法验证 泊松分布 z 统计量
2022-03-14 17:08:48

假设我想比较从具有不同 lambda(速率)值的泊松分布中提取的样本。如果样本来自正态分布,我可以根据从中获取的分布的均值和标准差将每个观察值转换为 z 分数。然后我可以将 z 分数与常见分布进行比较。

对于从泊松分布中提取的样本,我将如何执行此操作?

具体的用例是我有一大堆样本,这些样本是由许多具有不同泊松率的进程生成的。我要问的问题是“过程的类别是泊松,还是它们以更加结构化的方式生成?” 我没有来自任何单个进程的足够数据来回答这个问题,但是当我汇集所有进程时,我有足够多的数据。

这里有一个更深入的解释:位置细胞是当动物处于特定位置时优先激发动作电位的神经元。
我可以通过将发射的尖峰数除以在该位置花费的时间来计算给定单元在给定位置的发射率。FR(x)
我观察到在特定位置的特定时间间隔内,特定细胞实际发射了多少尖峰。
如果我有足够的数据,我可以将特定时间间隔内特定位置的尖峰计数分布与泊松分布进行比较。
但是,这是不可能的,因为每次观察的时间间隔都不同。

因此,我想要一个标准化的统计数据,我可以将每个尖峰计数观察值转换为给定的尖峰率、时间间隔和与该观察对应的位置。然后我可以汇集这些标准化统计数据并将它们与单个标准分布进行比较。

3个回答

假设典型的尖峰数量很大,我建议使用Variance stabilizing transformation对于泊松分布,它如下所示:XP(λ), 然后让Y2X. 一阶近似给出

Y2λ+1λ(Xλ),
我们从中得到var(Y)1λ×λ=1. 此外对于λ大的Y大约是正常的YN(2λ,1).

您可以使用Y2λ=2(Xλ)作为z-分数。

您想要测试泊松分布的原因是您认为尖峰是由泊松过程产生的(也就是说,看到尖峰的瞬时概率随着时间的推移是恒定的)?如果是这样,并且您知道每个尖峰之间的长度,请考虑改为测试泊松过程。这相当于测试峰值之间的间隙是否遵循指数分布,每个位置都有一个固定的速率参数。这使您可以汇总每个位置的所有不同事件,这有望为您提供足够大的样本来进行相当强大的测试。(当然,很少有过程实际上是泊松的,因此查看分布偏离指数的程度以及以何种方式偏离可能会提供更多信息,但这是一个单独的问题。)

如果你没有峰值之间的时间,你可能需要做一些更复杂的事情。例如,您可以找到某个位置的最大似然泊松率,并以各种方式将您的真实数据与生成的模型中的模拟进行比较,看看它看起来有多么不同。据我所知,这种情况下没有现成的测试。

这与 Ben 的问题类似,但您是否只是想测试多元泊松分布是否适合该数据?您在这里的主要问题是,您必须从您试图获得 p 值/似然分数/无论如何的数据中估计每个单元格的泊松均值。现在严格来说,这可能不是问题,但是如果您没有足够的数据单独用于其中任何一个,那么如果不对您的假设进行一些额外限制(可能会出现在多种形式)。

这是您模糊描述的模型的示例。i是每个细胞和Yi是每个单元格内的计数。

YiPoisson(λi)λi=μ+αi

这是一个一般的泊松回归,其中参数的数量等于观察的数量。除非这两者的比率接近 0,否则您对参数数量的估计在统计上不一致,并且您的似然比不会告诉您太多信息。

现在,如果您有时间间隔数据,Ben 描述的模型会更好一些:这里让Yij之间的时间(j1)thj观察:

YijExp(λi)λi=μ+αi

这稍微好一点,如果比率足够小,您可以通过 QQ Plot 之类的东西对每次概率进行测试(再次感谢 Ben,这大致就是他所描述的)。如果位置的数量大致是观察数量的对数,那么您可能在那里开展业务,但 QQ-Plot 仍然会有一些真正的偏差,尤其是使大异常值看起来更正常。

如果您可以对问题施加任何额外的知识,那么一些真正的改进将是。例如,如果您可以说附近位置的传感器应该具有相似的发射率,那么您可以通过在纬度/经度上施加线性模型或薄板样条曲线来利用该知识,如果您不确定空间如何关系应该看看。或者,如果某个“类型”的传感器,您可以说相同“类型”的传感器应该具有相似的速率,您可以再次使其成为线性并进行 Anova 测试,或者制作随机效应模型或类似的东西那。

无论如何,如果您有一些额外的知识,或者您的位置数是O(logn). 高温高压