1. 程式人生 > >卡方檢驗 CHI-square Test

卡方檢驗 CHI-square Test

卡方檢驗

卡方檢驗就是統計樣本的實際觀測值與理論推斷值之間的偏離程度,實際觀測值與理論推斷值之間的偏離程度就決定卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趨於符合,若兩個值完全相等時,卡方值就為0,表明理論值完全符合。

卡方檢驗最基本的思想就是通過觀察實際值與理論值的偏差來確定理論的正確與否。具體做的時候常常先假設兩個變數確實是獨立的(“原假設”),然後觀察實際值(觀察值)與理論值(這個理論值是指“如果兩者確實獨立”的情況下應該有的值)的偏差程度,如果偏差足夠小,我們就認為誤差是很自然的樣本誤差,是測量手段不夠精確導致或者偶然發生的,兩者確確實實是獨立的,此時就接受原假設;如果偏差大到一定程度,使得這樣的誤差不太可能是偶然產生或者測量不精確所致,我們就認為兩者實際上是相關的,即否定原假設,而接受備擇假設。
理論值為E,實際值為x,偏差程度的計算公式為:


這個式子就是開方檢驗使用的差值衡量公式。當提供了數個樣本的觀察值x1,x2,……xi,……xn之後,代入到式中就可以求得卡方值,用這個值與事先設定的閾值比較,如果大於閾值(即偏差很大),就認為原假設不成立,反之則認為原假設成立。
在文字分類的特徵選擇階段,一般使用“詞t與類別c不相關”來做原假設,計算出的開方值越大,說明對原假設的偏離越大,我們越傾向於認為原假設的反面情況是正確的。選擇的過程為每個詞計算它與類別c的開方值,從大到小排個序(此時開方值越大越相關),取前k個就可以。
卡方檢驗的缺點是:它只統計文件是否出現詞,而不管出現了幾次。這會使得他對低頻詞有所偏袒(因為它誇大了低頻詞的作用)。甚至會出現有些情況,一個詞在一類文章的每篇文件中都只出現了一次,其開方值卻大過了在該類文章99%的文件中出現了10次的詞,其實後面的詞才是更具代表性的,但只因為它出現的文件數比前面的詞少了“1”,特徵選擇的時候就可能篩掉後面的詞而保留了前者。這就是開方檢驗著名的“低頻詞缺陷”。因此開方檢驗也經常同其他因素如詞頻綜合考慮來揚長避短。

實現方法:
1  統計樣本集中文件總數(N)。
2  統計每個詞的正文件出現頻率(A)、負文件出現頻率(B)、正文件不出現頻率(C)、負文件不出現頻率(D)。
3 計算每個詞的卡方值,公式如下:


 將每個詞按卡方值從大到小排序,選取前k個詞作為特徵,k即特徵維數。