- 統(tǒng)計學(xué)習(xí)理論與方法:R語言版
- 左飛
- 4881字
- 2020-10-16 16:24:24
4.1 列聯(lián)分析
列聯(lián)分析是利用列聯(lián)表(Contingency Table)來研究兩個分類變量之間關(guān)系的統(tǒng)計方法。以皮爾遜提出的卡方檢驗為代表列聯(lián)分析技術(shù)在數(shù)據(jù)分析領(lǐng)域具有非常廣泛的應(yīng)用。
4.1.1 類別數(shù)據(jù)與列聯(lián)表
1912年4月15日,豪華巨輪泰坦尼克號在她的處女航中因不幸與冰山相撞而沉入冰冷的大西洋。這場空前的海難令世界震動。根據(jù)維基百科所提供的數(shù)據(jù),當時船上有908名船員和1316名乘客,共計2224人。事故發(fā)生后,共有710名乘客獲救,約占總?cè)藬?shù)的32%。具體傷亡統(tǒng)計數(shù)據(jù)請見表4-1。
表4-1 泰坦尼克號傷亡統(tǒng)計

數(shù)據(jù)是冰冷和殘酷的,但它背后的故事卻是值得我們深入思考的。比如死亡是否與性別或年齡有關(guān)?面對死亡,人是否有高低貴賤之分?面對突如其來的災(zāi)難,船員是否忠于職守?這些看似干癟的數(shù)據(jù)是否能夠反映當時人們的價值取向以及面對死亡的態(tài)度?基于本章的學(xué)習(xí),相信讀者應(yīng)該有能力解開這些疑問。
我們都知道,統(tǒng)計數(shù)據(jù)有類別型數(shù)據(jù)和數(shù)值型數(shù)據(jù)之分。對于類別型數(shù)據(jù)來說,盡管最終結(jié)果也是以數(shù)值來表示的,但不同數(shù)值所描述的對象特征卻是彼此區(qū)別的。例如在泰坦尼克號傷亡情況分析的例子中,若想討論死亡是否與性別有關(guān),就可以把成年人群體分成男性和女性兩類,并用1來表示男性,而用0來表示女性。如果想研究死亡是否與艙位有關(guān),又可將乘客分位頭等艙乘客(用1表示)、二等艙乘客(用2表示)和三等艙乘客(用3表示)。顯然,對于上述問題的分析,是在以統(tǒng)計數(shù)據(jù)的匯總分類為基礎(chǔ)的。而且為了便于后續(xù)分析工作的開展,選擇一種有效的方式來對數(shù)據(jù)進行組織也很有必要,這種有效的方式就是所謂的列聯(lián)表。
列聯(lián)表是由兩個以上的變量進行交叉分類的頻數(shù)分布表。例如在研究泰坦尼克號中乘客的艙位與其最終是否獲救之間關(guān)系的問題上,可以建立如表4-2所示的列聯(lián)表。表中的行(row)是生存變量,它被劃分成兩類:獲救或者罹難;表中的列(column)是艙位變量,它被劃分為三類,即頭等艙、二等艙和三等艙。因此表4-2是一個2×3的列聯(lián)表。表中的每個數(shù)據(jù),都反映著來自生成變量和艙位變量兩個方面的信息。列聯(lián)表是進行列聯(lián)分析的基礎(chǔ),下一小節(jié)我們就將通過實際的用例來介紹基于χ2檢驗的列聯(lián)分析方法。
表4-2 列聯(lián)表示例

4.1.2 皮爾遜(Pearson)的卡方檢驗
皮爾遜的卡方統(tǒng)計量(Pearson's Chi-Square Statistic),或者簡寫成χ2統(tǒng)計量,是由皮爾遜于1899年提出的用于檢驗實際分布與理論分布配合程度,即配合度檢驗的統(tǒng)計量。皮爾遜認為,不管理論分布構(gòu)造得如何好,它與實際分布之間總存在著或多或少的差異。這些差異可能是由于觀察次數(shù)不充分、隨機誤差太大而引起的,也可能是因所選配的理論分布本身與實際分布有實質(zhì)性差異而導(dǎo)致的。要甄別導(dǎo)致差異的原因,還需要用一種方法來檢驗。為此,皮爾遜提出了著名的χ2統(tǒng)計量,用來檢驗實際值的分布數(shù)列與理論值數(shù)列是否在合理范圍內(nèi)相符合,換句話說,χ2統(tǒng)計量可被用以測定觀察值與期望值之間的差異顯著性。卡方檢驗提出后得到了廣泛的應(yīng)用,在現(xiàn)代統(tǒng)計理論中占有重要地位。
卡方統(tǒng)計量由各項實際觀測數(shù)值與理論分布數(shù)值之差的平方除以理論數(shù)值,然后再求和而得出的。若用fo表示觀察值頻數(shù),用fe表示期望值頻數(shù),χ2統(tǒng)計量可以寫為

作為一種統(tǒng)計方法,χ2檢驗主要用于對兩個定類變量之間關(guān)系的分析。對定類變量進行分析,一般是把檢驗問題進行轉(zhuǎn)化,通過考察頻數(shù)與其期望頻數(shù)之間的吻合程度,達到檢驗?zāi)康摹?i>χ2檢驗還依賴于χ2分布的自由度,自由度定義為類別數(shù)量與限制數(shù)量之差,具體的計算我們在后續(xù)結(jié)合例子加以說明。
假設(shè)有一枚骰子,投擲120次并記錄其結(jié)果如表4-3所示,請問該枚骰子是否是無偏的?
表4-3 擲骰子的結(jié)果

