【漫话机器学习系列】024.卡方(Chi-Squared)

卡方(Chi-Squared)

卡方(Chi-Squared,记作 \chi^2)是一种统计方法,用于检验两个变量之间是否存在显著的相关性或差异。它通常用于分类数据的分析,广泛应用于特征选择、假设检验以及频率数据分析。


1. 卡方的基本定义

卡方统计量衡量的是实际观测值(Observed Frequency, O)与期望值(Expected Frequency, E)之间的偏差程度。其计算公式为:

\chi^2 = \sum \frac{(O - E)^2}{E}

  • O:实际观测频数。

  • E:期望频数,表示在假设变量独立时,某类别的理论频数,计算公式为:

  • \chi^2 值越大,实际观测值与期望值的偏离越大,说明变量之间的关系越强。


2. 应用场景

  1. 独立性检验:用于检验两个分类变量是否存在相关性,例如客户性别与购买偏好的关系。
  2. 适配度检验:用于检验样本分布是否符合某种理论分布。
  3. 特征选择:在机器学习中,用于评估特征与目标变量的依赖性,筛选重要特征。

3. 卡方检验的假设

  • 原假设(Null Hypothesis, H_0​):两个变量独立(无相关性)。
  • 备择假设(Alternative Hypothesis, H_a:两个变量相关(有相关性)。

通过计算卡方统计量 \chi^2 并与临界值或 p 值比较,可以决定是否拒绝原假设。


4. 卡方检验的步骤

  1. 构造列联表

    • 对两个变量(例如 A 和 B)构造频率分布表。
    • 表中每一项是变量 A 和 B 各类别的联合频数。
  2. 计算期望值

    • 对列联表中的每一项,使用公式 计算期望频数。
  3. 计算卡方统计量

    • 按公式 \chi^2 = \sum \frac{(O - E)^2}{E}​ 计算 \chi^2
  4. 与临界值比较或计算 p 值

    • 根据自由度 df=(行数−1)×(列数−1)查表确定临界值,或者直接比较 p 值与显著性水平 α。

5. 示例

示例 1:独立性检验

假设某商场调查了顾客性别(男性、女性)和购买偏好(喜欢、不喜欢)的关系,数据如下:

喜欢不喜欢总计
男性503080
女性205070
总计7080150

计算卡方统计量:

  1. 计算期望值:

  2. 计算 \chi^2

    \chi^2 = \sum \frac{(O - E)^2}{E} = \frac{(50 - 37.33)^2}{37.33} + \frac{(30 - 42.67)^2}{42.67} + ...
  3. 比较 \chi^2 值与临界值,判断是否拒绝原假设。


6. 优点和局限性

优点
  1. 计算简单:只需要频率信息即可进行分析。
  2. 适用范围广:适合离散型数据。
  3. 无需分布假设:卡方检验不依赖于数据服从特定分布。
局限性
  1. 对样本大小敏感:样本过小会导致期望值偏低,从而影响结果。
  2. 仅适用于分类变量:不适用于连续型数据。
  3. 无法度量强度:卡方检验只告诉我们是否相关,但无法量化相关性的强弱。

7. Python 实现

示例代码
import numpy as np
import pandas as pd
from scipy.stats import chi2_contingency

# 构造列联表
data = np.array([[50, 30], [20, 50]])
df = pd.DataFrame(data, columns=["喜欢", "不喜欢"], index=["男性", "女性"])

# 进行卡方检验
chi2, p, dof, expected = chi2_contingency(data)

# 输出结果
print(f"卡方统计量: {chi2}")
print(f"p值: {p}")
print(f"自由度: {dof}")
print("期望频数:\n", expected)

输出
卡方统计量: 15.930923150510196
p值: 6.56965595634466e-05
自由度: 1
期望频数:
 [[37.33333333 42.66666667]
 [32.66666667 37.33333333]]


8. 应用场景

  1. 特征选择

    • 通过卡方值筛选与目标变量依赖性较强的特征(例如文本分类任务中的单词筛选)。
  2. 市场调查

    • 判断客户属性(性别、年龄)与行为(购买、退货)的关系。
  3. 医学研究

    • 评估某种治疗方法对不同人群的效果。

9. 总结

卡方检验是统计学中重要的工具,用于分析离散型数据的相关性或独立性。在数据分析和机器学习中,它被广泛用于特征选择和频率数据的分析。尽管存在一些局限性,但结合其他统计方法,卡方检验能有效提升分析的准确性和效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值