python正态检验_python验证正态分布

article/2025/1/4 0:40:58

验证正态分布

为什么要检验数据的正态性?

很多时候,我们都需要使用从单一样本中获取的样本信息利用统计推断的方法来估计总体的参数信息,这是一种非常有用的统计方法,但在执行相关推断之前,我们需要验证一些假定,任何一条假定若是不能满足,则得到的统计结论就是无效的。 通常数据的分析假设为:随机数据,独立的,正态分布,等方差,稳定,当然,测量系统的精确性和准确性也是要满足测量要求的。

什么是正态分布假定?

在再进行统计分析之前,需要识别出数据的分布,否则,错误的统计检验将带来一定的风险,许多统计方法在执行之前嘉定数据服从正态分布,比如,单/双样本-T检验,过程能力分析,I-MR和方差分析等。如果数据不满足正态分布,则需要使用非参数方法,利用中位数进行检验而不是均值,也可以使用BOX-COX转换或JOHNSON变换的方法把数据转换为正态分布。

但是需要知道许多统计工具虽然假定数据满足正态但实际上当样本量大于15或20的时候就不需要正态分布了,但是如果样本量小于15且数据不满足正态分布,P值得数据就是错误的,相关统计结论就需要特别注意了。

# 加载依赖

import pandas as pd

import matplotlib as mpl

import matplotlib.pyplot as plt

import numpy as np

复制代码

# 读取数据

data = pd.read_csv("http://jse.amstat.org/datasets/normtemp.dat.txt", sep='\s+',names=['body_temperature', 'Gender', 'heart_rate'])

复制代码

# 展示数据分布的柱型图

plt.hist(data['body_temperature'], bins=70)

plt.show()

复制代码

26bc7fc9148348d39a8da69cf26ab33f.jpg

验证数据

通过scipy我们有四种方法检测数据的正态性

# KS检验

from scipy.stats import kstest

u = data['body_temperature'].mean()

std = data['body_temperature'].std()

kstest(data['body_temperature'], 'norm',(u,std))

# 返回值

# statistic float KS test statistic, either D, D+ or D-.

# pvalue float One-tailed or two-tailed p-value.

复制代码

KstestResult(statistic=0.06472685044047233, pvalue=0.6450307317438667)

复制代码

kstest 是一个很强大的检验模块,除了正态性检验,还能检验 scipy.stats 中的其他数据分布类型

输出结果中第一个为统计量,第二个为P值(注:统计量越接近0就越表明数据和标准正态分布拟合的越好,如果P值大于显著性水平,通常是0.05,接受原假设,则判断样本的总体服从正态分布)

from scipy.stats import shapiro

shapiro(data['body_temperature'])

# 返回值

#W float The test statistic.

#p-value float The p-value for the hypothesis test.

复制代码

(0.9865770936012268, 0.233174666762352)

复制代码

shapiro 是专门用来做正态性检验的模块 注意:shapiro 不适合做样本数>5000的正态性检验,检验结果的P值可能不准确

输出结果中第一个为统计数,第二个为P值,大于0.05

from scipy.stats import anderson

anderson(data['body_temperature'], dist ='norm')

# 返回值

# statistic float The Anderson-Darling test statistic

# critical_values list The critical values for this distribution

# significance_level list The significance levels for the corresponding critical values in percents. The function returns critical values for a differing set of significance levels depending on the distribution that is being tested against.

复制代码

AndersonResult(statistic=0.5201038826714353, critical_values=array([0.56 , 0.637, 0.765, 0.892, 1.061]), significance_level=array([15. , 10. , 5. , 2.5, 1. ]))

复制代码

statistic小于critical_values,该检验不能拒绝为正态分布,即该检验未正态分布。

from scipy.stats import normaltest

normaltest(data['body_temperature'],axis=0)

# 返回值

# statistic float or array s^2 + k^2, where s is the z-score returned by skewtest and k is the z-score returned by kurtosistest.

# pvalue float or array A 2-sided chi squared probability for the hypothesis test.

复制代码

NormaltestResult(statistic=2.703801433319236, pvalue=0.2587479863488212)

复制代码

P值大于0.05


http://chatgpt.dhexx.cn/article/BABPiYDW.shtml

相关文章

matlab 数据正态性检验

matlab 数据正态性检验 matlab 数据正态性检验 数据说明描述性图像 指数走势图收益率散点图收益率频率分布直方图Q-Q 图峰度与偏度系数 峰度偏度jb 检验代码下载数据说明 以前推荐用tushare是因为tushare免费,但是现在tushare非常无耻,积分不透明变像收费早已背离初心,建议…

非参数正态性检验

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达本文转自:机器学习算法那些事 非参数正态性检验 前面两节介绍了采用Q-Q图和偏度与峰度来对采集样本进行正态性检验,本节介绍非参数性的正态性检验…

R语言数据统计1——正态性检验

引用 正态性检验之qqplot和ppplot原理及R语言实现 QQ图 KS检验和SW检验的区别 t检验算法及其在R语言中的实现 R语言做正态分布检验 R语言与统计分析 数据统计中的方差分析第一步应该是检查数据,其次做正态性检验。 而正态性检验: KS检验&#xff08…

正态分布方差检验

卡方检验、F检验 定义 χ 2 \chi^2 χ2 检验123实验设计 F F F 检验123 附录假设检验一般步骤势函数 定义 用于检验总体呈正态分布的方差的假设检验,其中 χ 2 \chi^2 χ2 检验常用于单样本正态方差检验; F F F 检验用于双样本的正态方差检验。 χ 2 \…

统计推断——正态性检验(图形方法、偏度和峰度、统计(拟合优度)检验)