首先提出原假設(shè)和備擇假設(shè)。
H0:骰子是無偏的,即所有投擲結(jié)果出現(xiàn)的可能性大致是均等的。
H1:原假設(shè)是錯誤的,即某些投擲結(jié)果的可能性較其他結(jié)果更大。
在原假設(shè)基礎(chǔ)上,可以得到期望的投擲結(jié)果如表4-4所示。
表4-4 期望投擲頻數(shù)

據(jù)此可以計算χ2統(tǒng)計量如下

因此P值應(yīng)該是Pr(X2≥7.90),其中。顯然,骰子擲出后可能的結(jié)果有6種,而在我們的例子中限制條件的數(shù)量只有1個,即所有觀察頻數(shù)之和等于120,所以自由度為5。查詢統(tǒng)計表可知,P值將介于0.1和0.25之間,因此在5%的水平下我們無法拒絕原假設(shè)。
在R中,自然無須這樣煩瑣的計算,chisq.test()函數(shù)將執(zhí)行χ2檢驗。該函數(shù)以記錄觀測頻數(shù)的向量為輸入,而且默認情況下以均等占比為原假設(shè)。對于擲骰子的例子,即假設(shè)擲出每個面的比例都是1/6。下面給出示例代碼

因此得到P值為0.1616。我們不能得出骰子是有偏的這個結(jié)論。注意如果要修改默認為均等占比的原假設(shè),可以通過調(diào)整函數(shù)中的參數(shù)p來實現(xiàn),具體細節(jié)請參閱R的幫助文檔,這里不再贅述。
擲骰子的例子其實只是讓讀者體驗了一下χ2檢驗的基本思想,引入列聯(lián)表之后將有能力處理更為復(fù)雜的例子。注意擲骰子的例子中所給出的表格并不是列聯(lián)表,因為它并未涉及多分類變量之間的交叉。
下面就來看一個基于列聯(lián)表的例子。眾所周知,婦女懷孕期間飲酒或抽煙將會對胎兒造成不良影響。有人認為飲酒和吸煙之間存在某種聯(lián)系,例如通常酗酒的人都有抽煙的嗜好。理解兩者之間的關(guān)系對于研究孕婦相關(guān)行為給胎兒可能帶來的影響十分重要。1984年,研究人員對452名母親進行了調(diào)查,根據(jù)她們在得知自己懷孕前的酒精和煙草攝入量得出了如表4-5所示的列聯(lián)表。請問飲酒和吸煙之間是否有關(guān)聯(lián)?
表4-5 飲酒與吸煙的統(tǒng)計數(shù)據(jù)

列聯(lián)表是兩個因素(變量)從橫向和縱向交叉而成的,因此以列聯(lián)表為基礎(chǔ)的假設(shè)檢驗中,原假設(shè)H0通常為兩個因素之間是沒有聯(lián)系的,即彼此獨立的。相應(yīng)地,備擇假設(shè)H1為原假設(shè)為假。在擲骰子的例子中,H0確定了每個可能輸出的概率,彼時H0僅僅指定了概率之間的關(guān)系。對于飲酒和吸煙關(guān)系的例子,我們可以提出下列原假設(shè)和備擇假設(shè)。
H0:吸煙和飲酒之間沒有關(guān)系,即兩者彼此獨立。
H1:原假設(shè)是錯誤的。
回想一下概率論中的有關(guān)結(jié)論,即如果事件A和B彼此獨立,則當且僅當Pr(A∩B)=Pr(A)×Pr(B)。所以如果原假設(shè)為真,那么對于本例而言必然有“酒精日均攝入超過1oz并且尼古丁日均攝入超過16mg的概率”就等于Pr(酒精日均攝入≥1oz)×Pr(尼古丁日均攝入≥16mg)。
表4-6 飲酒與吸煙的期望數(shù)據(jù)

