QQ图通过把测试样本数据的分位数与已知分布相比较,从而来检验数据的分布情况。

</head> <body>

正态QQ图的原理

QQ图通过把测试样本数据的分位数与已知分布相比较,从而来检验数据的分布情况。QQ图是一种散点图,对应于正态分布的QQ图,就是由标准正态分布的分位数为横坐标,样本值为纵坐标的散点图。要利用QQ图鉴别样本数据是否近似于正态分布,只需看QQ图上的点是否近似地在一条直线附近,图形是直线说明是正态分布,而且该直线的斜率为标准差,截距为均值,用QQ图还可获得样本偏度和峰度的粗略信息。图形中有一段是直线,在两端存在弧度,则可说明峰度的情况。图形是曲线图,说明不对称。如果Q-Q图是直线,当该直线成45度角并穿过原点时,说明分布与给定的正态分布完全一样。如果是成45度角但不穿过原点,说明均值与给定的正态分布不同,如果是直线但不是45度角,说明均值与方差都与给定的分布不同。如果Q-Q图中间部分是直线,但是右边在直线下面,左边在直线上面,说明分布的峰度大于3,反之说明峰度小于3;图形是曲线图,说明不对称。

分位数(quantile fractile)又称百分位点,或者下侧分位数。 定义:设连续随机变量X的分布函数为F(X),密度函数为p(x)。那么,对任意0<p<1的p,称F(X)=p的x为此分布的分位数,或者下侧分位数。简单的说,分位数指的就是连续分布函数中的一个点,这个点对应概率p。

R语言模拟

rd=rnorm(100) 
plot(density(rd),main = "正态随机变量概率密度",lwd=2)
points(rd,rep(0.01,100),pch=20,col=rainbow(100))

qq正态图不服从正态怎么解决R语言 qq图验证正态分布_QQ图

通过上图可以看出,产生的100个随机数多数集中在[-1,1]之间,且均值为0。

t=rank(rd)/100 #求观察累积概率
q=qnorm(t) #用累积概率求分位数值
plot(rd,q,main = "Q-Q图",pch=20,col=rainbow(100)) #画Q-Q图
abline(0,1,lwd=2)

qq正态图不服从正态怎么解决R语言 qq图验证正态分布_概率密度_02

第二次模拟1000个随机数

n=1000
rd=rnorm(n) 
plot(density(rd),main = "正态随机变量概率密度",lwd=2)
points(rd,rep(0.01,n),pch=20,col=rainbow(n))

qq正态图不服从正态怎么解决R语言 qq图验证正态分布_QQ图_03

t=rank(rd)/n #求观察累积概率
q=qnorm(t) #用累积概率求分位数值
plot(rd,q,main = "Q-Q图",pch=20,col=rainbow(n)) #画Q-Q图
abline(0,1,lwd=2)

qq正态图不服从正态怎么解决R语言 qq图验证正态分布_QQ图_04

第三次模拟5000个随机数

n=2000
rd=rnorm(n) 
plot(density(rd),main = "正态随机变量概率密度",lwd=2)
points(rd,rep(0.01,n),pch=20,col=rainbow(n))


t=rank(rd)/n #求观察累积概率
q=qnorm(t) #用累积概率求分位数值
plot(rd,q,main = "Q-Q图",pch=20,col=rainbow(n)) #画Q-Q图
abline(0,1,lwd=2)


可见,样本值越大,随机数的分布状态越近似于正态分布。

反馈与建议

  • 作者:ShangFR