正态分布是很多计量数据比较分析的假设前提,因此在做比较分析之前要首先验证样本数据所代表的总体是否服从正态分布。当然对于比率数据的比较也需要满足分布前提,通常是二项分布和泊松分布,对于二项分布的比率比较,一般不需要做分…

统计学之正态分布检验

统计学之正态分布检验 本次主要是对数据集数据进行正态分布检验,数据集地址为:http://jse.amstat.org/datasets/normtemp.dat.txt 主要包括三列数据,体温(F)、性别(1:男,2&#xff…

matlab 正态输入信号,用matlab或者spss做正态检验(转载)

2.5 总体分布正态性检验 进行参数估计和假设检验时,通常总是假定总体服从正态分布,虽然在许多情况下这个假定是合理的,但是当要以此为前提进行重要的参数估计或假设检验,或者人们对它有较大怀疑的时候,就确有必要对这个…

SPSS -正态检验

1. 检验方法1:KS检验(数值检验) 原假设是服从指定分布。 如果P值>0.05,说明结果更倾向于接受原假,即服从指定分布。具体参见https://editor.csdn.net/md/?articleId109822028 根据P值判断是否服从正态分布&…

正态检验 (Normality Test)——常见方法汇总与简述

前 言 在科学研究中,往往需要对数据进行差异性检验,而常用的参数检验需要数据服从正态分布,因此在决定是否采用参数检验之前需要先对数据进行正态性检验。这一步在任何统计学软件中(如SPSS、SAS、Origion、GraghPad等&#xff09…

正态性检验方法汇总

本文主要对正态性检验方法做了汇总,重点阐述了常用的正态性检验方法的使用场景及其在 R 或 Python 中的实现。 0.概述 正态分布在统计学中有着极为重要的地位,它是 χ 2 \chi^2 χ2分布、 t t t分布、 F F F分布的基础,也是许多统计方法的理…

python语言程序设计(MOOC 嵩天)第五章 学习笔记(0214)

第五章 函数和代码的复用 5.1 函数的定义与使用 5.1.1 函数的理解和定义 函数是一段代码的表示&#xff1a; 函数是IPO的实现 函数是一段代码的封装 ①特定功能、可重用的语句组 ②功能的抽象 #作用&#xff1a;降低编程难度、代码复用 def <函数名> ( <变量> )…

Python-3.函数和代码复用

一、函数的定义与使用 使用保留字def定义函数,lambda 定义匿名函数可选参数(赋初值)、可变参数(*b)、名称传递保留字 return 可以返回任意多个结果保留字 global 声明使用全局变量,一些隐式规则1.1 函数的理解与定义 函数是一段代码的表示 函数是一段具有特定功能的、可重用的…

python123练习5: 函数和代码复用 (第5周)

实例7:七段数码管绘制 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 描述 这是"实例"题,与课上讲解实…

北京理工大学:《Python语言程序设计》详细笔记

第一章&#xff1a;程序设计基本方法 计算机与程序设计 计算机是根据指令操作数据的设备计算机发展参照摩尔定律&#xff0c;表现为指数形式 编译和解释 计算机执行源程序两种方式&#xff1a;编译和解释编译&#xff1a;将源代码一次性转换成目标代码的过程。执行编译过程…

Python语言程序设计(嵩天)-第5周-函数和代码复用

目录&#xff1a; 5.1 函数的定义与使用5.2 实例7: 七段数码管绘制5.3 代码复用与函数递归5.4模块4: PyInstaller库的使用5.5实例8: 科赫雪花小包裹 导学 前课复习 数字类型及操作&#xff1a; 整数类型的无限范围及4种进制表示浮点数类型的近似无限范围、小尾数及科学计数…

练习5: 函数和代码复用

练习5: 函数和代码复用 1 .1实例7&#xff1a;七段数码管绘制 描述 这是"实例"题&#xff0c;与课上讲解实例相同&#xff0c;请作答检验学习效果。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬…

《python语言程序设计》笔记

《python语言程序设计》笔记 第一章 程序设计基本方法1.1基本知识1.2计算机编程1.3数据类型温度转换1.4课后习题1.5python123习题与测试第二章2.1turtle库(海龟库)2.1.1空间坐标体系2.1.2turtle角度坐标体系2.1.3RGB色彩体系2.2turtle程序语法元素分析2.2.1库引用和 import2.…

中国大学MOOCPython语言程序设计(北京理工大学)第5-6周学习笔记和课后练习

中国大学MOOCPython语言程序设计&#xff08;北京理工大学&#xff09;第5-6周学习笔记和课后练习 第5周 函数与代码复用5.1 函数的定义与使用5.2 实例7: 七段数码管绘制5.3 代码复用与函数递归汉诺塔问题 5.4 模块4: PyInstaller库的使用5.5 实例8: 科赫雪花小包裹任意累积斐波…

全国计算机等级考试二级Python(2021年9月)备考笔记 第五天

文章目录 Python语言程序设计-嵩天老师(MOOC)听课笔记 第5周知识点一函数的定义函数的调用函数的调用过程参数个数可选参数传递可变参数传递参数传递的两种方式函数的返回值局部变量和全局变量lambda函数lambda函数的应用 实例 七段数码管绘制问题分析举一反三 知识点二代码复用…

Python语言程序设计笔记

例&#xff1a;获得用户输入数字N&#xff0c;计算并输出从N开始的5个质数&#xff0c;单行输出 首先&#xff1a;定义函数判断一个数是否是质数&#xff0c;return True/False&#xff0c;注意return True的格式&#xff0c;不在for循环体中&#xff0c;在函数体中(循环的高…