【4.2.2】卡方检验法 (chi-square test,拟合优度检验)

通过前面两章的学习,我们知道可以采用t检验比较两 个样本均数的差别是否有统计学意义,可以采用F检验多个 样本均数之间的差别是否有统计学意义。在医学研究中,还 常需对比两组或多组定性变量资料之间的差别,例如比较两 种或多种治疗方法的治愈率是否不同。该怎么办?

卡方检验是专用于解决计数数据统计分析的假设检验法。本章主要介绍卡方检验的两个应用:拟合性检验独立性检验

  • 拟合性检验是用于分析实际次数与理论次数是否相同,适用于单个因素分类的计数数据。
  • 独立性检验用于分析各有多项分类的两个或两个以上的因素之间是否有关联或是否独立的问题。

在计数数据进行统计分析时要特别注意取样的代表性。我们知道,统计分析就是依据样本所提供的信息,正确推论总体的情况。在这一过程中,最根本的一环是确保样本的代表性及对实验的良好控制。在心理与教育研究中,所搜集到的有些数据属于定性资料,它们常常是通过调查、访问或问卷获得,除了少数实验可以事先计划外,大部分收集数据的过程是难于控制的。例如,某研究者关于某项教育措施的问卷调查,由于有一部分教师和学生对该项措施存有意见,或对问卷本身有偏见,根本就不填写问卷。这样该研究所能收回的问卷只能代表一部分观点,所以它是一个有偏样本,若据此对总体进行推论,就会产生一定的偏差,势必不能真实地反映出教师与学生对这项教育措施的意见。因此应用计数资料进行统计推断时,要特别小心谨慎,防止样本的偏倚性,只有具有代表性的样本才能作出正确的推论。

一、独立样本四格表资料的χ2检验

1.1 χ2检验的基本思想

表 8­1 两种药物治疗消化道溃疡 4 周后疗效

