卡方檢驗講解
- 2019 年 10 月 4 日
- 筆記

總第166篇/張俊紅
我們前面講過方差分析,方差分析的應用場景是什麼樣子的呢?不記得同學可以翻回去看看。當我們要比較兩組或者多組均值有沒有顯著性差異的時候,我們可以用方差分析。請注意,這裏面我們提到是兩組或者多組之間的均值比較時,我們用方差分析,想一下什麼類型的數據可以求均值呢?是不是只有數值類型的數據才可以求均值。也就是所謂的連續型變量。那如果我們要比較兩組或者多組之間的分類型變量之間是否有顯著性差異呢?這個時候就不可以使用方差分析了,就需要使用專門用於分類變量比較的卡方檢驗。
接下來我們具體看一下卡方分析是怎麼做的。
現在某個研究機構為了驗證一下吸煙與肺病的關係,通過抽樣調查得到如下數據:

我們先假設是否吸煙與是否患肺病之間是沒有必然聯繫的,也就是不管是否患肺病的群體中吸煙者比例都應該等於合計中吸煙者比例,即33%。我們來看一下,如果各組的吸煙者比例都為33%的時候,各組的人數分佈情況是什麼樣的。我們通過上表可以看出肺病患者裏面的吸煙比例為48%,明顯高於非肺病患者中的吸煙比例20%。可是這能直接說明兩者之間有顯著性差異嗎?我們需要來驗證一下到底顯著不顯著呢?那具體該怎麼驗證呢?

通過對比前面的兩個表,我們可以發現各組的人數都不太一樣,造成不太一樣的原因主要有兩個,一個就是抽樣誤差導致的,另一個就是我們的假設是錯誤的,也就是各組之間的數據本來就是有差異的。那我們怎麼來判斷到底是哪種錯誤呢?這個時候就需要引入卡方檢驗了。

Ai為實際頻數(出現的次數),Ti為理論頻數。
我們把第一個表中各組的值稱為實際頻數,把第二個表中各組的值稱為理論頻數。卡方檢驗的值用來反映理論頻數和實際頻數的差異大小。理論頻數和實際頻數差別越大(分子越大),卡方檢驗值越大;反之,卡方檢驗值越小。
如果只是由於抽樣誤差造成的實際頻數和理論頻數的差異,那卡方檢驗的值應該很小,因為我們相信我們的抽樣還是比較合理的,所以誤差不會特別大;如果卡方檢驗值太大,就不太能夠用誤差來解釋,只能說明原假設不成立,即各組之間的數據本來就有差異。
我們在上面的描述中用到了兩個詞,卡方值很小或太大,什麼樣的卡方值算很小,什麼樣的卡方值算太大呢?這個時候就需要引入我們的卡方分佈了,如下圖所示,就和Z檢驗中的正態分佈一樣。

上圖中的n為自由度,不同自由度對應的卡方分佈是不一樣的。而自由度又與特徵維度有關,自由度 = (行數-1)*(列數-1),我們上面的例子是兩行兩列的數據,所以最後自由度為1。
我們知道了自由度以後,就可以通過卡方分佈的臨界值表去找到這個自由度對應的不同邊界值以及P值。
通過下圖可以看出,當自由度為1時,臨界值3.84對應的P值為0.05,也就是當卡方值的大於3.84時,右側面積小於0.05,可以認為是小概率事件,不可能發生。

卡方分佈的臨界值表:
https://wenku.baidu.com/view/9459feda9a89680203d8ce2f0066f5335a8167ac.html
我們計算前面提到的兩個表的卡方值:

計算出來的卡方值60.53遠遠大於3.84,所以可以認為我們的原假設是不成立的,即是否患肺病與是否吸煙是有關係的。
以上就是關於卡方檢驗的一個整體過程。