【假设检验】MATLAB实现K-S检验

MATLAB实现K-S检验

  • 1 K-S检验
  • 2 单样本的K-S检验
    • 2.1 kstest函数调用格式
    • 2.2 案例
  • 3 双样本的K-S检验
    • 3.1 kstest2函数调用格式
    • 3.2 案例
  • 4 讨论
    • 4.1 K-S检验的样本数讨论
    • 4.2 不同检验方法的适用讨论
  • 参考

1 K-S检验

Glivenko定理指出, 经验分布是理论分布的相容估计。
柯尔莫戈洛夫-斯米诺夫检验(Kolmogorov-Smirnov test),简称K-S检验,是一种常用的拟合优度检验。

2 单样本的K-S检验

2.1 kstest函数调用格式

kstest函数用来作单个样本的Kolmogorov-Smirnov检验:它可以作双侧检验,检验样本是否服从指定的分布;也可以作单侧检验,检验样本的分布函数是否在指定的分布函数之上或之上,这里的分布是完全确定的不含有位置参数。
1)

h = kstest(x)

检验样本x是否服从标准正态分布,原假设是x服从标准正态分布,备择假设是x不服从标准正态分布。当输出h=1时,在显著性水平α=0.05下拒绝原假设;当h=0时,则在显著性水平α=0.05下接受原假设。
2)

h = kstest(x,CDF)

3)

h = kstest(x,CDF,alpha)

4)

h = kstest(x,CDF,alpha,type)

5)

[h,p,ksstat,cv] = kstest(...)

输出值:

  • h
  • p
  • ksstat
  • cv

2.2 案例

3 双样本的K-S检验

3.1 kstest2函数调用格式

3.2 案例

4 讨论

4.1 K-S检验的样本数讨论

当样本数为100时,此时h=0,通过检验。
【假设检验】MATLAB实现K-S检验_第1张图片
当样本数为1000时,此时h=1,不通过检验。
【假设检验】MATLAB实现K-S检验_第2张图片
大样本近似避免使用K-S检验。
大样本近似(Large Sample Approximation, LSA)。

4.2 不同检验方法的适用讨论

对于确定边缘分布部分,常用的方法除了从一些理论方面直接得到分布函数模型外,更多的是根
据仿真和试验数据建立其相应的概率模型,进行有机的融合,即对其做服从某种分布的假设检验,通
常采用的是经验分布EDF 型检验、皮尔逊χ2 检验和K-S 检验等有效的假设检验方法来检验建模假
设的正确性。
分析检验方法:

  • χ2 检验针对的是离散分布,观察频数与期望频数差异作为检验指标,通常是大容量样本,而对于连续性总体研究时,则需离散化,那么有用信息就会损失,检验功效较差,因此对于连续性总体的检验,χ2 检验并不是理想的检验方法。
  • EDF检验针对的是连续性分布,是判断经验分布与假设分布之间的差异,适用于小样本,大样本时计算很复杂。
  • K-S检验针对的是连续性分布,是寻找实际分布与理论分布之间的最大距离,适用于大样本。因此经过分析我们可以采用K-S检验来检验建模假设的正确性。

参考

1-正态性检验方法——K-S检验和S-W检验的区别
2-论文-J2013-K-S检验下的copula 分布估计算法边缘分布的研究
3-书籍-《MATLAB统计分析与应用:40个案例分析》
4-论文-J2007-A Cautionary Note on the Use of the Kolmogorov–Smirnov Test for Normality

你可能感兴趣的:(#,MATLAB实现各种基础方法,matlab)