卡方分析是最常見的交叉表分析方法,皮爾森卡方檢定(Pearson's chi-squared test)是最著名的一種。卡方分析應用在自變數與應變數都是類別變數的時候。透過比較交叉表中每一個觀察值與期望值的差距,得出卡方統計量。由於統計值的機率分配近似卡方分配,所以稱為卡方檢定。
卡方統計量的公式是:
\[x^2=\displaystyle \sum_{_i=1}^{r}\displaystyle \sum_{_j=1}^{c}\frac{(O_{i,j}-E_{i,j})^2}{E_{i,j}}\]
\(O\)= Observer觀察值。
\(E\)= Expected value期望值。
\(\displaystyle \sum_{i=1}^{r}\), \(\displaystyle \sum_{i=1}^{c}\)= 加總列(r)與欄(c)觀察值與期望值的差異。
自由度:(r−1)(c−1)。
卡方分析
我們以第三剎車燈的例子,來實際應用卡方分析。
為了防止追撞車禍,美國雷根政府頒布法令,強制所有1986年以後生產的汽車,都必須加裝第三剎車燈(center high-mounted stop lamp)。其背後的原理在於,當後車駕駛已經習慣前車的後煞車燈,第三剎車燈可以提高後車駕駛的注意力,避免追撞事故發生。
第三剎車燈到底對降低追撞車禍肇事率有沒有幫助?聯邦政府交通部高公局曾在1998年發布一份名為The Long-Term Effectiveness of Center High Mounted Stop Lamps in Passenger Cars and Light Trucks報告。這份報告比較佛羅里達州第三剎車燈政策施行前後的肇事數據如下:
Model Year | Rear Impacts | Others (Control Group) |
---|---|---|
1985 (without CHMSL) | 6,773 | 22,959 |
1986 (CHMSL-equipped) | 7161 | 25,989 |
相同的數據,利用table()與summary()進行卡方分析來檢測政策成效:
> thirdlight_tab<-matrix(c(6773, 22959, 7161, 25989), ncol=2, byrow=TRUE) #建立矩陣
> colnames(thirdlight_tab)<-c("Rear Impacts", "Others") #命名矩陣的欄
> rownames(thirdlight_tab)<-c("1985 (without)", "1986 (equipped)") #命名矩陣的列
> thirdlight_tab<-as.table(thirdlight_tab) #將矩陣轉換為交叉表
> thirdlight_tab #輸出交叉表
Rear Impacts Others
1985 (without) 6773 22959
1986 (equipped) 7161 25989
> summary(thirdlight_tab) #輸出卡方分析結果
Number of cases in table: 62882
Number of factors: 2
Test for independence of all factors:
Chisq = 12.618, df = 1, p-value = 0.0003821
上述卡方分析的結果,卡方統計量為12.618,p值<.05,因此拒絕虛無假設,代表政策實施前後,第三剎車燈對於降低後方來車追撞的傷亡,確實有顯著差異。
除了summary()之外,chisq.test()也能進行卡方分析:
> chisq.test(thirdlight_tab)
Pearson's Chi-squared test with Yates' continuity correction
data: thirdlight_tab
X-squared = 12.549, df = 1, p-value = 0.0003963
期望值
卡方分析的原理是計算觀察值與期望值的差異。因此期望值的計算是決定卡方統計量的基礎。期望值可以透過手動計算來獲得。
> addmargins(thirdlight_tab) #邊際加總
Rear Impacts Others Sum
1985 (without) 6773 22959 29732
1986 (equipped) 7161 25989 33150
Sum 13934 48948 62882
計算邊際加總後,可以一一計算每個儲存格的期望值。例如第一格儲存格的期望值為\(\frac{13934 \times 29732}{62882}=6588\),第二格的期望值為\(\frac{48948 \times 29732}{62882}=23144\)。以此類推,每個儲存格的期望值為:
Model Year | Rear Impacts | Others (Control Group) | Sum |
---|---|---|---|
1985 (without) | 6773 (期望值6588) | 22959 (期望值23144) | 29732 |
1986 (equipped) | 7161 (期望值7376) | 25989 (期望值25804) | 33150 |
Sum | 13934 | 48948 | 62882 |
也可以透過chisq.test,更快速計算期望值:
> chisq<-chisq.test(thirdlight_tab) #將卡方分析結果指定給chisq
> round(chisq$expected) #計算期望值並四捨五入
Rear Impacts Others
1985 (without) 6588 23144
1986 (equipped) 7346 25804
有了期望值,就可以根據公式算出卡方統計量。
> (((6773-6588)^2)/6588)+(((22959-23144)^2)/23144)+(((7161-7346)^2)/7346)+(((25989-25804)^2)/25804)
第三剎車燈到底對降低追撞肇事率有沒有幫助?從卡方分析來看,政策實施前後,後車追撞肇事率有顯著降低。加裝第三剎車燈的汽車肇事率大約下降7%:
\[1-\frac{\tfrac{7161}{6773}}{\tfrac{25989}{22959}}=0.0659\]
雷根政府的這項政策,是現在所有汽車都有第三剎車燈的濫觴。但經過30多年後,其政策效果也出現質疑的聲音。越來越多的統計數據顯示,後車追撞的發生率及致死率都有逐年上升趨勢,令人不禁懷疑是不是駕駛人已經習慣第三剎車燈,而需要第四、第五剎車燈來提醒了呢?