在R中确定两个样本比例二项式检验(以及一些奇怪的p值)


23

我正在尝试解决以下问题:

玩家A在25场比赛中赢得17场比赛,而玩家B在20场比赛中赢得8场比赛-两种比率之间是否有显着差异?

在R中想到的事情如下:

> prop.test(c(17,8),c(25,20),correct=FALSE)

    2-sample test for equality of proportions without continuity correction

data:  c(17, 8) out of c(25, 20)
X-squared = 3.528, df = 1, p-value = 0.06034
alternative hypothesis: two.sided
95 percent confidence interval:
 -0.002016956  0.562016956
sample estimates:
prop 1 prop 2 
  0.68   0.40 

因此,该测试表明,在95%的置信水平下,差异并不显着。

因为我们知道那prop.test()仅是使用近似值,所以我想通过使用精确的二项式检验使事情更精确-并且我同时采用了两种方法:

> binom.test(x=17,n=25,p=8/20)

    Exact binomial test

data:  17 and 25
number of successes = 17, number of trials = 25, p-value = 0.006693
alternative hypothesis: true probability of success is not equal to 0.4
95 percent confidence interval:
 0.4649993 0.8505046
sample estimates:
probability of success 
                  0.68 

> binom.test(x=8,n=20,p=17/25)

    Exact binomial test

data:  8 and 20
number of successes = 8, number of trials = 20, p-value = 0.01377
alternative hypothesis: true probability of success is not equal to 0.68
95 percent confidence interval:
 0.1911901 0.6394574
sample estimates:
probability of success 
                   0.4 

现在这很奇怪,不是吗?每次的p值完全不同!现在,在这两种情况下,结果都是(高度)显着的,但p值似乎很随意地跳来跳去。

我的问题

  1. 为什么每次的p值不同?
  2. 如何在R中正确执行精确的两个样本比例二项式检验?

3
尽管R函数是不同的(prop.testvs chisq.test),但是在这个问题中存在相同的基本概念。在三个示例中的每个示例中,您正在运行三个具有不同“空假设”的不同测试。
Affine 2014年

Answers:


26

如果您正在寻找两个二项式比例的“精确”检验,那么我相信您正在寻找Fisher精确检验。在R中的应用如下:

> fisher.test(matrix(c(17, 25-17, 8, 20-8), ncol=2))
    Fisher's Exact Test for Count Data
data:  matrix(c(17, 25 - 17, 8, 20 - 8), ncol = 2)
p-value = 0.07671
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
  0.7990888 13.0020065
sample estimates:
odds ratio 
  3.101466 

fisher.test函数接受两个和二项比例“成功”和“失败”的矩阵对象。但是,您可以看到,双向假设仍然不重要,很遗憾地说。但是,Fisher's Exact测试通常仅在单元格计数较低(通常意味着5个或更少,但有人说10个)时才​​应用,因此您的初次使用prop.test更合适。

关于您的binom.test通话,您误会了通话。跑步时,binom.test(x=17,n=25,p=8/20)您正在测试比例与成功概率为8/20的总体是否显着不同。与binom.test(x=8,n=20,p=17/25)所说的一样,成功概率为17/25,这就是为什么这些p值不同的原因。因此,您根本没有比较这两个比例。


2
谢谢,我接受了你的回答。当您说prop.test更“合适”时,您指的是什么?更精确的结果是(精确地)由Fisher精确检验给出的,不是吗?
vonjd 2014年

4
这实际上是统计学家之间争论的话题,我没有绝对的答案。从历史上看,您避免使用Fisher运算法则是因为它在计算上变得非常复杂,但是计算机可以解决这个问题。但是,一般来讲,费舍尔精确检验是保守的,如果您的数字足够大,则卡方统计量(即prop.test计算出的数值)更有可能不会犯II型错误。
cdeterman 2014年

关键的问题我有不同的语义prop.testfisher.test:前者称为像prop.test(matrix(c(17, 8, 25, 20), ncol=2))(给成功的第一列中的数字和数量的审判在第二列),而后者被称为像fisher.test(matrix(c(17, 25-17, 8, 20-8), ncol=2))(给成功的次数和失败);对于fisher.test,换位似乎也不会改变结果。
krlmlr