這個原理也為我們計算期望值列聯(lián)表提供了依據(jù),相應(yīng)的期望值就等于行和與列和之積再除以表中數(shù)據(jù)總和。例如,從表4-5中可知,有90名母親日均飲酒量超過1oz,在原假設(shè)基礎(chǔ)上,則其中應(yīng)該有83/452的人日均尼古丁攝入量超過16mg。因此相應(yīng)的期望值就應(yīng)該是90×83/452=16.53。按照此方法,最終可以得出期望值的列聯(lián)數(shù)據(jù)如表4-6所示。由此可以算得χ2統(tǒng)計量如下

再來考慮一下用于檢驗的χ2分布的自由度,對于列聯(lián)表而言,一個通常的計算公式為
df=(r-1)×(c-1)=rc-(r+c-1)
其中,r表示行數(shù),c表示列數(shù),所以rc就是表中所給出的類別總數(shù)。r同時給出了r個限制條件,列數(shù)c同時給出了c個限制條件。但總行和=總列和=表中數(shù)值總和,所以在計算由行限制與列限制給出的限制條件數(shù)目時,有一個重復(fù)計算,我們應(yīng)該將其減去。最終限制數(shù)量為r+c-1。針對當前所討論的問題,自由度為
df=(4-1)×(3-1)=6
查表可知的臨界值,由此得到的P值小于0.001。計算P值的代碼如下。

整個χ2檢驗執(zhí)行過程的R代碼如下。

由此,便可以果斷地拒絕原假設(shè),并推得結(jié)論:飲酒與吸煙之間確實有聯(lián)系。
4.1.3 列聯(lián)分析應(yīng)用條件
在卡方檢驗中使用χ2分布來獲取P值,其實隱含地使用了一個條件,即用正態(tài)分布來近似二項分布。為了保證卡方檢驗的有效性,下列執(zhí)行條件應(yīng)當予以滿足
(1)每個單元格中的數(shù)據(jù)都是確切的頻數(shù)(而非占比)。
(2)類別不可相互交織。
(3)所有的期望頻數(shù)應(yīng)當都不小于1。
(4)至少80%的期望頻數(shù)都應(yīng)該不小于5。
如果上述條件無法都滿足,我們就不得不通過合并單元格的方法來滿足這些條件。但合并單元格的做法也會令自由度下降,進而削弱檢驗的效力。
來看一個研究鋁元素攝入與阿爾茲海默病之間關(guān)系的例子。研究人員選擇了一組阿爾茲海默病患者。作為對照實驗,又選擇了一組沒有患阿爾茲海默病的人,但其他方面與實驗組中的病患非常形似。參與實驗的對象,他們的含鋁抗酸劑使用情況如表4-7所示。
表4-7 含鋁抗酸劑的使用數(shù)據(jù)

下面的代碼對上述數(shù)據(jù)執(zhí)行了以皮爾遜卡方檢驗為基礎(chǔ)的列聯(lián)分析,其中將chisq.test()函數(shù)的輸出賦給了一個對象,即a.by.a.test。而且我們用一個括號來把賦值語句括了起來,如果不這樣做,程序?qū)H會對函數(shù)的結(jié)果進行儲存但并不會將其輸出。

下面想檢查一下每個期望頻數(shù)的大小,于是在R中輸入下面的代碼。

易見8個期望頻數(shù)中有兩個都小于5,因此得到的P值可能不是十分可靠。盡管它也比較小,但是在5%的顯著水平下,并不顯著。
為了說明這個問題,可以通過多種方法來陳述這個問題。其中一種方法就是使用模擬的方法來獲得一個更加精確的P值,例如

將參數(shù)simulate.p.value的值置為TRUE時,就表示要通過蒙特卡洛(Monte Carlo)模擬的方法來計算P值。具體來說,這個過程會產(chǎn)生2000個隨機表的獨立數(shù)據(jù),并以此來評估觀察值表在原假設(shè)前提下的極端性。通過調(diào)整參數(shù)B的值(缺省情況下為2000),可以改變蒙特卡洛模擬的重復(fù)量。
另外一種可以把問題陳述清楚的方法是對數(shù)據(jù)進行重新分類。可能更有問題的觀察值位于那些表示使用了中等劑量抗酸劑的單元格,所以將中等和高等兩類數(shù)據(jù)進行合并是比較合理的做法。于是便得到了如表4-8所示的結(jié)果。
表4-8 合并后的數(shù)據(jù)

然后再以此為基礎(chǔ)執(zhí)行卡方檢驗,于是可得下面的結(jié)果。

