Scipy库提供了多种正态性检验和假设检验方法
Scipy库提供了多种正态性检验和假设检验方法。以下是一些常用的检验方法的列表:
正态性检验方法:
- Shapiro-Wilk检验:
scipy.stats.shapiro - Anderson-Darling检验:
scipy.stats.anderson - Kolmogorov-Smirnov检验:
scipy.stats.kstest - D'Agostino-Pearson检验:
scipy.stats.normaltest - Lilliefors检验:
scipy.stats.lilliefors
假设检验方法:
- 独立样本t检验:
scipy.stats.ttest_ind - 配对样本t检验:
scipy.stats.ttest_rel - 单样本t检验:
scipy.stats.ttest_1samp - 方差分析 (ANOVA):
scipy.stats.f_oneway - Kruskal-Wallis检验:
scipy.stats.kruskal - Mann-Whitney U检验:
scipy.stats.mannwhitneyu - Wilcoxon符号秩检验:
scipy.stats.wilcoxon - 卡方检验:
scipy.stats.chisquare - Fisher精确检验:
scipy.stats.fisher_exact
这些方法涵盖了在统计分析中经常用到的正态性检验和假设检验技术。你可以根据你的具体数据和研究问题选择适当的方法来进行分析。每个方法都有不同的假设和前提条件,所以在使用时需要谨慎考虑。
下面是关于这些不同正态性检验方法的简要说明:
-
Shapiro-Wilk检验(
scipy.stats.shapiro):- Shapiro-Wilk检验是一种用于检验数据是否来自正态分布的统计检验方法。
- 零假设(H0):数据来自正态分布。
- 备择假设(H1):数据不来自正态分布。
- 结果解释:如果p-value小于选择的显著性水平(通常为0.05),则拒绝零假设,表示数据不服从正态分布。
from scipy import stats import numpy as np# 创建一个示例数据集 data = np.random.normal(0, 1, 100)# 执行Shapiro-Wilk正态性检验 stat, p = stats.shapiro(data)# 输出检验结果 if p < 0.05:print("数据不服从正态分布") else:print("数据可能服从正态分布")
-
Anderson-Darling检验(
scipy.stats.anderson):- Anderson-Darling检验也用于检验数据是否来自正态分布。
- 检验的结果基于Anderson-Darling统计量和临界值。
- 结果解释:如果Anderson-Darling统计量大于临界值,则拒绝零假设,表示数据不服从正态分布。
from scipy import stats import numpy as np# 创建一个示例数据集 data = np.random.normal(0, 1, 100)# 执行Anderson-Darling正态性检验 result = stats.anderson(data)# 输出检验结果 print("Anderson-Darling统计量:", result.statistic) print("临界值:", result.critical_values) if result.statistic > result.critical_values[2]:print("数据不服从正态分布") else:print("数据可能服从正态分布")
-
Kolmogorov-Smirnov检验(
scipy.stats.kstest):- Kolmogorov-Smirnov检验用于检验数据是否来自特定的概率分布,包括正态分布。
- 检验的结果基于累积分布函数的比较。
- 结果解释:如果p-value小于选择的显著性水平,则拒绝零假设,表示数据不来自指定的分布。
from scipy import stats import numpy as np# 创建一个示例数据集 data = np.random.normal(0, 1, 100)# 执行Kolmogorov-Smirnov正态性检验 stat, p = stats.kstest(data, 'norm')# 输出检验结果 if p < 0.05:print("数据不服从正态分布") else:print("数据可能服从正态分布")
-
D'Agostino-Pearson检验(
scipy.stats.normaltest):- D'Agostino-Pearson检验也用于检验数据是否来自正态分布。
- 检验的结果基于偏度(skewness)和峰度(kurtosis)的值。
- 结果解释:如果p-value小于选择的显著性水平,则拒绝零假设,表示数据不服从正态分布。
from scipy import stats import numpy as np# 创建一个示例数据集 data = np.random.normal(0, 1, 100)# 执行D'Agostino-Pearson正态性检验 stat, p = stats.normaltest(data)# 输出检验结果 if p < 0.05:print("数据不服从正态分布") else:print("数据可能服从正态分布")
-
Lilliefors检验(
scipy.stats.lilliefors):- Lilliefors检验是一种用于检验数据是否来自特定分布的检验方法,通常用于检验是否来自正态分布。
- 结果解释:如果p-value小于选择的显著性水平,则拒绝零假设,表示数据不来自指定的分布。
from scipy import stats import numpy as np# 创建一个示例数据集 data = np.random.normal(0, 1, 100)# 执行Lilliefors正态性检验 stat, p = stats.lilliefors(data)# 输出检验结果 if p < 0.05:print("数据不服从正态分布") else:print("数据可能服从正态分布")
这些检验方法可根据你的需求选择,但需要注意,结果的解释可能会受到样本大小、数据分布和显著性水平的影响。要正确使用这些方法,通常需要深入了解它们的原理和假设。
----------------------------
假设检验方法:
这里是对这些假设检验方法的简要介绍以及它们的具体使用场合:
-
配对样本t检验(
scipy.stats.ttest_rel):- 使用场合:用于比较两组相关(配对)样本之间的均值差异,例如在同一组人群中的前后两次测量。
- 假设:检验两组相关样本的均值是否存在显著差异。
-
单样本t检验(
scipy.stats.ttest_1samp):- 使用场合:用于检验一个样本的均值是否与一个已知的参考值(或理论均值)存在显著差异。
- 假设:检验单个样本的均值是否与给定的理论均值不同。
-
方差分析 (ANOVA)(
scipy.stats.f_oneway):- 使用场合:用于比较三个或更多组样本之间的均值差异,通常用于分析不同组别之间的统计显著性。
- 假设:检验多组样本的均值是否存在显著差异。
-
Kruskal-Wallis检验(
scipy.stats.kruskal):- 使用场合:用于比较三个或更多组独立样本之间的分布差异,通常用于非正态分布的数据。
- 假设:检验多组独立样本的分布是否存在显著差异。
-
Mann-Whitney U检验(
scipy.stats.mannwhitneyu):- 使用场合:用于比较两组独立样本之间的中位数差异,通常用于非正态分布的数据。
- 假设:检验两组独立样本的中位数是否存在显著差异。
-
Wilcoxon符号秩检验(
scipy.stats.wilcoxon):- 使用场合:用于比较两组配对样本之间的中位数差异,通常用于非正态分布的配对数据。
- 假设:检验两组配对样本的中位数是否存在显著差异。
-
卡方检验(
scipy.stats.chisquare):- 使用场合:用于比较观察频数和期望频数之间的差异,通常用于分析分类数据的拟合度。
- 假设:检验观察频数与期望频数是否存在显著差异。
-
Fisher精确检验(
scipy.stats.fisher_exact):- 使用场合:用于比较两个分类变量之间的关联性,通常用于小样本数据。
- 假设:检验两个分类变量是否存在关联性。
这些检验方法适用于不同类型的数据和研究问题,你可以根据数据性质和研究目的选择合适的方法来进行统计分析。
- 独立样本t检验:
scipy.stats.ttest_indfrom scipy import stats import numpy as np# 创建两组示例数据 group1 = np.array([25, 30, 35, 40, 45]) group2 = np.array([20, 28, 32, 38, 42])# 执行独立样本t检验 t_stat, p_value = stats.ttest_ind(group1, group2)# 输出检验结果 if p_value < 0.05:print("两组数据均值存在显著差异") else:print("两组数据均值无显著差异") - 配对样本t检验:
scipy.stats.ttest_relfrom scipy import stats import numpy as np# 创建两组示例数据 before = np.array([30, 32, 34, 36, 38]) after = np.array([28, 31, 35, 37, 40])# 执行配对样本t检验 t_stat, p_value = stats.ttest_rel(before, after)# 输出检验结果 if p_value < 0.05:print("配对样本存在显著差异") else:print("配对样本无显著差异") - 单样本t检验:
scipy.stats.ttest_1sampfrom scipy import stats import numpy as np# 创建一个示例数据集 data = np.random.normal(0, 1, 100)# 执行单样本t检验 t_stat, p_value = stats.ttest_1samp(data, 0)# 输出检验结果 if p_value < 0.05:print("样本均值与零存在显著差异") else:print("样本均值与零无显著差异") - 方差分析 (ANOVA):
scipy.stats.f_onewayfrom scipy import stats import numpy as np# 创建多组示例数据 group1 = np.random.normal(0, 1, 100) group2 = np.random.normal(1, 1, 100) group3 = np.random.normal(2, 1, 100)# 执行方差分析 f_stat, p_value = stats.f_oneway(group1, group2, group3)# 输出检验结果 if p_value < 0.05:print("组之间存在显著差异") else:print("组之间无显著差异") - Kruskal-Wallis检验:
scipy.stats.kruskalfrom scipy import stats# 创建多组示例数据 group1 = [25, 30, 35, 40, 45] group2 = [20, 28, 32, 38, 42] group3 = [15, 18, 22, 28, 32]# 执行Kruskal-Wallis检验 h_stat, p_value = stats.kruskal(group1, group2, group3)# 输出检验结果 if p_value < 0.05:print("组之间存在显著差异") else:print("组之间无显著差异") - Mann-Whitney U检验:
scipy.stats.mannwhitneyufrom scipy import stats# 创建两组示例数据 group1 = [25, 30, 35, 40, 45] group2 = [20, 28, 32, 38, 42]# 执行Mann-Whitney U检验 u_stat, p_value = stats.mannwhitneyu(group1, group2)# 输出检验结果 if p_value < 0.05:print("两组数据存在显著差异") else:print("两组数据无显著差异") - Wilcoxon符号秩检验:
scipy.stats.wilcoxonfrom scipy import stats# 创建两组配对数据 before = [25, 30, 35, 40, 45] after = [20, 28, 32, 38, 42]# 执行Wilcoxon符号秩检验 w_stat, p_value = stats.wilcoxon(before, after)# 输出检验结果 if p_value < 0.05:print("配对数据存在显著差异") else:print("配对数据无显著差异") - 卡方检验:
scipy.stats.chisquarefrom scipy import stats import numpy as np# 创建一个示例观察频数数组 observed = np.array([20, 25, 30]) expected = np.array([15, 30, 30])# 执行卡方检验 chi_stat, p_value = stats.chisquare(observed, f_exp=expected)# 输出检验结果 if p_value < 0.05:print("观察频数与期望频数存在显著差异") else:print("观察频数与期望频数无显著差异") - Fisher精确检验:
scipy.stats.fisher_exactfrom scipy import stats# 创建一个2x2的列联表 contingency_table = [[10, 5], [3, 15]]# 执行Fisher精确检验 odds_ratio, p_value = stats.fisher_exact(contingency_table)# 输出检验结果 if p_value < 0.05:print("两个分类变量存在关联") else:print("两个分类变量无关联")
相关文章:
Scipy库提供了多种正态性检验和假设检验方法
Scipy库提供了多种正态性检验和假设检验方法。以下是一些常用的检验方法的列表: 正态性检验方法: Shapiro-Wilk检验:scipy.stats.shapiroAnderson-Darling检验:scipy.stats.andersonKolmogorov-Smirnov检验:scipy.st…...
去雨去雪去雾算法之本地与服务器的TensorBoard使用教程
在进行去雨去雾去雪算法实验时,需要注意几个参数设置,num_workers只能设置为0,否则会报各种稀奇古怪的错误。 本地使用TensorBoard 此外,发现生成的文件是events.out.tfevents格式的,查询了一番得知该文件是通过Tens…...
【小沐学前端】Node.js实现基于Protobuf协议的WebSocket通信
文章目录 1、简介1.1 Node1.2 WebSocket1.3 Protobuf 2、安装2.1 Node2.2 WebSocket2.2.1 nodejs-websocket2.2.2 ws 2.3 Protobuf 3、代码测试3.1 例子1:websocket(html)3.1.1 客户端:yxy_wsclient1.html3.1.2 客户端:…...
MySQL学习笔记24
MySQL的物理备份: xtrabackup备份介绍: xtrabackup优缺点: 优点: 1、备份过程快速、可靠(因为是物理备份);直接拷贝物理文件。 2、支持增量备份,更为灵活; 3、备份…...
objective-c 基础学习
目录 第一节:OC 介绍 第二节:Fundation 框架 第三节:NSLog 相对于print 的增强 第四节:NSString 第五节:oc新增数据类型 第六节: 类和对象 类的方法的声明与实现 第七节:类…...
【精彩回顾】 用sCrypt在Bitcoin上构建智能合约
2023年3月24日,sCrypt在英国Exeter大学举办了关于智能合约的大学讲学。sCrypt首席执行官刘晓晖做了题为“用sCrypt在Bitcoin上构建智能合约”的演讲,并与到场的老师、学生进行了深入交流、互动。这次课程着重讲解了 BSV 智能合约的基础概念,以…...
Kotlin 使用泛型
在 Kotlin 中,我们可以使用泛型(Generics)来编写具有通用性的代码,以增强代码的可重用性和类型安全性。通过使用泛型,我们可以在不指定具体类型的情况下编写适用于多种类型的函数和类。 以下是 Kotlin 中使用泛型的几…...
深度学习 二:COVID 19 Cases Prediction (Regression)
Deep Learning 1. 回归算法思路2. 代码2.1 基础操作2.2 定义相关函数2.3.1 定义图像绘制函数2.3.2 数据集加载及预处理2.3.3 构造数据加载器2.3.4 构建前馈神经网络(Feedforward Neural Network)模型2.3.5 神经网络的训练过程2.3.6 模型评估2.3.7 模型测…...
UG\NX二次开发 信息窗口的4种输出方式 NXOpen::ListingWindow::DeviceType
文章作者:里海 来源网站:《里海NX二次开发3000例专栏》 简介 UG\NX二次开发 信息窗口的4种输出方式 NXOpen::ListingWindow::DeviceType 信息窗口的输出类型 enum NXOpen::ListingWindow::DeviceType 枚举值描述 DeviceTypeWindow0输出将写入“信息”窗口DeviceTypeFile1输出…...
mavn打包时如何把外部依赖加进去?
一、添加依赖: <dependency><groupId>com.dm</groupId><artifactId>DmJdbcDriver</artifactId><version>18</version><scope>system</scope><systemPath>${project.basedir}/lib/DmJdbcDriver18.jar</systemP…...
爬虫代理请求转换selenium添加带有账密的socks5代理
爬虫代理请求转换selenium添加带有账密的socks5代理。 一、安装三方库 二、使用方法 1、在cmd命令行输入: 2、给selenium添加代理 最近因为工作需要,需要selenium添加带有账密的socks5代理,贴出一个可用的方法。 把带有账密的socks5代理&am…...
Redis 如何实现数据不丢失的?
Redis 实现数据不丢失的关键在于使用了多种持久化机制,以确保数据在内存和磁盘之间的持久性。以下是 Redis 实现数据不丢失的主要方法: 快照(Snapshot)持久化: Redis 使用快照持久化来定期将内存中的数据写入磁盘。快照是一个数据库状态的副本,包含了所有键和与其相关联的…...
[高等数学]同济版高等数学【第七版】上下册教材+习题全解PDF
laiyuan 「高等数学 第7版 同济大学」 https://www.aliyundrive.com/s/5fpFJb3asYk 提取码: 61ao 通过百度网盘分享的文件:同济版高数教材及… 链接:https://pan.baidu.com/s/1gyy-GMGjwguAjYijrpC8RA?pwdyhnr 提取码:yhnr 高等数学相关: The Ca…...
【面试题精讲】Java超过long类型的数据如何表示
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址[1] 面试题手册[2] 系列文章地址[3] 在 Java 中,如果需要表示超过 long 类型范围的数据,可以使用 BigInteger 类…...
Shapiro-Wilk正态性检验(Shapiro和Wilk于1965年提出)
Shapiro-Wilk正态性检验是一种用于确定数据集是否服从正态分布的统计方法。它基于Shapiro和Wilk于1965年提出的检验统计量。以下是其基本原理和用途: 基本原理: 零假设(Null Hypothesis):Shapiro-Wilk检验的零假设是数…...
debian设置允许ssh连接
解决新debian系统安装后不能通过ssh连接的问题。 默认情况下,Debian系统不开启SSH远程登录,需要手动安装SSH软件包并设置开机启动。 > 设置允许root登录传送门:debian设置允许root登录 首先检查/etc/ssh/sshd_config文件是否存在。 注意…...
【C语言经典100例题-66】(用指针解决)输入3个数a,b,c,按大小顺序输出。
代码: #include<stdio.h> #define _CRT_SECURE_NO_WARNINGS 1//VS编译器使用scanf函数时会报错,所以添加宏定义 swap(p1, p2) int* p1, * p2; {int p;p *p1;*p1 *p2;*p2 p; } int main() {int n1, n2, n3;int* pointer1, * pointer2, * point…...
【STM32 CubeMX】移植u8g2(一次成功)
文章目录 前言一、下载u8g2源文件二、复制和更改文件2.1 复制文件2.2 修改文件u8g2_d_setup文件u8g2_d_memory 三、编写oled.c和oled.h文件3.1 CubeMX配置I2C3.2 编写文件oled.holed.c 四、测试代码main函数测试代码 总结 前言 在本文中,我们将介绍如何在STM32上成…...
华为云智能化组装式交付方案 ——金融级PaaS业务洞察及Web3实践的卓越贡献
伴随信息技术与金融业务加速的融合,企业应用服务平台(PaaS)已从幕后走向台前,成为推动行业数字化转型的关键力量。此背景下,华为云PaaS智能化组装式交付方案闪耀全场,在近日结束的华为全联接大会 2023上倍受…...
Halcon Image相关算子(二)
(1) dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : ) 功能:从输入图像中选择像素满足阈值条件的那些区域。 图形输入参数:OrigImage:原始图像; 图形输入参数:ThresholdImage&a…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
