卡方检验是一种以 χ 2 \chi^2 χ2分布为基础的用途广泛的假设检验方法。是一种非参数检验方法。它的无效假设 H 0 H_0 H0为:观察频数与期望频数没有显著性差异。
A test of independence assesses whether unpaired observations on two variables, expressed in a contingency table, are independent of each other
独立性检验评估的是,在一个列联表中,不成对的观测对象中的两个变量是不是相互独立的
以下面的表格为例,我们来探究喝牛奶对感冒发病率有没有影响:
实际值 | 感冒人数 | 未感冒人数 | 合计 | 感冒率 |
---|---|---|---|---|
喝牛奶组 | 43 | 96 | 139 | 30.94% |
不喝牛奶组 | 28 | 84 | 112 | 25.00% |
合计 | 71 | 180 | 251 | 28.29% |
根据无效假设 H 0 H_0 H0,我们假设喝不喝牛奶和感冒与否并没有显著性关系,则人群的感冒率为:
43 + 28 43 + 28 + 96 + 84 = 28.29 % \frac{43 + 28}{43+28+96+84} = 28.29\% 43+28+96+8443+28=28.29%
则对于上述的实验对象,我们能够得到每个格中的期望值
期望值 | 感冒人数 | 未感冒人数 | 合计 | 感冒率 |
---|---|---|---|---|
喝牛奶组 | 139 * (1-0.2829) | 139*0.2829 | 139 | 28.29% |
不喝牛奶组 | 112*(1-0.2829) | 112*0.2829 | 112 | 28.29% |
合计 | 71 | 180 | 251 | 28.29% |
卡方检验就是用来比较实际值与期望值是不是有显著性差异的。如果没有,证明控制变量(喝不喝牛奶)是不会影响因变量(感不感冒)的;有显著性差异,就证明就关系。
(1) χ 2 = ∑ ( A − E ) 2 E = ∑ i = 1 k ( A i − n p i ) 2 n p i \chi^2 = \sum\frac{(A-E)^2}{E} = \sum_{i=1}^k\frac{(A_i-np_i)^2}{np_i} \tag{1} χ2=∑E(A−E)2=i=1∑knpi(Ai−npi)2(1)
其中, A i A_i Ai为单元格 i i i中的观察值, p i p_i pi为单元格 i i i中的在 H 0 H_0 H0假设前提下的概率, k k k为单元格数。
上例中 χ 2 = 1.077 \chi^2 = 1.077 χ2=1.077
根据得到的 χ 2 \chi^2 χ2值,还并不能直接到的p-value。因为卡方分布根据其自由度有所不同,如下图所示:
卡方分布的概率密度函数如下:
(2) f ( x ; k ) = { x ( k / 2 − 1 ) e − x / 2 2 k / 2 Γ ( k 2 ) , x > 0 0 , o t h e r w i s e f(x; k) = \begin{cases} \frac{x^{(k/2-1)}e^{-x/2}}{2^{k/2}\Gamma(\frac{k}{2})}, &\ x > 0\\ 0,&otherwise \end{cases}\tag{2} f(x;k)={2k/2Γ(2k)x(k/2−1)e−x/2,0, x>0otherwise(2)
其中 k k k为自由度。
所以,首先需要计算所研究样本的自由度
(3) k = ( R − 1 ) ( C − 1 ) k = (R -1)(C-1)\tag{3} k=(R−1)(C−1)(3)
其中 R R R为单元格的行数, C C C为单元格的列数。
上述例子中,自由度 k = ( 2 − 1 ) ( 2 − 1 ) = 1 k = (2-1)(2-1) = 1 k=(2−1)(2−1)=1
根据所给定的自由度 k k k以及 χ 2 \chi^2 χ2值,即可计算p-value。
对于得到的p-value,与自己指定的显著性水平作比较(通常将0.05作为显著性水平),如果得到的p-value小于0.05,那我们认为样本所表现出来的结果是小概率事件,则我们有理由拒绝原假设 H 0 H_0 H0;否则,我们需要接受原假设 H 0 H_0 H0。
通常情况下,也可以通过查表得形式来选择接受或者拒绝原假设。
如下表:
我们看到, χ 2 \chi^2 χ2分布在自由度 k = 1 k=1 k=1, p = 0.05 p=0.05 p=0.05时的取值为3.84。我们得到的 χ 2 \chi^2 χ2值1.077,小于3.84,且接近于 p = 0.3 p=0.3 p=0.3时的 χ 2 \chi^2 χ2值1.07,故不能拒绝原假设 H 0 H_0 H0
A test of goodness of fit establishes whether an observed frequency distribution differs from a theoretical distribution
适合度检验展示了一个观察到的频率分布是否与一个理论分布不同。
以掷骰子为例,下表为投掷120次六面骰子的实际观察值:
点数 | 观察值 |
---|---|
1 | 18 |
2 | 19 |
3 | 23 |
4 | 20 |
5 | 16 |
6 | 24 |
我们知道,在正常情况下,掷骰子服从二项分布 X ∼ B ( n , p ) X\sim B(n, p) X∼B(n,p),其数学期望 E [ X ] = n p E[X]=np E[X]=np,方差为 V a r [ X ] = n p ( 1 − p ) Var[X] = np(1-p) Var[X]=np(1−p)。
在进行适合度检验时,我们的原假设 H 0 H_0 H0为观察到的掷骰子结果符合理论上的二项分布(Binomial distribution)。那么,我们就能得到掷骰子的理论值如下表:
点数 | 观察值 |
---|---|
1 | 20 |
2 | 20 |
3 | 20 |
4 | 20 |
5 | 20 |
6 | 20 |
根据公式(1),我们得到
χ 2 = 2.3 \chi^2 = 2.3 χ2=2.3
对于适合度检验,自由度的计算按照以下公式:
k = C − M k = C - M k=C−M
其中, C C C为我们观察到的类别数,此例中为6; M M M为我们要比较的理论分布的参数的个数,此例中为1;因此 k = 5 k = 5 k=5。
通过根据公式(2)或者查表我们能够得到,统计量 χ 2 = 2.3 \chi^2 = 2.3 χ2=2.3所对应的p-value大约为0.8,与显著性水平0.05相差甚远,故我们应该拒绝原假设 H 0 H_0 H0.