您的位置:首页 > 编程语言 > Go语言

Kolmogorov-Smirnov test

2014-08-25 17:58 155 查看
单个样本分布的
Kolmogorov-Smirnov 测试

函数 kstest

格式 H = kstest(X)
%测试向量X是否服从标准正态分布,测试水平为5%。

H = kstest(X,cdf)
%指定累积分布函数为cdf的测试(cdf=[
]时表示标准正态分布),测试水平为5%

H = kstest(X,cdf,alpha) %
alpha为指定测试水平

[H,P,KSSTAT,CV] = kstest(X,cdf,alpha)
%P为原假设成立的概率,KSSTAT为测试统计量的值,CV为是否接受假设的临界值。

说明
原假设为X服从标准正态分布。若H=0则不能拒绝原假设,H=1则可以拒绝原假设。

例4-82
产生100个威布尔随机数,测试该随机数服从的分布

>> x=weibrnd(1,2,100,1);

>> [H,p,ksstat,cv]=kstest(x,[x weibcdf(x,1,2)],0.05)
%测试是否服从威布尔分布

H =

0

p =

0.3022

ksstat =

0.0959

cv =

0.1340

说明
H=0表示接受原假设,统计量ksstat小于临界值表示接受原假设。

>> [H,p,ksstat,cv]=kstest(x,[x expcdf(x,1)],0.05)
%测试是否服从指数分布

H =

1

p =

0.0073

ksstat =

0.1653

cv =

0.1340

说明 H=1表明拒绝服从指数分布的假设。

>> [H,p,ksstat,cv]=kstest(x,[ ],0.05)
%测试是否服从标准正态分布

H =

1

p =

3.1285e-026

ksstat =

0.5380

cv =

0.1340

说明 H=1表明不服从标准正态分布。

两个样本具有相同的连续分布的假设检验
函数 kstest2

格式 H = kstest2(X1,X2)
%测试向量X1与X2是具有相同的连续分布,测试水平为5%。

H = kstest2(X1,X2,alpha) %
alpha为测试水平

[H,P,KSSTAT] = kstest(X,cdf,alpha)
%与指定累积分布cdf相同的连续分布,P为假设成立的概率,KSSTAT为测试统计量的值。

说明
原假设为具有相同连续分布。测试结果为H,若H=0,表示应接受原假设;若H=1,表示可以拒绝原假设。这是Kolmogorov-Smirnov测试方法。

例4-83

>> x=-1:1:5;

>> y=randn(20,1);

>> [h,p,k]=kstest2(x,y)

h =

1

p =

0.0444

k =

0.5643

说明
h=1表示可以认为向量x与y的分布不相同,相同的概率只有4.4%。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: