假设检验-KS检验

版权声明:本人博文一律不许转载,如发现转载,需负法律责任 https://blog.csdn.net/qq_38984677/article/details/82115930

传送:随机变量概率分布函数汇总-离散型分布+连续型分布

KS(Kolmogorov-Smirnow)是一种非参数的统计检验方法(是针对连续分布的检验)。这种检测常被用来应用于比较单样本是否符合某个已知分布(将样本数据的累计频数分布与特定理论分布相比较,如果两者间差距较小,则推断该样本取自某特定分布簇),双样本的KS检测比较两个数据集的累积分布(连续分布间的相似性)

KS检验与卡方检验相比(都采用实际频数与理论频数之差进行检验),不需要将数据分组,可直接对原始数据的n个观测值进行检验,故KS检验对数据的利用更加完整,KS检验主要用于有计量单位的连续和定量数据。KS检验具有稳健性(不依赖均值的位置),对数据量纲不敏感,一般来说比卡方检验更有效,适用范围广

1.单样本KS检验

H0:总体X具有分布F,构造检验统计量Z

当H0为真时,Z依分布收敛于Kolmogorov分布 

1.均匀分布检验,原假设为数据集符合均匀分布(备选假设为样本数据来自的总体分布不符合均匀分布)统计量D=max|Fo(x)-Fn(x)|,Fn(x)为随机变量的累计概率分布函数,D值越小,越接近0表示样本数据来自的总体分布接近均匀分布
ks.test(S,"punif")

2.正态分布检验
#检测数据集X是否符合正态分布,100个数 
x=rnorm(100);
ks.test(x,"pnorm");  #原假设为符合正态分布(随着个数的增加,数据集将更加符合正态分布)

3.指数分布检验
ks.test(x,"pexp")

4.gamma分布检验
ks.test(x,"pgamma",1) #原假设数据集符合伽玛分布,数据集是否符合形状参数=1的伽玛分布

5.weibull分布检验
ks.test(x,"pweibull",1) #原假设数据集符合威布尔分布,数据集是否符合形状参数=1的威布尔分布

6.卡方分布检验(原假设-数据集符合卡方分布)
s<-rchisq(1000,1)
ks.test(x,"pchisq",1) #检验数据集是否符合自由度=1的卡方分布

7.F分布检验
ks.test(s,"pf",1,1,2)

8.t分布检验
ks.test(s,"pt",1,2)	#自由度=1,ncp=2的t分布

9.贝塔分布检验
ks.test(s,"pbeta",1,2)

2.双样本KS检验-检验总体分布是否相同

两样本KS检验对双样本经验分布函数的位置和形状参数差异都比较敏感,是比较两样本最有用+最常规的非参数检验方法

假定两个独立样本的样本量分别为n1,n2,F_{1}(x),F_{2}(x)为两个样本的累积经验分布函数,D_{j}=F_{1}(x_{j})-F_{2}(x_{j})构造检验统计量Z(近似正态分布):

#生成均匀分布样本数据-来自两个独立总体的两个样本
set.seed(3); 
x=runif(n=20,min=0,max=20);
y=runif(n=20,min=0,max=20);
#经验累积分布函数
plot(ecdf(x),do.points=FALSE,verticals=T,xlim=c(0,20)); lines(ecdf(y),lty=3,do.points=FALSE,verticals=T);

ks.test(x,y);

猜你喜欢

转载自blog.csdn.net/qq_38984677/article/details/82115930
今日推荐