卡方检验笔记 | 您所在的位置:网站首页 › 检验功效公式 › 卡方检验笔记 |
文章目录
一、定义二、用途三、公式四、案例4.1 手工统计4.2 python统计4.3 SPSS统计
一、定义
卡方检验属于非参数检验,由于非参检验不存在具体参数和总体正态分布的假设,所以有时被称为自由分布检验。原假设
H
0
H_{0}
H0:观察频数与期望频数没有显著性差异
二、用途
检验某个连续变量的分布是否与某种理论分布相一致。例如是否符合正态分布,均匀分布,Poisson(泊松)分布检验某个分类变量的各类的概率是否等于指定概率检验某两个分类变量是否 相互独立检测两种方法的检测结果是否一致检测控制某种或某几种的变量后,另外两个分类变量是否相互独立。
三、公式
χ 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}} χ2=∑E(A−E)2=i=1∑knpi(Ai−npi)2 其中: A i A_{i} Ai为单元格 i i i 中的观察值, p i p_{i} pi为单元格 i i i 中的在 H 0 H_{0} H0假设前提下的概率, k k k 为单元格数. 四、案例 案例来源:统计学——卡方检验和卡方分布 感冒人数未感冒人数合计感冒率喝牛奶组439613930.94%不喝牛奶组288411225.00%合计7118025128.29% 4.1 手工统计 提出假设:喝牛奶对感冒发病率是没有影响从表得知整体感冒率为28.29%,那么根据原假设(喝牛奶和患上感冒是独立无关的),反推出理论上的感冒人数: 感冒人数未感冒人数合计喝牛奶组=139*0.2829=139*(1-0.2829)139不喝牛奶组=112*0.2829=112*(1-0.2829)112如果喝牛奶和感冒真的是独立无关的,那么理论值和实际值差别应该会很小。 根据卡方检验的公式,计算得:χ 2 = ( 43 − 139 ∗ 0.2829 ) 2 139 ∗ 0.2829 + ( 28 − 112 ∗ 0.2829 ) 2 112 ∗ 0.2829 + [ 96 − 139 ∗ ( 1 − 0.2829 ) ] 2 139 ∗ ( 1 − 0.2829 ) + [ 84 − 112 ∗ ( 1 − 0.2829 ) ] 2 112 ∗ ( 1 − 0.2829 ) = 1.077 \begin{aligned} &\chi^2 = \frac{ (43 - 139*0.2829)^2}{139*0.2829} + \frac{ (28 - 112*0.2829)^2}{112*0.2829} + \frac{ [96 - 139*(1 - 0.2829)]^2}{139*(1 - 0.2829)} + \frac{ [84 - 112*(1 - 0.2829)]^2}{112*(1 - 0.2829)} \\ \\ &= 1.077 \end{aligned} χ2=139∗0.2829(43−139∗0.2829)2+112∗0.2829(28−112∗0.2829)2+139∗(1−0.2829)[96−139∗(1−0.2829)]2+112∗(1−0.2829)[84−112∗(1−0.2829)]2=1.077 查询卡方分布临界值:统计分布临界值表上述例子中,自由度 k = ( 2 − 1 ) ∗ ( 2 − 1 ) = 1 k=(2-1)*(2-1)=1 k=(2−1)∗(2−1)=1;【自由度 = (行数-1)*(列数-1)】 我们看到, χ 2 \chi^2 χ2分布在自由度 k = 1 , p = 0.05 k = 1,p=0.05 k=1,p=0.05时的取值为3.84。 我们计算得到的 χ 2 \chi^2 χ2值1.077,小于3.84,故不能拒绝原假设H0 ,即喝牛奶对感冒发病率没有影响(即喝牛奶与感冒无关) 4.2 python统计 from scipy.stats import chi2_contingency # 构建一个 2x2 的列联表数据 obs = [[43, 96], [28, 84]] # 执行卡方检验, # correction 如果设置为 True,则应用 Yates 的连续性校正(Yates' continuity correction),以弥补数据过于稀疏时可能导致的偏差;如果设置为 False,则不使用该校正。 chi2, p_value, dof, expected_freq = chi2_contingency(obs,correction=False) # 输出结果 print("卡方值:", chi2) print("P 值:", p_value) print("自由度:", dof) print("期望频率:", expected_freq) 可以看出结果与上文一致 4.3 SPSS统计参考:数据分析之卡方检验 步骤1:导入数据 步骤2:数据加权处理 步骤3:交叉表分析选项都勾选好之后,点击确定,即得到以下结果: 可以得到卡方值为1.077,p值为0.299,与上文一致。 |
CopyRight 2018-2019 实验室设备网 版权所有 |