我试图了解poisson.test. 在将数据样本与另一个泊松率进行比较时,我使用它来计算 p 值;不是另一个数据样本。statsR
我已经查阅了有关此的文档,但我找不到任何概述测试本身数学的东西,只有它是如何使用的。如果有人能够提供帮助,或者指出我正确的方向,我将不胜感激。
我试图了解poisson.test. 在将数据样本与另一个泊松率进行比较时,我使用它来计算 p 值;不是另一个数据样本。statsR
我已经查阅了有关此的文档,但我找不到任何概述测试本身数学的东西,只有它是如何使用的。如果有人能够提供帮助,或者指出我正确的方向,我将不胜感激。
当您说“另一个泊松率”时……如果该其他泊松率是从数据中得出的,那么您就是在将数据与数据进行比较。
我会假设你的意思是反对一些预先指定/理论的比率(即你正在执行一个样本测试)。
你没有说明你是在做单尾测试还是双尾测试。我将讨论两者
它所做的是使用具有您正在测试的指定速率的泊松分布,然后计算尾部区域“至少与您获得的样本一样极端”(在替代方向上)。
例如,考虑一个单尾测试; vs并且观察到的泊松计数为 14。然后我们可以计算出 14 及以上的上尾有 0.0514 的概率 - 例如:
> 1-ppois(13,8.5)
[1] 0.05141111
(我意识到这不是在 R 中计算它的最佳方法——我们应该改用这个lower.tail参数——但想让它对不太熟悉 R 的读者更透明;相比之下ppois(13,8.5,lower.tail=FALSE)看起来像是一个错误的错误)
此计算符合poisson.test:
> poisson.test(14,r=8.5,alt="greater")
Exact Poisson test
data: 14 time base: 1
number of events = 14, time base = 1, p-value = 0.05141
alternative hypothesis: true event rate is greater than 8.5
95 percent confidence interval:
8.463938 Inf
sample estimates:
event rate
14
通过双尾检验,它以相等或较低的概率对这些值求和(即,与典型的 Fisher 式精确检验一样,它使用空值下的似然性来识别什么是“更极端”):
泊松平均值为 8.5 的 14 的概率约为 0.024,在左尾,最大 x 值的概率不大于 3,因此将 0、1、2 和 3 的概率相加:
> 1-ppois(13,8.5)+ppois(3,8.5)
[1] 0.08152019
检查输出:
> poisson.test(14,r=8.5)
Exact Poisson test
data: 14 time base: 1
number of events = 14, time base = 1, p-value = 0.08152
alternative hypothesis: true event rate is not equal to 8.5
95 percent confidence interval:
7.65393 23.48962
sample estimates:
event rate
14
R 代码是公开的——你可以查看代码;在这种情况下,它证实了我上面所说的。
Glen 的回答指出您可以检查此功能的代码,但我不确定您是否知道如何执行此操作,因此我将通过向您展示如何来扩充他的答案。要检查代码,只需加载相关库并输入不带任何参数的函数名称:
library(stats)
poisson.test
function (x, T = 1, r = 1, alternative = c("two.sided", "less",
"greater"), conf.level = 0.95)
{
...some code here...
PVAL <- ...some code...
...more code here...
structure(list(statistic = x, parameter = T, p.value = PVAL,
conf.int = CINT, estimate = ESTIMATE, null.value = r,
alternative = alternative, method = "Exact Poisson test",
data.name = DNAME), class = "htest")
}
}
<bytecode: 0x0000000019efa180>
<environment: namespace:stats>
您将从代码中看到该poisson.test函数创建了一个htest对象(分类为假设检验的列表),其中包含检验统计量、p 值和置信区间的计算。代码很长,但是很多都可以忽略。感兴趣的部分是计算检验统计量和 p 值的代码,每个代码大约 12-15 行。您也许可以浏览它并查看这些对象中的每一个是如何计算的,这将告诉您它们正在使用的数学。这将增加 Glen 的答案,确认特定情况下的测试输出。