python 实现BG检验_python 检验两个样本均值是否相同


正态分布广泛存在于自然现象、生产、生活的方方面面,例如试卷命题难度,产品的使用寿命、农作物产量、气温、降水量、工资收入、人类的身高体重肺活量,甚至颜值……

关于正态分布的数学定义及各种性质,不在此赘述。简单理解,就是“两头小,中间大”,比如长相奇丑无比和倾国倾城的人都是少数,绝大多数人都属于大众脸。

很多时候,在进行数据分析工作时,首先要看的就是数据是服从何种概率分布,而正态分布则是最重要的一种概率分布,而且有一些数据分析方法的前提是要求数据整体服从正态分布,所以有必要了解如何检验数据是否服从正态分布。

有很多方法可以进行正态性检验,比如计算数据分布的偏度系数、峰度系数,再进行U检验;或者进行非参数检验,包括Kolmogorov-Smirnov检验(D检验)和Shapiro- Wilk (W 检验);还有最直观的图示法,包括Q-Q图、P-P图、直方图。

强烈推荐使用Q-Q图,简单直观。Q-Q图是一个散点图,以样本的分位数作为横坐标,以按照正态分布计算的相应分位点作为纵坐标。如果数据服从正态分布,则数据样本点近似的围绕在对角线附近。

一、SPSS软件


python 实现BG检验_python 检验两个样本均值是否相同_02

依次选择【分析——描述统计——Q-Q图】


python 实现BG检验_python 实现BG检验_03

将要检验的变量移动到右侧变量选框,并确保检测分布是【正态】,然后点击确定

python 实现BG检验_python 实现BG检验_04

搞定!

二、Python语言

在Python中有很多强大的科学计算库,可以方便的绘制Q-Q图。


#导入依赖库


python 实现BG检验_python画成绩正态分布图_05

散点近似的分布在对角线上,基本可以判断为服从正态分布

三、R语言

R语言绘制Q-Q图也很方便,就是默认格式的图有点丑,看个人习惯吧。


#加载依赖库
library(qqman)

#加载本地数据
data <- read_excel("normal.xlsx", sheet = "Sheet1")

#绘制Q-Q图
qqnorm(data$变量, main="Q-Q plot: 变量")

#添加对角线
qqline(data$变量)

#绘制Q-Q图
qqnorm(log(data$变量), main="Q-Q plot: log(变量)")


python 实现BG检验_python 一组数据 正态分布散点图_06


python 实现BG检验_python 检验两个样本均值是否相同_07


python 实现BG检验_python判断无向图是否有环_08


python 实现BG检验_python 检验两个样本均值是否相同_09


不管是用哪种方法,本质都是一样的,没有最优的,只有最合适的,结合自己使用时的数据处理流程选用就好。