可見所有的期望頻數(shù)都已經(jīng)不再小于5了,此時給出的P值為0.037 38,因此可以得出抗酸劑的使用和阿爾茨海默病之間存在某種聯(lián)系。當然,將低等和中等兩類數(shù)據(jù)進行合并也比較合理,讀者不妨嘗試這種做法,然后再觀察一下其對最終結(jié)果的影響。
4.1.4 費希爾(Fisher)的確切檢驗
如果在2×2的列聯(lián)表中觀察值太小,χ2檢驗因近似程度較差,易導(dǎo)致分析的偏性(尤其是當所得概率接近檢驗水準時)。1934年,統(tǒng)計學(xué)家費希爾提出了一種新的檢驗方法,即費希爾確切檢驗(Fisher's exact test),這是一種專門用來對2×2的列聯(lián)表進行檢驗的方法。該方法不屬于χ2檢驗的范疇,但可作為2×2表格的χ2檢驗的補充。
表4-9 關(guān)于慣用左手還是右手的調(diào)查

假設(shè)在一項有47名學(xué)生參與的調(diào)查中,研究人員試圖檢驗性別與慣用左手還是右手之間是否存在聯(lián)系。調(diào)查數(shù)據(jù)見表4-9,從中易見女生中慣用左手的比例為1/31=0.032,該值小于男生中慣用左手的比例4/16=0.25。為了檢驗這兩個比例是否有顯著的不同,自然會想到使用之前介紹的χ2檢驗,但是四個單元格中有兩個所包含的期望值都小于5。根據(jù)之前的討論,我們知道此時應(yīng)該χ2檢驗并不明智。
費希爾確切檢驗假設(shè)僅知道2×2列聯(lián)表中邊界上的加和值,但對表中的詳細數(shù)據(jù)一無所知。此時可以得到如表4-10所示的一張殘缺表。
表4-10 不完整的列聯(lián)表

在僅知道上面這些邊緣加和值的情況下,可以推得總共的可能情況有六種,如表4-11所示。這是因為調(diào)查數(shù)據(jù)中左撇子的數(shù)量一共只有5個,那么表格中左上角位置的取值就僅可能是0,1,2,3,4,5這幾種情況。據(jù)此我們就可以推出全部可能的結(jié)果。
表4-11 全部可能的情況

注意在表4-11中還計算出了每一種可能情況的概率。費希爾確切檢驗的基礎(chǔ)是超幾何分布,超幾何分布是統(tǒng)計學(xué)上的一種離散型概率分布。假設(shè)N件產(chǎn)品中有M件次品,不放回的抽檢中,抽取n件時得到X=k件次品的概率分布就是超幾何分布,它的概率質(zhì)量函數(shù)PMF為

對應(yīng)到表4-12中,現(xiàn)在有a+b+c+d=N件產(chǎn)品,其中次品有a+b件,進行不放回的抽檢,共抽取了a+c件產(chǎn)品,其中得到X=a件次品的概率即為

表4-12 費希爾確切檢驗概率的推斷

于是表4-11中的各個概率值可以使用R中的內(nèi)嵌分布函數(shù)來計算,代碼如下。

由于超幾何概率分布的非對稱性,一個雙尾的P值并沒有被唯一并確切的定義。但在統(tǒng)計分析中,雙尾的P值更為常用。一種計算方法是將兩個方向上的單尾P值都算出來,然后將其中的較小者乘以2作為雙尾P值使用。另外一種方法,也是R中所使用的,就是將輸出結(jié)果中小于等于觀察值概率的所有概率進行加總。在這種方法中,比觀察值概率更小的概率值被看成是比遠離原假設(shè)的觀察值更加極端,這也與我們對P值的定義相吻合。例如在當前所討論的問題中,P值就應(yīng)該為

在5%的顯著水平下,可以拒絕(慣用哪只手與性別無關(guān)的)原假設(shè),并認為女生中左撇子的比例要低于男生中左撇子的比例。
在R中,可以用下面的代碼來執(zhí)行費希爾確切檢驗,易見其中得出的P值與之前算得的結(jié)果一致。

- Dreamweaver CS3 Ajax網(wǎng)頁設(shè)計入門與實例詳解
- 大數(shù)據(jù)技術(shù)基礎(chǔ)
- 流處理器研究與設(shè)計
- JBoss ESB Beginner’s Guide
- PostgreSQL Administration Essentials
- 21天學(xué)通Visual Basic
- 完全掌握AutoCAD 2008中文版:機械篇
- 學(xué)會VBA,菜鳥也高飛!
- Docker on Amazon Web Services
- SMS 2003部署與操作深入指南
- Excel 2010函數(shù)與公式速查手冊
- Artificial Intelligence By Example
- 穿越計算機的迷霧
- Hands-On Microservices with C#
- 傳感器應(yīng)用技術(shù)