返回顶部
首页 > 资讯 > 后端开发 > Python >【Python】卡方检验
  • 109
分享到

【Python】卡方检验

人工智能Poweredby金山文档 2023-09-06 18:09:53 109人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

卡方检验是一种用途很广的计数资料的假设检验方法,属于非参数检验范畴。这种检验方法主要用于推断两个总体率之间有无差别、多个总体率之间有无差别、多个样本率之间的多重比较、两个分类变量之间有无关联性和频数分布拟合优度的检验等

卡方检验是一种用途很广的计数资料的假设检验方法,属于非参数检验范畴。这种检验方法主要用于推断两个总体率之间有无差别、多个总体率之间有无差别、多个样本率之间的多重比较、两个分类变量之间有无关联性和频数分布拟合优度的检验等。

卡方检验的𝐻0是:实际频数与理论频数没有差别。该检验的基本思想是:假设𝐻0成立,基于此前提计算出𝜒2值,它表示观察值与理论值之间的偏离程度。根据𝜒2分布及自由度可以确定在𝐻0成立的情况下获得当前统计量及更极端情况下的概率P。如果P值很小,说明观察值与理论值偏离程度太大,应当拒绝𝐻0,表示资料之间有显著性差异。否则就不能拒绝𝐻0,尚不能认为样本所代表的实际情况和理论假设有差别。

在实际工作中,对于四格表资料,通常规定:

  1. 𝑛≥40且所有的𝑇≥5时,用卡方检验的基本公式;当𝑃≈𝛼时,改用四格表的Fisher确切概率法。

  1. 𝑛≥40但又1≤𝑇≤5时,用四格表资料卡方检验的校正公式。或改用四格表资料的Fisher确切概率法。

  1. 𝑛<40𝑇<1时,用四格表资料的Fisher确切概率法。

  • 基本的卡方检验:stats.chi2_contingency(data,correction=False)

  • 使用Yates校正的卡方检验:stats.chi2_contingency(data,correction=True)

  • Fisher确切概率法:stats.fisher_exact(data,alternative='two-sided')

  • 配对卡方检验(McNemar检验):tbl.mcnemar(data)

1. 基本的卡方检验

某研究者欲比较膳食干预(实验组)和普通健康教育(对照组)对糖尿病患者血糖的控制达标情况,将171例糖尿病患者随机分为两组,干预6个月后结果如下。问两组控制空腹血糖的总体达标率有无差别?

import numpy as npfrom scipy import statsbg=np.array([[30,56],[43,42]])stats.chi2_contingency(bg,correction=False)#参数correction默认为True,表示对数据进行Yates校正。

(4.309367914097781,

0.03790304243911501,

1,

array([[36.71345029, 49.28654971],

[36.28654971, 48.71345029]]))

P=0.038<0.05,可以认为膳食干预组的空腹血糖达标率高于普通健康教育组。

bg_t=np.ones((2,2))for i in [0,1]:    for j in [0,1]:        bg_t[i,j]=bg[i].sum()*bg[:,j].sum()/bg.sum()        ((bg-bg_t)**2/bg_t).sum()

2. 使用Yates校正的卡方检验

某医师欲比较胞磷胆碱与神经节苷脂治疗脑血管疾病的疗效,将78例脑血管疾病患者随机分为两组,结果如下。问两种药物治疗脑血管疾病的有效率是否相等。

data=np.array([[46,6],[18,8]])stats.chi2_contingency(data,correction=True)

(3.144810267857143,

0.07616885892288706,

1,

array([[42.66666667, 9.33333333],

[21.33333333, 4.66666667]]))

P=0.076>0.05,还不能认为两种药物治疗脑血管疾病的有效率不等。

3. Fisher确切概率法

某医师为研究乙肝免疫球蛋白预防胎儿宫内感染HBV的效果,将33例乙肝表面抗原(HBsAg)阳性孕妇随机分为预防注射组和非预防组,结果如下。问两组新生儿的HBV总体感染率有无差别。

data=np.array([[4,18],[5,6]])oddsr,p=stats.fisher_exact(data,alternative='two-sided')#参数alternative有三个值,'two-sided'表示双侧检验,'less'和'greater'表示单侧检验。# fisher_exact()返回两个值:优势比和p值。p

0.12104475057756482

P=0.121>0.05,

还不能认为预防注射与非预防组的新生儿HBV感染率不等。

4. 配对卡方检验(McNemar检验)

某实验室分别用乳胶凝集法和免疫荧光法对58例可疑系统性红斑狼疮患者血清中抗核抗体进行测定,结果如下。问两种方法的检测结果有无差别。

import statsmodels.stats.contingency_tables as tbldata=np.array([[11,12],[2,33]])result=tbl.mcnemar(data)print(result)

pvalue 0.012939453125

statistic 2.0

P=0.0129<0.05,可以认为两种方法的检测结果不同。

5. 卡方分布

卡方分布:n个独立分布(标准正态分布)的变量的平方和服从自由度为n的卡方分布。

即n个独立的标准正态随机变量的总和Y服从具有n个自由度的卡方分布。

import matplotlib.pyplot as pltx1=np.random.nORMal(0,1,1000000)x2=np.random.normal(0,1,1000000)x3=np.random.normal(0,1,1000000)x4=np.random.normal(0,1,1000000)x5=np.random.normal(0,1,1000000)x6=np.random.normal(0,1,1000000)q1=x1**2    # n=1q2=q1+x2**2 # n=2q3=q2+x3**2 # n=3q4=q3+x4**2 # n=4q5=q4+x5**2 # n=5q6=q5+x6**2 # n=6fig,axs=plt.subplots(2,3,figsize=(14,8))axs[0,0].hist(q1,100)axs[0,0].set_title("n=1")axs[0,1].hist(q2,100)axs[0,1].set_title("n=2")axs[0,2].hist(q3,100)axs[0,2].set_title("n=3")axs[1,0].hist(q4,100)axs[1,0].set_title("n=4")axs[1,1].hist(q5,100)axs[1,1].set_title("n=5")axs[1,2].hist(q6,100)axs[1,2].set_title("n=6")

来源地址:https://blog.csdn.net/missinghead/article/details/128765212

--结束END--

本文标题: 【Python】卡方检验

本文链接: https://lsjlt.com/news/397351.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【Python】卡方检验
    卡方检验是一种用途很广的计数资料的假设检验方法,属于非参数检验范畴。这种检验方法主要用于推断两个总体率之间有无差别、多个总体率之间有无差别、多个样本率之间的多重比较、两个分类变量之间有无关联性和频数分布拟合优度的检验等...
    99+
    2023-09-06
    人工智能 Powered by 金山文档
  • python数据分析 - 卡方检验
    卡方检验 1.卡方检验2.独立性卡方检验与一致性卡方检验2.1 独立性卡方检验2.1.1 python独立性卡方检验 2.2 一致性卡方检验 3.正态分布卡方检验3.1 python...
    99+
    2023-09-12
    数据分析 假设检验 卡方检验
  • python中的卡方检验是什么
    本篇内容主要讲解“python中的卡方检验是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中的卡方检验是什么”吧!说明统计样本的实际观测值与理论推断值之间的偏差程度,实际观测值与...
    99+
    2023-06-20
  • R语言-如何实现卡方检验
    卡方检验 在数据统计中,卡方检验是一种很重要的方法。 通常卡方检验的应用主要为: 1、 卡方拟合优度检验 2、卡方独立性检验 本文主要通过使用自己编程的方法实现相关检验。 卡方拟合优...
    99+
    2024-04-02
  • python T检验
    T检验通常分为三种:单样本T检验、双样本T检验、配对样本T检验原理可以参考:一文详解t检验本文主要介绍使用python实现T检验的过程,内容主要是参考这篇博文:利用python库stats进行t检验 ...
    99+
    2023-08-31
    python numpy 数据分析
  • R语言关于卡方检验实例详解
    卡方检验是一种确定两个分类变量之间是否存在显着相关性的统计方法。 这两个变量应该来自相同的人口,他们应该是类似 是/否,男/女,红/绿等。 例如,我们可以建立一个观察人们的冰淇淋购买...
    99+
    2024-04-02
  • 数学建模拓展内容:卡方检验和Fisher精确性检验(附有SPSS使用步骤)
    卡方检验和Fisher精确性检验 卡方拟合度检验卡方独立性检验卡方检验的前提假设Fisher精确性检验 卡方拟合度检验 卡方拟合度检验概要:卡方拟合度检验也被称为单因素卡方检验,用于检...
    99+
    2023-09-03
    人工智能 算法 python
  • python方差检验的含义及用法
    说明 方差检验是用来比较两个或多个变量数据的样本,以确定它们之间的差异是简单随机的,或者是由于过程之间的显著统计差异造成的。 自变量X是一种离散数据,自变量Y是一种连续数据(x可以是多种类型),如果数据正态分布,方差...
    99+
    2022-06-02
    python 方差检验
  • python方差检验的意思是什么
    这篇文章主要讲解了“python方差检验的意思是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python方差检验的意思是什么”吧!说明方差检验是用来比较两个或多个变量数据的样本,以确定...
    99+
    2023-06-20
  • Python如何实现MK检验
    本篇内容介绍了“Python如何实现MK检验”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MK检验:时间序列进行检测,并找出突变点,本文参考...
    99+
    2023-06-22
  • 利用python进行T检验
    引入所需的包 from scipy import stats import numpy as np 注:ttest_1samp, ttest_ind, ttest_rel均进行双侧检验 H0:μ=μ0H_0: μ=μ_0 H1...
    99+
    2023-01-31
    python
  • python中的T检验是什么
    这篇文章主要介绍“python中的T检验是什么”,在日常操作中,相信很多人在python中的T检验是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python中的T检验是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • python如何检验对象类型
    小编给大家分享一下python如何检验对象类型,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!检验对象类型检验对象类型是Python内省功能的一部分。有时,在应用对...
    99+
    2023-06-27
  • python selenium滑动验证防检测
    目标网站:aliexpress(全球速卖通)阿里国际站登录url : https://login.aliexpress.com/ python selenium 输入用户名,密码 拖动滑块验证,因为这个不涉及到缺口,理论上是很简单的配置好s...
    99+
    2023-01-31
    python selenium
  • Python实现 MK检验示例代码
    MK检验:时间序列进行检测,并找出突变点,本文参考网上的matlab程序改写为python代码如下: import numpy as np import pandas as pd...
    99+
    2024-04-02
  • R语言差异检验:非参数检验操作
    非参数检验是在总体方差未知或知道甚少的情况下,利用样本数据对总体分布形态进行推断的方法。它利用数据的大小间的次序关系(秩Rank),而不是具体数值信息,得出推断结论。 它是参数检验所...
    99+
    2024-04-02
  • SAP QM 检验批里某检验特性的取样数量跟检验计划设置不符?
    SAP QM 检验批里某检验特性的取样数量跟检验计划设置不符?如下检验批号 890000045939,...
    99+
    2023-06-05
  • 检验mysql安装是否成功的方法
    下文给大家带来有关检验mysql安装是否成功的方法内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完检验mysql安装是否成功的方法你一定会有所收获。  ...
    99+
    2024-04-02
  • windows7检测不到独立显卡解决方案
    部分windows7客户体现自己的电脑检测不到独立显卡,这是怎么回事呢?该怎么办?电脑检测不到显卡很大可能是因为你的驱动没装上,或者装上不兼容电脑的驱动,你可以到官网上去下载驱动,也可以直接应用第三方软件去安装。检测不到显卡也有可能是接触不...
    99+
    2023-07-24
  • 【python统计分析】stats.ttest_ind 独立样本T检验
    用法 ttest_ind 官方文档 当两总体方差相等时,即具有方差齐性,可以直接检验。 stats.ttest_ind(data1,data2) 当不确定两总体方差是否相等时,应先利用levene检验...
    99+
    2023-09-14
    python 开发语言 numpy
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作