[bigdata-128] 卡方檢驗是什麼
先用一個例子解釋卡方。
一個硬幣,正面是字,反面是花。拋20次,有11次是字,9次是花。根據這個丟擲結果,可否假設拋一次硬幣出現字和花的概率都是50%?驗證這個假設,就是卡方檢驗。
期望次數:假如認為子和花出現概率都是50%丟擲的理論次數。本例中,拋20次,如果字和花出現的概率相同,那麼它們的期望次數都10。
我們可以把觀察次數和期望次數放到下表。
觀察次數 | 期望次數 | 合計 | |
字 | 11 | 10 | 21 |
花 | 9 | 10 | 19 |
合計 | 20 | 20 | 40 |
從直覺來說,如果觀察次數和期望次數是一樣的,假設是合理的。如果觀察次數和期望次數差別比較大,則假設是不合理的。由此,設計一個衡量觀察次數和期望次數之間差異的值。又考慮到,如果拋硬幣次數不是10,是100次,會被影響,因此需要去掉次數的影響,也就是分別除以字和花的期望次數,本例這兩個值都是10,即。
又考慮到,如果這不是一個硬幣,是一個骰子,那麼表格就會增加4行,由此導致變化,也需要去掉這個因素的影響,這個因素稱之為自由度。
如何計算自由度?只要一種可能的話,自由度是0,有兩種可能,自由度是1。如果拋不是一個硬幣,而是一顆檯球,上面數字只有一種可能,此時自由度是0。一個藥片,吃下去的有三種結果:病治癒,病惡化,病不變,如果吃下去只有治癒這個可能,自由度是0,如果有三種可能,自由度是2。
對於本例的表格而言,行和列的自由度都有自己的自由度,分別是行數和列數減一。又考慮到行數和列數的乘積是表中數值的總數,因此全表對應的自由度是行和列自由度的乘積。本例的自由度由此計算出來是1。
對本例而言,計算出的越小,越能驗證假設是正確的,越大,越證明假設是錯誤的。那麼,究竟有多小,可以大概率認為假設正確呢?經驗而言,大家認為95%的概率是足夠大。95%的概率,從數學上解釋是這樣的:的概率密度曲線,自變數從0開始到某一個值之間的累計概率等於95%,也就是從0到這個值的概率密度曲線和x軸之見的面積是95%。可以參考下圖,上面每條線都是某自由度下的卡方概率密度曲線。
比如,對於k=1的情況,就是最下面的黑線,從0到某個值之見,概率密度曲線和座標軸之見的面積是0.95%。如果假設95%是正確的,那麼計算出來的值應該小於這個值。反之,如果我們以95%的概率認為假設是錯誤的,那麼計算出來的計算出來的值要大於這個值。
屬於95%概率教置信度,本例那麼置信度就是0.95。
為方便使用,概率密度曲線的自由度、置信度對應關係有一張表可以查到(表來自https://www.jianshu.com/p/807b2c2bfd9b),如下:
自由度是1且置信度是0.95的情況下,的上限是3.841,而此前計算出來的值0.2小於上限,因此可以視為假設成立。假設成立,就意味著如果丟擲的結果是字11次花9次能驗證字和花的出現概率都是50%。
上面的表,叫 卡方分佈臨界值表。不同的分佈有不同的表。自由度1,就是一個標準正態分佈的變數的平方模擬出來的,自由度2,是兩個標準正態分佈變數的平方和模擬出來的,其他以此類推。
泛化一下,卡方檢驗的計算公式是,其中,表示觀察值,表示期望值。對於單變數,比如本例,表示樣本出現的可能值的數量。
對於多變數多種可能,公式又可以修改為。後文我們會用另一個例子說明。
牛奶和感冒的例子。https://blog.csdn.net/snowdroptulip/article/details/78770088
https://blog.csdn.net/snowdroptulip/article/details/78770088
https://blog.csdn.net/qq_39303465/article/details/79223843
http://www.cnblogs.com/emanlee/archive/2008/10/25/1319569.html
https://en.wikipedia.org/wiki/Chi-squared_test
https://www.zhihu.com/question/21195469
未完待續。