Kolmogorov-Smirnov是比較一個(gè)頻率分布f(x)與理論分布g(x)或者兩個(gè)觀測(cè)值分布的檢驗(yàn)方法。其原假設(shè)H0:兩個(gè)數(shù)據(jù)分布一致或者數(shù)據(jù)符合理論分布。D=max| f(x)- g(x)|,當(dāng)實(shí)際觀測(cè)值D>D(n,α)則拒絕H0,否則則接受H0假設(shè)。
KS檢驗(yàn)與t-檢驗(yàn)之類的其他方法不同是KS檢驗(yàn)不需要知道數(shù)據(jù)的分布情況,可以算是一種非參數(shù)檢驗(yàn)方法。當(dāng)然這樣方便的代價(jià)就是當(dāng)檢驗(yàn)的數(shù)據(jù)分布符合特定的分布事,KS檢驗(yàn)的靈敏度沒(méi)有相應(yīng)的檢驗(yàn)來(lái)的高。在樣本量比較小的時(shí)候,KS檢驗(yàn)最為非參數(shù)檢驗(yàn)在分析兩組數(shù)據(jù)之間是否不同時(shí)相當(dāng)常用。
PS:t-檢驗(yàn)的假設(shè)是檢驗(yàn)的數(shù)據(jù)滿足正態(tài)分布,否則對(duì)于小樣本不滿足正態(tài)分布的數(shù)據(jù)用t-檢驗(yàn)就會(huì)造成較大的偏差,雖然對(duì)于大樣本不滿足正態(tài)分布的數(shù)據(jù)而言t-檢驗(yàn)還是相當(dāng)精確有效的手段。
假設(shè)檢驗(yàn)的基本思想:
若對(duì)總體的某個(gè)假設(shè)是真實(shí)的,那么不利于或者不能支持這一假設(shè)的事件A在一次試驗(yàn)中是幾乎不可能發(fā)生的。如果事件A真的發(fā)生了,則有理由懷疑這一假設(shè)的真實(shí)性,從而拒絕該假設(shè)。
實(shí)質(zhì)分析:
假設(shè)檢驗(yàn)實(shí)質(zhì)上是對(duì)原假設(shè)是否正確進(jìn)行檢驗(yàn),因此檢驗(yàn)過(guò)程中要使原假設(shè)得到維護(hù),使之不輕易被拒絕;否定原假設(shè)必須有充分的理由。同時(shí),當(dāng)原假設(shè)被接受時(shí),也只能認(rèn)為否定該假設(shè)的根據(jù)不充分,而不是認(rèn)為它絕對(duì)正確。
1、檢驗(yàn)指定的數(shù)列是否服從正態(tài)分布
借助假設(shè)檢驗(yàn)的思想,利用K-S檢驗(yàn)可以對(duì)數(shù)列的性質(zhì)進(jìn)行檢驗(yàn),看代碼:
from scipy.stats import kstest
import numpy as np
x = np.random.normal(0,1,1000)
test_stat = kstest(x, 'norm')
test_stat
>>>(0.021080234718821145, 0.76584491300591395)
首先生成1000個(gè)服從N(0,1)標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù),在使用k-s檢驗(yàn)該數(shù)據(jù)是否服從正態(tài)分布,提出假設(shè):x從正態(tài)分布。
最終返回的結(jié)果,p-value=0.76584491300591395,比指定的顯著水平(假設(shè)為5%)大,則我們不能拒絕假設(shè):x服從正態(tài)分布。
這并不是說(shuō)x服從正態(tài)分布一定是正確的,而是說(shuō)沒(méi)有充分的證據(jù)證明x不服從正態(tài)分布。因此我們的假設(shè)被接受,認(rèn)為x服從正態(tài)分布。
如果p-value小于我們指定的顯著性水平,則我們可以肯定的拒絕提出的假設(shè),認(rèn)為x肯定不服從正態(tài)分布,這個(gè)拒絕是絕對(duì)正確的。
2、檢驗(yàn)指定的兩個(gè)數(shù)列是否服從相同分布
from scipy.stats import ks_2samp
beta=np.random.beta(7,5,1000)
norm=np.random.normal(0,1,1000)
ks_2samp(beta,norm)
>>>(0.60099999999999998, 4.7405805465370525e-159)
我們先分別使用beta分布和normal分布產(chǎn)生兩個(gè)樣本大小為1000的數(shù)列,使用ks_2samp檢驗(yàn)兩個(gè)數(shù)列是否來(lái)自同一個(gè)樣本,提出假設(shè):beta和norm服從相同的分布。
最終返回的結(jié)果,p-value=4.7405805465370525e-159,比指定的顯著水平(假設(shè)為5%)小,則我們完全可以拒絕假設(shè):beta和norm不服從同一分布。