P-P图是根据变量的累积比例与指定分布的累积比例之间的关系所绘制的图形。通过P-P图可以检验数据是否符合指定的分布。当数据符合指定分布时,P-P图中各点近似呈一条直线。如果P-P图中各点不呈直线,但有一定规律,可以对变量数据进行转换,使转换后的数据更接近指定分布。
Q-Q图是用样本的分位数与所指定分布的分位数之间的关系曲线来进行检验。纵坐标为分布分位数,横坐标为样本分位数,要利用Q-Q图鉴别样本数据是否近似于正态分布,只需看Q-Q图上的点是否近似地在一条直线附近,而且该直线的斜率为标准差,截距为均值, 用Q-Q图还可获得样本偏度和峰度的粗略信息.
#画QQ图
x<-rnorm(35,0,1)#正态分布的随机抽样数据的Q-Q图
qqnorm(x, main = "Normal Q-Q Plot",
xlab = "Theoretical Normal Quantiles",
ylab = "Sample Normal Quantiles",pch=19)
qqline(x)
#画P-P图
x<-rnorm(35)
plot(ppoints(length(x)),pnorm(sort(x)),pch=19,xlab ='Theoretical cumulative distribution', ylab = "Empirical cumulative distribution")
abline(0,1)
StatDA包里边的函数ppplot.das和qqplot.das或许更好理解一些。
#ppplot.das
library(StatDA)
ppplot.das(x, pdist = pnorm, xlab ='Theoretical cumulative distribution', ylab = "Empirical cumulative distribution", line = TRUE,pch=19
分布的正态性检验的几个方法
(1)Shapiro-Wilk检验(W检验)
一种非参数检验,常用于小样本,以观测样本和对应的理论分位数相关为基础,适用样本数在3到5000之间。R中函数为shapiro.test()。
原假设:检验的样本来自正态分布。
例:set.seed(123)
结果:Shapiro-Wilk normality test
(2)Kolmogorov-Smirnov Test(D检验)
这是对经验分布的拟合检验,检验的是经验分布函数和假设总体分布函数的差异,适应于大样本。
Kolmogorov-Smirnov统计量计算的是:
例:
结果:
即y并非来自正态分布。
(3)其他
Jarque-Bera 检验:tseries包的函数jarque.bera.test
Anderson-Darling检验,R包ADGofTest
特别的,R包fbasic的 NormalityTests提供了一组用于 检验金融收益正态性的单样本检验函数,包含了以上的检验。
原文:
http://site.douban.com/182577/widget/notes/10568316/note/265289957/