处理 愈合 未愈合 合计 愈合率(%)
洛赛克 64((57.84) 21(27.16 ) 85 75.29
雷尼替丁 51(57.16) 33(26.84) 84 60.71
合计 115 54 169 68.05

χ2 = ∑ (A-T)2 /T = (64-57.84)2 /57.84 + (21-27.16)2 /27.16 + (51-57.16)2 /57.16 + (33-26.84)2 /26.84 = 4.13

1.2 2×2列联表χ2检验的基本步骤

1.建立检验假设,确定检验水准

H0: π1 = π2 ,即两种药物治疗消化道溃疡的愈合率相同 H1: π1 = π2 ,即两种药物治疗消化道溃疡的愈合率不同
α = 0.05

2.计算统计量

χ2 = ∑ (A-T)2 /T = (64-57.84)2 /57.84 + (21-27.16)2 /27.16 + (51-57.16)2 /57.16 + (33-26.84)2 /26.84 = 4.13

  1. 确定P值,做出推断
  • 自由度为ν=(行数―1)×(列数―1)
  • 按自由度等于1 , 检验水准等于0.05, 查附表8,得c20.05, 1 = 3.84。 本例c2= 4.13,可知P<0.05。在α=0.05水平上拒绝H0,两样本频 率的差异具有统计学意义。
  • 因为洛赛克的样本愈合率为75.29%,雷尼替丁的愈合率为 60.71%,可以认为洛赛克的愈合率比雷尼替丁的愈合率高。

1.3 2×2列联表χ2检验的专用公式

$$ χ^{2} = \frac{ (ad-bc)^{2} n}{(a+b)(c+d)(a+c)(b+d)} $$

2x2 列联表χ2检验的校正公式

$$ χ^{2} = \sum \frac{(|A-T|-0.5)^{2}}{T}$$

$$ χ^{2} = \frac{(|ad-bc|-n/2)^{2} n}{(a+b)(c+d)(a+c)(b+d)} $$

2×2列联表χ2检验的注意事项

  1. χ2校正公式仅用于四格表资料,对多组样本分布,一般不作校正。
  2. 当n<40或T<1时,校正χ2值也不恰当,这时可以用Fisher确切概率法 检验。
  3. 两组疗效对比的必要前提之一,是两组患者“病情相似”,这一点 非常重要,只有在两组对象其他方面“同质”的前提下才能比较两个频 率,才能进行列联表的χ2检验。

二、多个独立样本R×C列联表资料的χ2检验

2.1 频率的比较

2.2 独立样本频率的比较

2.3 R×C列联表χ2检验注意事项

R×C列联表χ2检验要求理论频数不宜太小,不宜有1/5以上格子的 理论频数小于5,也不宜有一个理论频数小于1,否则有可能产生 偏性。如果出现理论频数不满足此要求,可考虑选择如下方法处理:

  1. 增加样本含量;
  2. 结合专业知识将该格所在行或列与别的行或列合并;
  3. Fisher确切概率法,借助软件实现

卡方检验应用于计数数据的分析,对于总体的分布不作任何假设,因此它又是非参数检验法中的一种。它由统计学家皮尔逊推导。理论证明,实际观察次数(fo)与理论次数(fe,又称期望次数)之差的平方再除以理论次数所得的统计量,近似服从卡方分布,可表示为:

x2=∑(fo-fe)2/fe

这是卡方检验的原始公式,其中当fe越大(fe≥5),近似得越好。显然fo与fe相差越大,卡方值就越大;fo与fe相差越小,卡方值就越小;因此它能够用来表示fo与fe相差的程度。

根据这个公式,可认为卡方检验的一般问题是要检验名义型变量的实际观测次数和理论次数分布之间是否存在显著差异。它主要应用于两种情况: 卡方检验能检验单个多项分类名义型变量各分类间的实际观测次数与理论次数之间是否一致的问题,这里的观测次数是根据样本数据得多的实计数,理论次数则是根据理论或经验得到的期望次数。这一类检验称为拟合性检验。

拟合性检验的零假设是观测次数与理论次数之间无差异。其中理论次数的计算一般是根据某种理论,按一定的概率通过样本即实际观测次数来计算。这里所说的某种理论,可能是经验规律,也可能是理论分布。确定理论次数是卡方检验的关键。

拟合性检验自由度的确定与两个因素有关:一是分类的项数,二是在计算理论次数时 所用统计量或约束条件的个数,这两者之差即为自由度。由于一般情况下,计算理论次数时只用到“总数”这一统计量,所以自由度一般是分类的项数减1。但在对连续数据分布的合度检验中,常常会用数据个数、平均数、标准差等统计量来计算理论次数,所以此时的自由度应从总分类项中减去更多的个数。按照检验中理论次数的定义不同,拟合性检验有以下集中应用。

检验无差假设 所谓无差假设,是指各项分类的实计数之间没有差异,也就是说各项分类之间的概率相等(均匀分布),因此理论次数完全按概率相等的条件来计算。即任一项的理论次数都等于总数/分类项数。因此自由度也就等于分类项数减1。

例1:随机地将麻将色子抛掷300次,检验该色子的六个面是否均匀。结果1-6点向上的次数依次是,43,49,56,45,66,41。

解:每个类的理论次数是 300/6 = 50,代入公式:

x2=∑(fo-fe)2/fe=(43-50)2/50+……+(41-50)2/50=8.96< x20.05(5)=11.1 因此,在0.05的显著性水平下,可以说这个色子的六面是均匀的。

例2:随机抽取60名高一学生,问他们文理要不要分科,回答赞成的39人,反对的21人,问对分科的意见是否有显著的差异。

解:如果没有显著的差异,则赞成与反对的各占一半,因此是一个无差假设的检验,于 是理论次数为60/2=30,代入公式: x2=∑(fo-fe)2/fe=(39-30)2/30+……+(21-30)2/30=5.4> x20.05(1)=3.84 所以对于文理分科,学生们的态度是有显著的差异的。

检验假设分布的概率

例3:在英语四级考试中,某学生做对了80个四择一选择题中的28题,现在要判断该 生是完全凭猜测做题。

解:假如该生完全凭猜测做题,那么平均而言每道题做对的可能性是1/4,因此80个题中平均而能做对80/4=20题,代入公式有: x2=∑(fo-fe)2/fe=(28-20)2/20+……+(52-60)2/60=4.27> x20.05(1)=3.84 因此,该生可能会做一些题。

三、配对设计资料的χ2检验

1.1 基本思想

$$ χ^{2} = \sum \frac{(A-T)^{2}}{T} = \frac {(b-\frac{b+c}{2})^{2}} { \frac {b+c}{2}} + \frac {(c-\frac{b+c}{2})^{2}} { \frac {b+c}{2}} = \frac {(b-c)^{2}}{b+c}$$

计算公式的矫正:

$$ χ^{2} = \sum (\frac{|A-T|-0.5}{T})^{2} = \frac {( |b-\frac{b+c}{2}|-0.5 )^{2}} { \frac {b+c}{2}} + \frac {( |c-\frac{b+c}{2}|-0.5 )^{2}} { \frac {b+c}{2}} = \frac {(|b-c|-1)^{2}}{b+c}$$

1.2 χ2值的计算

$$ χ^{2} = \frac {(b-c)^{2}}{b+c} = \frac {(10-31)^{2}}{10+31} = 10.76 $$

1.3 配对R×R列联表资料的χ2检验

四、列联表资料的确切概率法

在各个研究领域中,有些研究问题只能划分为不同性质的类别,各类别没有量的联系。例如,性别分男女,职业分为公务员、教师、工人、……,教师职称又分为教授、副教授、……。有时虽有量的关系,因研究需要将其按一定的标准分为不同的类别,例如,学习成绩、能力水平、态度等都是连续数据,只是研究者依一定标准将其划分为优良中差,喜欢与不喜欢等少数几个等级。

对这些非连续等距性数据,要判别这些分类间的差异或者多个变量间的相关性方法称为计数数据统计方法。

卡方检验还可以用于检验两个或两个以上因素(各有两项或以上的分类)之间是否相互影响的问题,这种检验称为独立性检验。例如要讨论血型与性格的关系,血型有A、B、AB、O四类,性格采用心理学上的A型性格来划分,即有A型和B型两种,每个人可能是它们之间交叉所形成的8种类型中的一种,那么倒底它们之间有不有关系,就可以用卡方独立性检验。

卡方独立性检验用于检验两个或两个以上因素(各有两项或以上的分类)之间是否相互影响的问题。所谓独立,即无关联,互不影响,就意味着一个因素各个分类之间的比例关系,在另一个因素的各项分类下都是相同的,比如在血型与性格关系中,如果A型性格人群中各血型的比例关系,与B型性格人群中各血型的比例关系相同,就可能说血型与性格相互独立,当然这里的“两者比例相同”在统计的意义下,应表述为“两比例差异不超过误差范围”,因为就算总体之间相互独立,收集到两个比例完全相同的样本的可能是很小很小的,甚至是不可能的。相反,若一个因素各个分类之间的比例关系,在另一个因素的各项分类下是不同的,则它们之间相关。假如A型性格中A型血的比例高于B型性格中A型血的比例,而且达到显著水平,那么就可以说血型与性格之间相关,不相互独立。

卡方独立性检验的零假设是各因素之间相互独立。因此理论次数的计算也是基于这一假设,具体计算时,采用列联表的方式,后面将举例说明。

例1:某校对学生课外活动内容进行调查,结果整理成下表,表中彩色格子里的数是原始数据的汇总数,括号内的数是理论次数(是按下面将要介绍的原理计算得来的),此外的是原始数据。

性别

(因素2)

课外活动内容(因素1) 小计和(fx)
体育 文娱 阅读
男生 21(15.3) 11(10.2) 23(29.5) 55
女生 6(11.7) 7(7.8) 29(22.5) 42
小计和(fy) 27 18 52 97
由于所有学生参加三项活动的比例是27:18:52,因此如果课外活动的选择与性别没有关系的话,男女生参加这三项活动的比例也应是这同一比例,而男女各自的人数可以计算,所以每格内的理论次数的计算方法如下:

男生中 参加体育活动的理论人数:55×27/97=15.3 参加文娱活动的理论人数:55×18/97=10.2 参加阅读活动的理论人数:55×52/97=29.5 女生中 参加体育活动的理论人数:42×27/97=11.7 参加文娱活动的理论人数:42×18/97= 7.8 参加阅读活动的理论人数:42×52/97=22.5 我们将行列的小计和分别用fx 和 fy 来表示,总人数用 N 来表示时,上述计算理论 次数的方法可以表示为: feij = fxi× fyj/N

所以,卡方独立性检验的公式可以表示如下,其中最后一个式子比较便于计算,fxy 表示每格的原始数据。

x2=∑(fo-fe)2/fe=∑(fxy-fxfy/N)2/(fxfy/N)= N(∑∑fxy2/fxfy-1)

由于在计算理论次数时,用了按每个因素分类的小计和(fx 和 fy,其个数分别记为R 个和 C 个),和总和 N ,而总和又可由按每个因素分类的小计和计算得来,因此若从总分类个数R×C中减去 R+C,则将总和重复减去了,因此要补 1 个自由度回来,所以最终独立性检验的自由度表示为:

df=R*C-R-C+1=(R-1)(N-1)

上述例题最终计算得:

X2=(21-15.3)2/15.3+……+(29-22.5)2/22.5=8.355 df = (3-1)(2-1) = 2,而χ20.05(2) = 5.99,所以在0.05的显著性水平下,拒绝零假设,即可 以认为性别与课外活动内容有关联,或者说男女生在选择课外活动上存在显著的差异。

五、χ2检验用于拟合优度检验

随机抽取了某地12岁男孩120名,测其身高如下:

128.1 144.4 150.3 146.2 140.6 139.7 134.1 124.3 147.9 126.0 125.6 127.7 154.4 142.7 141.2 133.4 131.0 125.4 ........................... 127.4 146.0 155.8 141.2 146.4 139.4 140.8 127.7 150.7 138.9 123.1 126.0 150.0 143.7 156.9 133.1 142.8 136.8

试检验当地12岁男孩的身高是否服从正态分布?

拟合优度χ2检验注意事项

  • 每组中的理论频数不小于5,否则需要合并组段
  • 合并后样本含量仍不大,则应进行连续性校正

$$ χ^{2} = \sum \frac{(|A-T|-0.5)^{2}}{T}$$

五、R代码的实现

chisq.test()

ps:

现在理解了卡方怎么用,但是他是怎么跟卡方分布联系起来的呢??

参考资料

药企,独角兽,苏州。团队长期招人,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn