iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python数据分析 - 卡方检验
  • 130
分享到

python数据分析 - 卡方检验

数据分析假设检验卡方检验 2023-09-12 11:09:13 130人浏览 泡泡鱼

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

摘要

卡方检验 1.卡方检验2.独立性卡方检验与一致性卡方检验2.1 独立性卡方检验2.1.1 python独立性卡方检验 2.2 一致性卡方检验 3.正态分布卡方检验3.1 python

卡方检验

1.卡方检验

卡方检验也属于假设检验的一种即可以分析一个变量的拟合程度,如拟合优度检验(二项分布、泊松分布和正态分布),即可以分析数据是不是正态分布,在做T检验的时候(前提条件就是数据要符合正态分布)。

还可以用来分析两个变量间的关系:是否相互独立,是否来自一个总体。

2.独立性卡方检验与一致性卡方检验

对于两个变量关系的分析方法与在拟合优度中的方法略有差别,这里适用了一种称为列联表的表格来进行分析。

列联表

所谓列联表就是一个行列交叉的表格。将研究的两个变量,一个变量按类分行排列,另一个变量按类分列排列,行列交叉处是同属于两个变量不同类的数据。这样的表格称为列联表,这种类型的数据,也是做卡方检验所需要的数据

在这里插入图片描述

2.1 独立性卡方检验

下面举一个例子来说明下独立卡方检验如何运用的😎

比如说咖啡店,不同职业的人偏好不同口味的咖啡,老板想知道职业这个变量与不同口味咖啡是否独立。

数据如下图所示,在显著性为α=0.01下,检验职业与口味是否独立性

IT行政工程合计
美式咖啡25211056
拿铁咖啡828830200
卡布奇诺223165244
合计33012545500

1.假设

H0 H_0 H0:职业与咖啡无关系(独立)
H1 H_1 H1:职业与咖啡有关系(不独立)

2.计算期望频数
本例中行与列的数相等,r=c=3是个3*3的列联表,所以需要计算9个期望频数值。根据上表数据,利用公式计算每一行列的期望频数。例如:

在这里插入图片描述
e11 = n 1... ∗ n . . . 1 n = 56 ∗ 330 500 = 36.96 e_{11}=\frac{n_{1...}*n_{...1}}{n}=\frac{56*330}{500}=36.96 e11=nn1...n...1=50056330=36.96
e12 = n 1... ∗ n . . . 2 n = 56 ∗ 125 500 = 14 e_{12}=\frac{n_{1...}*n_{...2}}{n}=\frac{56*125}{500}=14 e12=nn1...n...2=50056125=14

以此类推,可算出所有期望频数。

3.计算卡方值
e11 e_{11} e11对应的值减去 e11 的 平 方 e_{11}的平方 e11
χ 2 = ( 25 − 36.96 ) 2 36.96 + ( 21 − 14 ) 2 14 + . . + ( 5 − 21.96 ) 2 21.96 = 138.21 χ2=\frac{(25-36.96)^2}{36.96}+\frac{(21-14)^2}{14}+..+\frac{(5-21.96)^2}{21.96}=138.21 χ2=36.96(2536.96)2+14(2114)2+..+21.96(521.96)2=138.21

已知α=0.01,查 χ 2 χ2 χ2分布表,得 χ 20.01 ( 4 ) = 12.277 χ2_{0.01}(4)=12.277 χ20.01(4)=12.277。因为 χ 2 = 138.21 > 12.277 = χ 20.01 ( 4 ) χ2=138.21>12.277=χ2_{0.01}(4) χ2=138.21>12.277=χ20.01(4),落在拒绝域。所以拒绝H0,接受H1,即职业和咖啡是关系的(不独立)

2.1.1 python独立性卡方检验

from  scipy.stats import chi2_contingencyimport numpy as npimport pandas as pddata=[[25,21,10],[82,88,30],[223,16,5]]df=pd.DataFrame(data,index=['美式咖啡','拿铁咖啡','卡布奇诺'],columns=['IT','行政','工程'])kt=chi2_contingency(df)print('卡方值=%.4f, p值=%.4f, 自由度=%i expected_frep=%s'%kt)

在这里插入图片描述
p值小于0.01,则拒绝原假设,认为咖啡和职业不独立性。

2.2 一致性卡方检验

虽然表面看χ2的一致性检验方法与独立性检验方法一样,但两种检验方法在实质上还是有差别的。

二者差别

  • 两者检验的目的不同。独立性检验是对两个变量是否相关进行的检验,而一致性检验是对总体之间在某一变量分类中是否具相同分布的检验。
  • 其次,两者抽样程序不同。独立性检验是从一个总体中抽出一个样本,然后按两个变量的类别进行分类;而一致性检验是从多个总体进行抽样,抽出多个样本,然后按不同样本进行分类
  • 两种方法推断期望频数的理论不同。独立性检验是基于独立事件的假设推出期望频数,而一致性检验是基于不同总体具有相同的概率的假设推出期望频数。

举例说明
研究职业与咖啡口味的关系时,如果关心的是职业与咖啡是否有关系,则应进行独立性检验。随机抽取一个人群样本后,将职业和咖啡口味分为不同的组,形成列联表进行检验。

研究是不同职业组对不同咖啡口味的要求是否一致,则应进行一致性检验。在不同职业组中进行抽样。把每一个职业组作为一个类别,检验在不同咖啡口味上的分布是否一致。

还是那上面那个数据举例,计算过程是一样的,只是在假设上有点差异。

1.假设
H0 H_0 H0:不同职业的咖啡口味一致
H1 H_1 H1:不同职业的咖啡口味不一致

3.正态分布卡方检验

其实还有柏松分布卡方检验和多项分布卡方检验,后续更进。

在这里插入图片描述

正态分布卡方检验属于非参数方法,
非参数法:通过样本信息来检验未知总体是否为某一种分布(正态分布,均匀分布或任意分布)

非参数方法是通过对比样本的频数与期望频数(目标分布的频数)的差距来判断抽取样本的总体分布是否为目标分布

下面举一个例子来说明下独立卡方检验如何运用的😎

有这样一组数据40件商品的质量:
在这里插入图片描述
现在要看下这组数据是否服从正态分布。

1.假设
H0 H_0 H0:数据质量服从正态分布
H1 H_1 H1:数据质量不服从正态分布
α=0.05

2.计算正态分布区间界限

我们假设服从正态分布,从这组数据中求出数据的均值和标准差,用这二个数据,结合标准正态分布表,生成一个标准正态分布的数据出来:
在这里插入图片描述

在这里插入图片描述为标准正态分布划分出几个区间(那为标准的正态分布划分8个区间,每个区间5个数据,在上图只有8个区间)

8个区间对应的临界值所对应的X值(区间界限),如下图
在这里插入图片描述

3.计算卡方值
根据计算的区间界限,将样本数据的每一个数据都分配到对应的区间中,然后统计实际频数。最后由实际频数与期望频数的差值计算卡方统计量,计算过程如下表:
χ 2 = ( O i − E i ) 2 E i χ2=\frac{(O_i-E_i)^2}{E_i} χ2=Ei(OiEi)2
在这里插入图片描述
自由度:k-r-1,本例中,划分了8个区间k=8,估计了2个总体参数和σ,所以r=2,自由度为8-2-1=5

查卡方分布表(双侧显著水平0.5/2=0.025,自由度为5)得卡方值为11.07。因为计算卡方统计量为8<11.07,落在接受域,所以接受原假设,拒绝备择假设,即质量的数据可以认为是正态分布。

总结一下

就是根据实际的数据,算出的均值与标准差,去拟合一个标准的正态分布数据,因为标准的正态分布,每个区间的数据是均匀的,
然后在将实际的数据落在的标准正态分布的区间。计算不同区间的数据个数与标准正态的数据个数,代人求卡方值。

3.1 Python正态分布卡方检验

import scipy from statsdf=[7.68,6.63,7.16,5.98,6.34,    6.92,8.27,8.19,8.6,6.82,    7.52,7.96,9.23,6.04,8.08,    6.4,5.63,5.8,6.18,7.4,    8.52,6.34,5.62,7.29,7.33,    6.44,6.03,8.18,8.32,8.52,    6.24,6.23,8.2,7.31,8.5,    7.51,6.01,7.25,7.44,7.86]ks_test = stats.kstest(df,'nORM')shapiron_test = stats.shapiro(df)print('ks_test: ',ks_test)print('shapiro_test: ',shapiron_test)

在这里插入图片描述
这二种方法都可以ks_test、shapiron_test,看p值
p值>0.05,接受原假设服从正态分布

来源地址:https://blog.csdn.net/weixin_42010722/article/details/124296654

--结束END--

本文标题: python数据分析 - 卡方检验

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python数据分析 - 卡方检验
    卡方检验 1.卡方检验2.独立性卡方检验与一致性卡方检验2.1 独立性卡方检验2.1.1 python独立性卡方检验 2.2 一致性卡方检验 3.正态分布卡方检验3.1 python...
    99+
    2023-09-12
    数据分析 假设检验 卡方检验
  • 【Python】卡方检验
    卡方检验是一种用途很广的计数资料的假设检验方法,属于非参数检验范畴。这种检验方法主要用于推断两个总体率之间有无差别、多个总体率之间有无差别、多个样本率之间的多重比较、两个分类变量之间有无关联性和频数分布拟合优度的检验等...
    99+
    2023-09-06
    人工智能 Powered by 金山文档
  • python数据分析之公交IC卡刷卡分析
    目录一、背景二、任务要求三、使用步骤四、总结一、背景 交通大数据是由交通运行管理直接产生的数据(包括各类道路交通、公共交通、对外交通的刷卡、线圈、卡口、GPS、视频、图片等数据)、交...
    99+
    2024-04-02
  • python中的卡方检验是什么
    本篇内容主要讲解“python中的卡方检验是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中的卡方检验是什么”吧!说明统计样本的实际观测值与理论推断值之间的偏差程度,实际观测值与...
    99+
    2023-06-20
  • 正态分布检验:检验序列数据是否符合正态分布
    正态分布检验 雅克-贝拉检验(Jarque-Bera-test)(JB检验) 介绍 JB检验主要适用于样本数量大于30,而且样本数越多,JB检验效果越准确。 JB检验主要用于判断数据是否符合总体正态分布,而且构造的JB统计量需要符合...
    99+
    2023-09-14
    数据挖掘 python 经验分享 Powered by 金山文档
  • Python 数据分析的实验室:实验和探索
    Python是一种功能强大的编程语言,广泛用于数据分析。本实验室旨在通过一系列实验,让你探索Python数据分析的各个方面。通过这些动手练习,你将深入了解数据处理、可视化和建模的基本概念。 实验 1:数据加载和探索 导入和操作CSV文件...
    99+
    2024-03-12
    引言
  • R语言-如何实现卡方检验
    卡方检验 在数据统计中,卡方检验是一种很重要的方法。 通常卡方检验的应用主要为: 1、 卡方拟合优度检验 2、卡方独立性检验 本文主要通过使用自己编程的方法实现相关检验。 卡方拟合优...
    99+
    2024-04-02
  • 【python统计分析】stats.ttest_ind 独立样本T检验
    用法 ttest_ind 官方文档 当两总体方差相等时,即具有方差齐性,可以直接检验。 stats.ttest_ind(data1,data2) 当不确定两总体方差是否相等时,应先利用levene检验...
    99+
    2023-09-14
    python 开发语言 numpy
  • Python数据分析基础之异常值检测和处理方式
    目录1 什么是异常值?2 异常值的检测方法1. 简单统计2. 3∂原则3. 箱型图4. 基于模型检测5. 基于近邻度的离群点检测6. 基于聚类的方法来做异常点检测7. 专门...
    99+
    2024-04-02
  • MK趋势检验和MK突变检验(代码分享及结果分析)
    MK趋势检验 在时间序列趋势分析中,Mann-Kendall检验是世界气象组织推荐并已被广泛使用的非参数检验方法,最初由Mann和Kendall提出,现已被很多学者用来分析降雨、气温、径流和水质等要素...
    99+
    2023-09-10
    人工智能 python 数据挖掘
  • 使用Python进行数据分析——方差分析
    大家好,方差分析可以用来判断几组观察到的数据或者处理的结果是否存在显著差异。本文介绍的方差分析(Analysis of Variance,简称ANOVA)就是用于检验两组或者两组以上样本的均值是否具备显著性差异的一种数理统计方法。 根据影...
    99+
    2023-09-12
    数据分析 数据挖掘 信息可视化 Powered by 金山文档
  • python跨库检查数据一致性的示例分析
    python跨库检查数据一致性的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。因为最近上线了samza实时流平台,实时从源数据端实时传输数据到数据仓库,于是就需要检...
    99+
    2023-06-03
  • R语言关于卡方检验实例详解
    卡方检验是一种确定两个分类变量之间是否存在显着相关性的统计方法。 这两个变量应该来自相同的人口,他们应该是类似 是/否,男/女,红/绿等。 例如,我们可以建立一个观察人们的冰淇淋购买...
    99+
    2024-04-02
  • 数学建模拓展内容:卡方检验和Fisher精确性检验(附有SPSS使用步骤)
    卡方检验和Fisher精确性检验 卡方拟合度检验卡方独立性检验卡方检验的前提假设Fisher精确性检验 卡方拟合度检验 卡方拟合度检验概要:卡方拟合度检验也被称为单因素卡方检验,用于检...
    99+
    2023-09-03
    人工智能 算法 python
  • MySQL中检索数据的示例分析
    这篇文章将为大家详细讲解有关MySQL中检索数据的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 MySQL 不区分大小写,但尽量做到...
    99+
    2024-04-02
  • Python数据分析之缺失值检测与处理详解
    目录检测缺失值缺失值处理删除缺失值填补缺失值检测缺失值 我们先创建一个带有缺失值的数据框(DataFrame)。 import pandas as pd df = pd.Dat...
    99+
    2024-04-02
  • Python数据异常值检测和处理的示例分析
    这篇文章主要介绍Python数据异常值检测和处理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1 什么是异常值?在机器学习中,异常检测和处理是一个比较小的分支,或者说,是机器学习的一个副产物,因为在一般的预...
    99+
    2023-06-29
  • Python 数据分析教程探索性数据分析
    目录什么是探索性数据分析(EDA)?描述性统计分组数据方差分析相关性和相关性计算什么是探索性数据分析(EDA)? EDA 是数据分析下的一种现象,用于更好地理解数据方面,例如:&nb...
    99+
    2024-04-02
  • Python数据分析的方法是什么
    本篇内容介绍了“Python数据分析的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!01 指标拆解TGI计算公式中,有三个关键点需...
    99+
    2023-06-16
  • python分析数据的方法是什么
    Python是一种广泛使用的编程语言,可以通过多种方法来分析数据。以下是一些常见的方法: 使用pandas库:pandas是一个...
    99+
    2024-03-01
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作