作者简介:热爱数据分析,学习Python、Stata、SPSS等统计语言的小高同学~
个人主页:小高要坚强的博客
当前专栏:Python之机器学习
本文内容:卡方检验及其在Python中的应用
作者“三要”格言:要坚强、要努力、要学习
目录
2. 使用 SquareTable 和 mcnemar 类进行分析
卡方检验(Chi-Square Test)是统计学中一种用于比较分类变量的显著性检验方法。本文将介绍卡方检验的基本原理、主要用途及其在Python中的实现。
一、卡方检验的基本原理
卡方检验的核心思想是检验观察频数与期望频数之间的差异。其零假设(H0)通常为“观察频数与期望频数没有显著差别”。通过计算卡方统计量,可以判断两组分类变量是否独立。
卡方统计量的计算
卡方统计量的计算公式为:
其中,O为实际观察频数,E为期望频数。当观察频数与期望频数完全一致时,卡方值为0;随着差异增大,卡方值也会增大。卡方值的大小还与自由度有关。
二、卡方检验的主要用途
1. 两个率或两个构成比比较的卡方检验
用途说明
当我们需要比较两个不同组别的比例或构成比时,卡方检验提供了一种有效的方法。例如,可以用于比较不同性别的疾病发病率、不同地区的购车率等。
应用示例
假设我们想比较男性和女性在某种疾病的发病率。我们可以收集如下数据:
通过卡方检验,我们可以评估男性和女性的患病率是否存在显著差异。Python执行代码如下:
import pandas as pd
import statsmodels.stats.contingency_tables as tbl
# 创建数据
data = pd.DataFrame({
'性别': ['男性', '女性'],
'患病人数': [30, 20],
'未患病人数': [70, 80] # 总人数 - 患病人数
})
# 创建交叉表
cross_tab = pd.crosstab(data['性别'], [data['患病人数'], data['未患病人数']])
print("交叉表:")
print(cross_tab)
#