为什么我们使用卡方检验来检验 2 个分类变量的独立性?

机器算法验证 假设检验 统计学意义 卡方检验 p 值 独立
2022-03-27 13:25:59

我有时使用卡方检验来检验分类变量的独立性。我知道如何进行测试,但不知道基本概念和细节。

所以,我想知道以下几点:

  1. 卡方究竟是什么?
  2. 为什么它可以测试变量的独立性?
  3. 为什么我们说如果 p 值小于 0.01 / 0.05 我们拒绝原假设?
3个回答

与其问为什么卡方检验评估独立性,不如想想如何检验两个分类变量与独立性零假设的关联。为简单起见,考虑两个变量/属性 A 和 B,每个都有两个级别,“是”和“否”。一组 N 个单元,每个单元都具有这些属性的某种组合。例如,A 可能是肺癌,B 可能是接触氡,单位可能是人/患者。这些数字可能如下所示:

table = as.table(rbind(c(1,2),
                       c(3,4) ))
names(dimnames(table)) = c("lung.cancer", "radon")
rownames(table) = c("yes", "no")
colnames(table) = c("no", "yes")
table
#            radon
# lung.cancer no yes
#         yes  1   2
#         no   3   4

现在,我们要测试这些变量的独立性;我们所说的“独立”是什么意思?我们对测试任何比例是否有任何特定值不感兴趣。我们想知道在特定列中是否与在特定行中相关联。如果行和列是独立的,则对患者所在列的了解无法提供有关他们所在行的信息。

我们在这项研究中的患者总数为这些观察结果将如何分布在空值下(即,如果变量是独立的)?好吧,暴露于氡的概率是,患肺癌的概率是,所以从基本概率我们知道概率暴露于氡而患肺癌的概率为,未暴露于氡而患肺癌的概率为等。获得预期计数N=10Pr(R=yes)Pr(LC=yes)Pr(R=yes)Pr(LC=yes)(1Pr(R=yes))Pr(LC=yes),我们可以将这些概率乘以 N。这里的一个问题是我们不知道人们接触氡气或患肺癌的概率。我们可以根据我们的数据将这些概率估计为暴露于氡气/患有肺癌的人数除以总数。因此,我们可以估计组件概率,并最终估计空值下的预期计数。

ex = chisq.test(table)$expected; ex
#             radon
# lung.cancer  no yes
#         yes 1.2 1.8
#         no  2.8 4.2

当我们尝试将我们观察到的计数与我们刚刚计算的预期计数进行比较时,我们会遇到两个问题。首先是差异总和为0

table-ex
#             radon
# lung.cancer   no  yes
#         yes -0.2  0.2
#         no   0.2 -0.2

为了解决这个问题,我们可以将差平方和平方和。第二个问题是差异(或它们的平方)的大小将随着预期计数的函数而增加。我们可以通过将每个平方差除以预期计数来解决这个问题。

所以现在我们有一个非常简单、直观的方法来测试变量是否独立。但是请注意,我们刚刚重新创建了Pearson 的卡方检验统计量 我们现在需要知道的是如何检验统计信息应分布在空值下。事实证明,它自由度上分布为卡方是行数,是列数。(实际上,这并不完全是因为卡方分布可以取任何非负实数值,而检验统计量只能取

χ2=(OE)2E
(r1)(c1)rcN是有限的;这个事实导致了一些额外的复杂性,我不会在这里讨论。)


以上应涵盖问题12对于问题3,阅读这篇优秀的 CV 线程可能会对您有所帮助:统计测试中 p 值和 t 值的含义是什么? 要回答您关于的明确问题,这些数字是完全任意的,并且来自传统。据我所知,它们的确切起源笼罩在时间的迷雾中。 .05.01

χ12是随机变量的分布,其中X2XN(0,1)

在两个分类变量的独立性测试中,实际计数从预期计数中减去,并通过除以预期计数进行归一化。平方非常有用,因为我们对差异的方向(相对于预期计数的正或负)不感兴趣,而是对绝对值的大小感兴趣。绝对值很尴尬,平方也有同样的作用,而且它正好χ2

接下来,我们将每个单元格的这些平方归一化差异相加以产生统计量:这在某些最小条件下将遵循分布。 . 将被计算为我们正在运行“综合”测试,通过将每个单元格中的平方差加在一起来评估与预期的总体偏差,并跟踪自由度。χ2i=1n(Observed - Expected)2Expectedχ2deg. of freedom(no.rows - 1)×(no.cols - 1)

在独立性测试中,边距被认为是固定的,并且单元格预期计数以两个边距为条件。

Alan Agresti 在分类数据分析(第二版)的第 65 页上有一个很好的例子,它基于从人群中抽样夫妇,并评估妻子的性满足是否独立于丈夫的性满足 - 直觉会推断幸福的夫妻将反映在对夫妻双方满意度的类似评估中。每对是一个观察单元,每个单元记录两个分类变量。这些概念有点微妙,但对于区分独立性测试和同质性测试很重要。我试着在这里总结它们。

列表数据如下:

           husband
wife        Never Sometimes Often Always Sum
  Never         7         7     2      3  19
  Sometimes     2         8     3      7  20
  Often         1         5     4      9  19
  Always        2         8     9     14  33
  Sum          12        28    18     33  91

运行独立性卡方检验将产生:

chisq.test(sex_satis, correct = T)
##  Pearson's Chi-squared test
## 
## data:  sex_satis
## X-squared = 16.955, df = 9, p-value = 0.04942

这意味着在原假设(即夫妻满意度之间的独立性)下(正好),对于许多研究来说,这是足以拒绝 - 事实上,在这种情况下,常识的直觉被数据再次证实。16.955%0.049H0

现在这应该回答了这个问题,但我想把关于边缘调节的观点联系起来。因为我们不知道总体中的比例,所以我们根据样本进行估计,我们得出在独立性的原假设下,“从不/从不”的期望值是妻子“从不”经历的概率满意度()乘以(独立于)丈夫“从不”体验快乐的概率()。基于此结果概率,将通过乘以病例总数 ( ) 来找到小区中的预期频率。19/9112/9191

p值的阈值通常设置为0.05,可以追溯到统计的开始。如果你想更保守一点,当然可以使用 p<0.01。它只是表明独立性的原假设不太可能,因此导致对原假设的合理拒绝。

下面的一个例子是从https://www.icalcu.com/stat/chisqtest.html借来的

“在一次期末考试中,5个女孩和6个男孩得了A,7个女孩和8个男孩得了A-,8个女孩和7个男孩得了B,6个女孩和5个男孩得了B-。为了测试性别和期末考试成绩是独立的,我们将在上面的第一行输入“5 7 8 6”给女孩,在上面的第二行输入“6 8 7 5”给男孩。我们得到一个自由度为3的卡方值为0.3151515,相关p值为0.9571542。由于p>0.05,我们不能拒绝性别和期末考试成绩独立的原假设。