机器学习 - 比较检验

列联表

列联表(Contingency Table)是一种用于显示两个或多个分类变量之间关系的表格。它广泛应用于统计学中的分类数据分析,尤其在独立性检验和关联性分析时。列联表的每个单元格展示了相应分类变量组合的频数(或比例)。

列联表的结构

列联表通常呈现为矩阵形式,行和列表示不同的分类变量。例如,一个简单的2x2列联表如下:

变量B的类别1变量B的类别2
变量A的类别1ab
变量A的类别2cd

其中:

  • a, b, c, d分别表示变量A的不同类别与变量B的不同类别组合的频数。

列联表的应用

  1. 卡方检验(Chi-Square Test):用于检验两个分类变量之间是否存在统计显著性的关联。
  2. Fisher精确检验(Fisher’s Exact Test):当样本量较小时,Fisher精确检验比卡方检验更合适。
  3. McNemar检验:用于配对样本的二分类数据,常用于前后对比实验中的数据分析。
  4. 独立性检验:通过分析列联表,确定两个变量是否相互独立。

示例

假设我们有一个关于是否喜欢某种产品的调查,调查结果包括性别和是否喜欢产品两个变量。可以用一个2x2列联表来表示:

性别 \ 喜欢产品
男性3020
女性2525

这个列联表展示了男性和女性分别喜欢和不喜欢产品的频数。

总结

列联表是一种显示两个或多个分类变量之间关系的表格。通过分析列联表中的频数分布,可以了解变量之间的关联性,并进行统计检验。

交叉验证t检验

交叉验证是一种评估机器学习模型性能的方法。它通过将数据集分成若干个子集,反复训练和验证模型来评估其性能稳定性和预测能力。常用的交叉验证方法包括k折交叉验证和留一法。

t检验是一种统计方法,用于比较两组数据的均值是否存在显著差异。常见的t检验类型包括:

  • 独立样本t检验:用于比较两个独立样本的均值。
  • 配对样本t检验:用于比较同一组样本在不同条件下的均值。

交叉验证t检验结合交叉验证与t检验,通过交叉验证评估模型性能,并使用t检验判断性能差异是否显著。交叉验证t检验并不是基于列联表的,它侧重于连续数据的均值比较。

McNemar检验

McNemar检验是一种非参数统计检验,用于比较配对样本的二分类数据,常用于分析前后变化的数据。例如,评估某种治疗方法前后患者症状的改善情况。McNemar检验使用2x2列联表,其中包含两个分类变量的频数分布:

事件B发生事件B不发生
事件A发生ab
事件A不发生cd

McNemar检验通过比较b和c的差异来判断两个分类变量是否具有显著变化。它确实是基于列联表的。

实例与公式

卡方检验

公式
[ \chi^2 = \sum \frac{(O_i - E_i)^2}{E_i} ]

其中,( O_i ) 是观察频数,( E_i ) 是期望频数。

示例

假设我们有一个列联表如下:

喜欢不喜欢
男性3020
女性2525

我们可以使用卡方检验来判断性别和是否喜欢产品之间是否存在关联。

import scipy.stats as stats

# 构建列联表
data = [[30, 20], [25, 25]]

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

print(f"Chi2: {chi2}, p-value: {p}")
McNemar检验

公式
[ \chi^2 = \frac{(b - c)^2}{b + c} ]

示例

假设我们有如下2x2列联表用于McNemar检验:

后者阳性后者阴性
前者阳性105
前者阴性1520

我们可以使用McNemar检验来分析前后情况的变化。

import statsmodels.api as sm

# 构建列联表
data = [[10, 5], [15, 20]]

# 进行McNemar检验
result = sm.stats.mcnemar(data)

print(f"Chi2: {result.statistic}, p-value: {result.pvalue}")

以上代码展示了如何使用Python进行卡方检验和McNemar检验的具体操作。通过这些实例和公式,可以更好地理解这些检验方法的应用和实现。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Violent-Ayang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值