使用 Python 进行卡方测试

2023-11-24 16:30

本文主要是介绍使用 Python 进行卡方测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

土耳其超级联赛的三大足球俱乐部

一、说明

        卡方检验用于检验为分类变量创建的模型。也就是说,这是我们在统计学中经常遇到的另一个经典假设检验。该测试是事实与期望的统计版本。我们有一个理论,一个对事件的期望,我们也有观察,现在我们想比较它们。

二、卡方一般概念

        我们可以通过两种方式应用卡方检验:

  1. 拟合优度检验:我们有一个分类变量。我们想检查我们的样本对整个总体的反映程度。
  2. 独立性测试:我们有两个分类变量。我们想检查这两者之间是否存在关系。

        公式!

        卡方值是观测值和预期值之差的平方和除以期望值。c 是自由度。

2.1 合身性

假设我们欺骗了100名在伊斯坦布尔塔克西姆广场散步的人,承诺购买啤酒,并问他们支持哪支球队。根据瑞士科学家的研究,我们已经知道支持加拉塔萨雷的人的比例是45%。费内巴切占35%,贝西克塔斯占20%。这是我们的期望。另一方面,当我们查看在塔克西姆喝啤酒后收集的样本时,我们的观察结果分别如下:54、38 和 8。

Data table

        我们的零假设是瑞士科学家是对的。另一种假设是他们错了。我们选择显著性水平为 5%。我们的自由度是2(如果我们有两个俱乐部的支持者数量,我们也可以获得第三个俱乐部的数量)。还有 c = k-1 = 3–1 = 2。

        现在让我们使用等式:

        度数为 9 的卡方值为 27.0,置信水平为 05.5 的卡方值为 991.0。卡方表链接在这里。Excel 公式为 “ = CHISQ。INV(95.2,<>)”。

        如果我们的值大于临界值,我们可以拒绝零假设,是的,在这种情况下,我们拒绝零并接受替代方案,这意味着瑞士人错了!

#python code for the above example
observed = [54,38,8]
expectation = [45,35,20]
x = sum([(o-e)**2./e for o,e in zip(observed,expectation)])
#chi square = 9.257
#import chi2 from scipy to get the critical value
from scipy.stats import chi2
alpha = 0.05
df = 2
cr=chi2.ppf(q=1-alpha,df=df)
#critical value is 5.991

2.2 独立性测试

        这是一回事,但还有一个变量。因此,让我们在上面的示例中再添加一个。我们注意到酒吧里的 100 个热爱足球的朋友正在喝 2 种啤酒;比尔森和拉格。我们想知道足球队和啤酒类型的选择之间是否存在关系。我们再次收集样本。

        啤酒

        添加另一个变量后的观测数据表

        为了计算期望值,我们将使用联合概率,即:P(联合)=边际概率*边际概率。例如,我们可以计算出喜欢喝比尔森啤酒的加拉塔萨雷球迷的期望值如下;

        E = (54 * 43) / 100 = 23.2。因此,让我们计算所有预期值:

        计算出的期望数据

        因此,我们的零假设 Ho 是支持的团队与啤酒偏好无关。替代假设 Ha 是支持的团队不独立于啤酒偏好。我们的自由度是 df = (r-1)(c-1) = (3–1)(2–1) = 2。我们再次使用相同的方程来计算卡方值:

        计算值 22.74 再次大于临界值,因此我们拒绝原假设并接受替代假设。我们可以说这两个变量都是依赖的。

三、结论

        卡方检验用于检查分类变量。在选择机器学习特征时,我们可以使用卡方。

这篇关于使用 Python 进行卡方测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/gongdiwudu/article/details/133841766
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/422237

相关文章

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas

Python日期和时间完全指南与实战

《Python日期和时间完全指南与实战》在软件开发领域,‌日期时间处理‌是贯穿系统设计全生命周期的重要基础能力,本文将深入解析Python日期时间的‌七大核心模块‌,通过‌企业级代码案例‌揭示最佳实践... 目录一、背景与核心价值二、核心模块详解与实战2.1 datetime模块四剑客2.2 时区处理黄金法

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

Java进行日期解析与格式化的实现代码

《Java进行日期解析与格式化的实现代码》使用Java搭配ApacheCommonsLang3和Natty库,可以实现灵活高效的日期解析与格式化,本文将通过相关示例为大家讲讲具体的实践操作,需要的可以... 目录一、背景二、依赖介绍1. Apache Commons Lang32. Natty三、核心实现代

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

PyQt6中QMainWindow组件的使用详解

《PyQt6中QMainWindow组件的使用详解》QMainWindow是PyQt6中用于构建桌面应用程序的基础组件,本文主要介绍了PyQt6中QMainWindow组件的使用,具有一定的参考价值,... 目录1. QMainWindow 组php件概述2. 使用 QMainWindow3. QMainW

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

python通过curl实现访问deepseek的API

《python通过curl实现访问deepseek的API》这篇文章主要为大家详细介绍了python如何通过curl实现访问deepseek的API,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... API申请和充值下面是deepeek的API网站https://platform.deepsee