分类变量的卡方检验(python实现&SPSS实现)

卡方介绍

卡方检验是针对自变量和因变量都是分类数据,也就是说带有属性的数据;而单因素方差分析是自变量是分类数据,因变量是连续型的数据。还有一点:方差分析是参数检验,而卡方检验是属于非参数检验。

卡方检验是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小:卡方值越大,偏差越大,越趋于不符合;卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就为0,表明理论值完全符合。

案例介绍

本次实验是研究聚类结果和标签DR的关系,即检验我们的聚类有没有意义。标签是0、1区分,聚类是0、1、2区分的
在这里插入图片描述
首先我们需要检查他们的交叉表,即
在这里插入图片描述

然后我们通过这个表看不出聚类结果的簇间患病差异性大小,因此采用卡方检验,首先做出假设:
在这里插入图片描述
然后计算理论值:
示例:比如cluster0&DR=0的理论值是:sum(cluster0)*sum(DR=0)/总数
在这里插入图片描述
然后通过卡方的公式:
在这里插入图片描述
A是实际值,T是理论值,

再计算卡方的 自由度 v:

						v=(行数-1)(列数-1)=(2-1)(3-1) = 2

最后根据计算结果查表即可。
在这里插入图片描述
卡方临界值 为 (一般取 p=0.05),因此对应表中的结果是5.99,我们的程序结果:
在这里插入图片描述

22.6>5.99,因此拒绝0假设,即两个因素之间存在联系。

python实现

程序示例如下:

# -*- encoding: utf-8 -*-
"""
@Modify Time    2021/6/26 15:44  
@Author         Tunan
@Filename       test1.py
@Desciption
                  
"""
from scipy.stats import chi2_contingency


class CHISQUARE:
    def __init__(self, d0, d1):
        self.d0 = d0
        self.d1 = d1

    def get_tabel(self):
        dd0 = []
        dd1 = []
        y0 = 
  • 1
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值