KS test 是一非参数检验,用于检验某一个样本是否来自于某一特定分布,或者比较两个样本是否来自于相同的分布。这里我们先介绍检验样本是否来自于某一分布的KS检验,假设我们的样本为, ... , ,要检验的分布函数为, null hypothesis为 X来自于分布.
在介绍KS检验之前,我们需要几点预备知识:
1. random step function
设, ... , 为 i.i.d 的random variable,均值为0,方差为1. 对于每一个n, 我们定义如下的连续时间随机过程:
, .
被称作random step function.
(random step function有一些性质,比如说,对于足够大的n,,根据中心极限定理,接近于分布; 当n趋向于无穷大时,Donsker's theorem表明接近Wiener process,记为,是一均值为0方差为t的正态分布,Norbert Wiener在研究一维 Brownian motion的一些性质的时候发现的)
2. Brownian bridge
设为一标准 Wiener process,则定义Brownian bridge为:
,
(Brownian bridge有一些性质,如可以证明与相互独立。其均值为0,方差为)
接下来介绍KS test的内容。
n个相互独立的随机样本 , ... ,,其经验分布函数为:
, 其中 为indicator function,等于1 if ,等于0 otherwise.
构造Kolmogorov-Smirnov统计量 .(根据Glivenko-Canteli theorem, 若样本来自于分布 ,则当n趋向于无穷大时,应该almost surely收敛到0)
下一步是构造服从Kolmogorov distribution的随机变量 K,定义:
,其中为Brownian bridge.
根据Kolmogorov theorem, as . 取为一实数使得 ,则,若 ,以 level 拒绝null hypothesis。
此检验在R等软件中都有运算包,可以直接使用。