当前位置:首页>python>Python与卡方检验

Python与卡方检验

  • 2026-10-11 07:18:20
Python与卡方检验

视频讲解


何为卡方检验?

卡方检验,是一种针对分类变量的假设检验方法

Python中使用卡方检测函数的返回值介绍

  • n:自由度  n = (行数 - 1)*(列数 - 1)
  • 期望值: 数学期望(平均数)
  • p:p值(取0.05),这个p代表原假设成立的概率p越大,成立概率越大
  • 临界值:如果算出来的卡方值大于临界值,拒绝原假设;如果小于临界值,则接受原假设。

示例1 2x3列联表

组别
A品牌
B品牌
C品牌
合计
男
50
50
50
150
女
50
50
50
150
合计
100
100
100
300

零假设H0: 性别与手机品牌的选择无关

from scipy import statsdata = [[50,50,50],        [50,50,50]]chi2, pval, dof, expctd = stats.chi2_contingency(data)# print(sum(data[0]),sum(data[1]))print('卡方统计量:', chi2)print('p值:', pval)print('自由度:', dof)print('期望值:', expctd)# 与显著性水平比较(α = 0.05)if pval < 0.05:    print(f"P < 0.05,结果显著,拒绝 H0,两个因素不独立(存在关联),犯错误的概率为{pval:.3e}")else:    print(f"P = {pval:.3e} >= 0.05,结果不显著,不拒绝 H0")    print("即:没有足够证据表明两个因素相关,可认为相互独立")

结果:

示例2 2x2列联表

from scipy import statsdata = [[62,40],        [38,60]]chi2, pval, dof, expctd = stats.chi2_contingency(data)# print(sum(data[0]),sum(data[1]))print('卡方统计量:', chi2)print('p值:', pval)print('自由度:', dof)print('期望值:', expctd)# 与显著性水平比较(α = 0.05)if pval < 0.05:    print(f"P < 0.05,结果显著,拒绝 H0,两个因素不独立(存在关联),犯错误的概率为{pval:.3e}")else:    print(f"P = {pval:.3e} >= 0.05,结果不显著,不拒绝 H0")    print("即:没有足够证据表明两个因素相关,可认为相互独立")

结果:

意义

    使用Python代码进行卡方检测独立性检验具有高效便捷的特点,配合判断能够即时了解两个分类变量间的独立性,免去了繁琐的计算步骤。

感谢观看

最新文章

随机文章