一个更强大的替代也可用于2×2测试- en.wikipedia.org/wiki/Barnard%27s_test
Hamy

4

与已知的假设相比,两个样本之间存在差异。因此,如果某人掷一枚硬币100次并获得55次正面,并且该假设是一个公平的硬币,而两个人抛掷一枚未知公平性的硬币,而一个人将55枚正面相反,另一枚获得45次正面。在前一种情况下,您只是试图确定挡板是否正在掷出公平的硬币。在后者中,您正在查看它们是否在翻转相同公平性的硬币。您会看到,如果以已知的概率(45对50和55对50)看待每个玩家,与将他们相互比较(45对55)有何不同。


2

的语法binom.test是您与人口估算值相比在多次试验中取得的成功。尽管您将其输入为p = 8/20,但计算结果似乎是上帝给定的绝对真相0.4,其周围零偏差。或好像您正在将玩家A的25场胜利中的17场胜利与玩家B的200亿场游戏中假设的80亿场胜利进行比较。但是,prop.test将具有所有潜在差异的17/25比例与具有其自身差异的8/20比例进行比较。换句话说,方差大约为0.7(估计值为17/25)和方差大约为0.4可能相互渗漏,结果p = 0.06。


因此,这意味着解决原始问题的正确方法是prop.test(c(17,8),c(25,20),correct=FALSE),对吗?
vonjd

1
对,那是正确的。如果你想指导,你是否应该有correct = FALSEVS correct = TRUE,那么我建议您阅读以下stats.stackexchange.com/questions/185433/...
法雷尔

2

首先,我建议您要进行连续性校正,因为您要估计具有连续(卡方)分布的离散分布。

第二,重要的是要清楚如何进行“实验”。每个人玩过的游戏数量是预先确定的(或在行业内,由设计确定)吗?如果是这样,并进一步假设每个玩家的结果彼此独立,则您要处理2个二项分布的乘积。如果取而代之的是游戏数量可以自由变化(例如,每个人玩的游戏数量是变量,基于每个人在固定时间范围内可以完成的游戏数量),那么您就是在处理多项式或泊松分布。

在第二种情况下,卡方检验(或相同的事物,比例差异的z检验)是适当的,但在前一种情况下则不适用。在第一种情况下,您确实需要计算每个参与者每个可能的二项式结果的确切乘积,并对所有出现的等于或小于观察到的结果的联合二项式概率的概率进行求和(简单2个二项式的乘积,因为每个参与者的结果独立于另一个参与者的结果)。

首先要认识到,任何假设检验的主要目的都是要计算与其他所有可能结果相比,您观察到的特定结果有多“稀有”或不寻常。这是通过计算观察到的结果的概率(假设原假设为真的假设)与所有其他相等或较低概率的可能结果相加得出的。

现在,只需再说一遍,我们所说的“多么稀有”就是“观察到的结果与所有其他可能结果相比有多低?” 好吧,我们观察到的特定结果的可能性为0.0679 * 0.0793 = 0.005115。现在考虑一个特定的替代结果:玩家A可能赢得了20场比赛中的7场,而玩家B可能赢得了25场比赛中的13场。此结果的可能性为0.004959。请注意,这比我们观察到的结果的概率低,因此应将其包括在p值中。但是再看一遍:如果您要根据比例差异是否超过观察到的结果比例差异来决定将哪些结果包括在总和中,则将排除此概率!为什么?因为此特定结果的比例差异小于我们观察到的结果的比例差异。但这不是适当的重点-我们必须关注这一特定结果的可能性以及它是否等于或小于我们观察到的结果的可能性!

可以在这里找到对此的良好正式解释:

http://data.princeton.edu/wws509/notes/c5.pdf

请特别注意第9页上的声明:“如果行边距是固定的,并且采样方案是二项式的,那么我们必须使用乘积二项式模型,因为如果没有更多信息,我们将无法估计两个变量的联合分布。”


对于计算与观察到的结果的概率相等或更低的联合二项式概率之和的R代码,请参见以下相关文章的答案: stats.stackexchange.com/questions/213295/…
user221943 '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.