- 一、正态分布
- 二、正态分布检验
- 1.概率密度曲线比较法
- 2.Q-Q 图
- 3.夏皮罗-威尔克(Shapiro-Wilk)检验法
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能正态图、正态性检验、P-P图/Q-Q图
一、正态分布
正态分布(Normal distribution),也称“常态分布”,又名高斯分布(Gaussian distribution),这里不赘述了。
很直观,如果一种生物它看起来像鸭子,走起来像鸭子,叫起来像鸭子,那它就是鸭子。如果一套数据看着像正态分布,那它就是呈正态分布。
# iris 数据集 data(iris)
# hist/lines画概率密度曲线 hist(iris$Sepal.Length,prob=T, ylim=c(0,0.5), main = "Density plot of sepal length") xfit<-seq(min(iris$Sepal.Length),max(iris$Sepal.Length),length=20) yfit<-dnorm(xfit,mean(iris$Sepal.Length),sd(iris$Sepal.Length)) lines(xfit,yfit,col="red",lwd=2) #密度估计曲线 lines(density(iris$Sepal.Length),col="blue",lwd=2)
library("ggpubr") ggdensity(iris$Sepal.Length, main = "Density plot of sepal length", xlab = "sepal length",,col="blue",lwd=2)2.Q-Q 图
Quantile-Quantile Plot,(Q-Q图/分位数图)绘制给定样本与正态分布之间的相关性, 并以y=x作为参考线。若数据集中的点大致落在该参考线时,我们可以假定数据呈正态分布。
#Q-Q图画法 qqnorm(iris$Sepal.Length,main="Normal Q-Q Plot",col = "blue") qqline(iris$Sepal.Length, col = "red")
# ggpubr 画得漂亮一些 library(ggpubr) ggqqplot(iris$Sepal.Length,color = "blue",main="Normal Q-Q Plot")3.夏皮罗-威尔克(Shapiro-Wilk)检验法
R函数shapiro.test()可用于对一个变量(单变量)执行Shapiro-Wilk正态性检验。注意:Shapiro-Wilk test 一般适用于小样本量(50 < n < 100) 的正态性检验。
> shapiro.test(iris$Sepal.Length) Shapiro-Wilk normality test data: iris$Sepal.Length W = 0.97609, p-value = 0.01018主要关注输出结果中的p-value,p值<0.05, 意味着数据不太符合正态分布。但是这个样本集有150个样本,且从前视觉判断,数据不存在明显的分布不均匀。即便P值小于0.05,我们选择网开一面,认为数据不存在严重的非正态偏差,认为其符合正太分布。