天天看點

《數學模組化:基于R》一一1.5 列聯表檢驗

本節書摘來自華章計算機《數學模組化:基于r》一書中的第1章,第1.5節,作者:薛 毅 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

設兩個随機變量x,y均為離散型的,x取值于{a1,a2,…,ai},y取值于{b1,b2,…,bj}.設(x1,y1),(x2,y2),…,(xn,yn)為簡單樣本,記nij為(x1,y1),(x2,y2),…,(xn,yn)中等于(ai,bj)的個數.在求解問題時,常把資料列為形如表1.11的形式,稱為列聯表.根據列聯表資料作的檢驗稱為列聯表檢驗.

《數學模組化:基于R》一一1.5 列聯表檢驗

1.5.1 pearson χ2獨立性檢驗

《數學模組化:基于R》一一1.5 列聯表檢驗

然後再計算自由度.(x,y)的值域一共劃分成ij個集合,但包含了一些未知參數.由于∑ii=1pi·=1,pi·(i=1,2,…,i)中未知參數隻有i-1個,同理,p·j(j=1,2,…,j)中未知參數隻有j-1個,故共有i+j-2個未知參數,而k的自由度就為ij-1-(i+j-2)=(i-1)(j-1).

當i=j=2時,列聯表中隻有4個格子,稱為“四格表”,這時式(1.70)簡化為k=n(n11n22-n12n21)2n1·n2·n·1n·2自由度為1.

對于四格列聯表,由于χ2(1)為連續型變量,而k取離散值,當n較小時,這種近似不好,它往往導緻k的值太大而輕易否定h0.為了改善k對χ2(1)的近似,yate(耶茨)提出了一種修正方法,在式(1.70)中,分子的各項減去0.5,即k統計量的計算公式修改

《數學模組化:基于R》一一1.5 列聯表檢驗

這種方法稱為連續型修正.

前面介紹的chisq.test()函數可完成列聯表資料的pearson χ2獨立性檢驗,隻需将列聯表寫成矩陣形式即可.

例1.27 在一次社會調查中,以問卷方式調查了總共901人的月收入及對工作的滿意程度,其中月收入a分為小于3000元、3000~7500元、7500~12000元及超過12000元四檔.對工作的滿意程度b分為很不滿意、較不滿意、基本滿意和很滿意4檔.調查結果用4×4列聯表表示,如表1.12所示.試分析工資收入與對工作的滿意程度是否有關.

《數學模組化:基于R》一一1.5 列聯表檢驗

解 輸入資料,用chisq.test()函數作檢驗(程式名:exam0127.r).x &lt;- c(20, 24,<code>`</code>javascript

80, 82, 22, 38, 104, 125,

    13, 28, 81, 113, 7, 18, 54, 92)

x &lt;- matrix(x, nc = 4, byrow = t)

chisq.test(x)

    pearson's chi-squared test

data: x

  simulate.p.value = false, b = 2000)參數x為二維列聯表形式的矩陣,或者是由因子構成的對象.y為因子構成的對象,當x為矩陣時,該值無效.

workspace為正整數,表示用于網絡算法工作空間的大小.

hybrid為邏輯變量,僅用于2×2列聯表,表示是否使用混合算法近似計算機率,取false (預設值)表示精确計算.

control為清單,指定低水準算法的組成.

or為優勢比的原假設,預設值為1,僅用于2×2列聯表.

alternative為備擇假設選項,取"two.sided"(預設值)表示雙側檢驗(不獨立),取"less"表示備擇假設為“&lt;”的單側檢驗(負相關),取"greater"表示備擇假設為“&gt;”的單側檢驗(正相關).

conf.int為邏輯變量,表示是否計算優勢比(odds ratio)的置信區間,預設值為true.

conf.level為置信水準,預設值為0.95.

simulate.p.value為邏輯變量,表示是否使用monte carlo方法仿真計算p值,預設值為fasle.

b為正整數,表示monte carlo仿真的次數,預設值為2000.

對于二維列聯表,原假設“兩變量無關”等價于優勢比等于1.

例1.29 某醫師為研究B肝免疫球蛋白預防胎兒宮内感染hbv的效果,将33例hbsag陽性孕婦随機分為預防注射組和對照組,結果如表1.14所示.問兩組新生兒的hbv總體感染率有無差别.

《數學模組化:基于R》一一1.5 列聯表檢驗

解 有一個單元頻數小于5,應該作fisher精确機率檢驗.輸入資料,并計算fisher檢驗(程式名:exam0129.r).&gt; x &lt;- matrix(c(4, 5, 18, 6), nc = 2)

0.2791061p值(=0.1210)&gt;0.05,并且優勢比的置信區間包含有1,由此說明兩變量是獨立的,即認為兩組新生兒的hbv總體感染率并無顯著差異.

當用pearson χ2檢驗(chisq.test()函數)對例1.29的資料作檢驗,會發現計算機在得到結果的同時,也給出警告,認為其計算值可能有誤.

用fisher精确檢驗(fisher.test()函數),對吸煙資料(例1.28)作檢驗得到p值(=0.002820)&lt;0.05,拒絕原假設,即認為吸煙與患肺癌有關.由于優勢比的置信區間[1.63,40.36]&gt;1,說明優勢比大于1,表示正相關,也就是說,吸煙越多,患肺癌的可能性也就越大.&gt; x &lt;- matrix(c(60, 3, 32, 11), nc = 2)