生物統計學習筆記從概念、推導到實務判讀

CHAPTER 05

二項分布檢定與 2×2 表

Binomial Tests and 2×2 Tables

章節目錄
  1. 2 BY 2 TABLE
  2. 二項分布檢定
  3. 假設檢定
  4. 卡方適合度檢定
  5. 2 BY 2 TABLE
  6. 卡方獨立性檢定(CHI-SQUARE TEST OF INDEPENDENCE)
  7. 葉茲連續校正(Yates corrected chi square static)
  8. 費雪exact法(Fisher’s exact test)
  9. McNemar’s Test
  10. 補充:資料轉換後求平均數及變異數(泰勒展開式一階近似)

2 BY 2 TABLE

二項分布檢定

因為n夠大的話就會很接近常態分配(或Z分配),所以其實和Z及t分配的討論都很像,公式也都很相似,查的表用Z分配的表。只是公式中的平均、變異數改用二項分佈的公式而已,其常用來分析比率(Analyze Rates and Proportion)。

檢定一樣也是有抽樣,所以在這裡我們分母體(個數為N)中成功的機率為π,抽樣(個數為n)中成功的比率為p(我們先看單一樣本)

母群體的變異數:VarX=Nπ(1-π)

取樣平均的變異數:σ2n=π(1-π)n

而這邊的樣本變異數為:p(1-p)n(和t分配的除n-1不同)

公式比較表

NormalBinominal
Meanμπ
Varianceσ2nπ(1-π)n
Standard Deviationσ2nπ(1-π)n
Sample MeanXp
Sample DeviationSD=(Xi-X)2n-1p(1-p)n
Transformation of meanZ=X-μσ2nZ=p-ππ(1-π)n
100(1-α)%CI of meanX±Z1-α/2σ2np±Z1-α/2p(1-p)n

接這來討論two proportions的二項分配

和獨立樣本t檢定的過程很像,其用到了線性組合這裡因為有兩組資料,所以要注意一下符號(比較複雜)

假設檢定

Two SideH0:π1=π2π1-π2=0

One Side的話的假設就是把等於的符號改成≥或≤

因為虛無假設是把兩項相減看看是不是等於0,所以線性組合就是把兩個的機率相減

統計公式:

平均母體:π1-π2樣本:p1-p2

Standard error母體:Varπ1-π2=π11-π1n1+π21-π2n2樣本:Varp1-p2=p11-p1n1+p21-p2n2

在虛無假設下,我們假設p1=p2 (類似於t分配的假設相同標準差)然後用p=p1p1+n2p2n1+n2=x1+x2n1+n2 代替p1, p2則Varp1-p2=p(1-p)n1+p(1-p)n2=p(1-p)(1n1+1n2)

公式比較表

One binominal sampleTwo independent samples
Meanππ1-π2
Varianceπ(1-π)nπ1(1-π1)n+π2(1-π2)n
Standard Deviationπ(1-π)nπ1(1-π1)n+π2(1-π2)n
Sample Meanpp1-p2
Sample Deviationp(1-p)np1(1-p1)n+p2(1-p2)n
Transformation of meanZ=p-ππ(1-π)nZ=(p1-p2)-(π1-π2)p(1-p)(1n1+1n2)
100(1-α)%CI of meanp±Z1-α/2p(1-p)np±Z1-α/2p(1-p)(1n1+1n2)

卡方適合度檢定

為一個呈現一個名目資料母體而設計的檢定。大概就是說一筆資料可以分為好幾個類別,而這些類別所包含的個數分別佔有一個比率,而對這些比率的正確性是否正確,我們就抽樣然後和這些比率進行對照,做卡方適合度檢定來判定是否正確。

我們的假設是這些資料符合多項分布,多項分布其實就是二項分布的推廣,如果類別只有兩個的話就是二項分布。

多項分布的特質:

實驗包括n次固定的試驗。

每一次試驗的結果可以被歸類到k個類別中的一個,稱為儲存格(cells)。

每一次試驗的結果將會在儲存格i的機率pi保持固定不變。而且p1+p2+…+pk=1。

實驗的每次試驗與其他試驗是獨立的。

公式: χ2df=(Observed frequency-Expected frequency)2Expected frequency=(O-E)2E Expected frequency=n×pi df=k-1

公式說明:

以上數值求出來後會符合卡方分布,因此以卡方分配來看是否可以拒絕虛無假設(每個類別pi等於特定值)對立假設為:至少一個pi不等於其特定值。

所以其公式的來源是把其資料減掉平均然後除以其標準差的平方的總合(卡方分配的定義)

推導:(我們這邊只推二項分布的)取樣的個數為n,第一個類別的機率為p則另一個類別的機率為1-p則第一個類別的期望值為np、另一個為n(1-p)第一個類別的變異數為np(1-p)也等於第二個類別的變異數這邊假設抽樣後第一個類別有a個,則有 (a-np)2=(np-a)2=(n-a-n(1-p))2也就是第二個類別變數的抽樣和期望值的差的平方和第一個類別的一樣所以自由度才要減1,而且再計算的話只要看一個就行了(如果有多組的話就是k-1個減期望值除標準差然後平方相加)χ21=(a-np)2np(1-p)=(a-np)2np+(n-1-n(1-p))2n(1-p)=(O-E)2E

至於到多項的話,就要有k-1個相加,推導過程就複雜許多,我找了很多的書也沒有找到,最多也只有說過程要用到高深的數學,所以我們就相信Pearson推導的結果就好了,所以就不附上推導了,了解觀念就好了。

其公式和卡方獨立性檢定差不多,也是差不多的概念,只是卡方獨立性檢定的自由度會和適合度檢定的自由度有些不一樣而已。

2 BY 2 TABLE

Disease(Case)No disease(Control)Total
Risk factor present(Exposed)ABA+B
Risk factor absent(Unexposed)CDC+D
TotalA+CB+DN=A+B+C+D

原先的資料有兩個隨機變數X(Risk factor),Y(Disease),可以看成是增加一個維度,隨機變數是nominal(不連續)的,也就是有或無(和Binominal分配有關),但這邊將兩個隨機變數合併,所以討論起來較為複雜,以下的幾項檢定就像是要把兩個隨機變數進行一些處理,進而合併成一個隨機變數,然後得到新的隨機變數分配,這樣就可以進行假設檢定。

Y=1Y=0
X=1P11P10
X=0P01P00

而如果是看相關性設PX表X=1的機率,PY則表Y=1的

則上面的圖可以看成(有PX=P11+P10及PY=P11+P01的關係在):

Y=1Y=0
X=1P11=PXPYP10=PX(1-PY)
X=0P01=(1-PX)PYP00=(1-PX)(1-PY)

Case-Control Study和Cohort Study概念比較

Case-Control Study

為retrospective,即先有結果(疾病),再回溯暴露因子

比較患者接觸暴因子的比率與非患者接觸暴露因子比率

例如:比較口腔癌患者嚼檳榔的比率與非患者嚼檳榔的比率

Cohort Study

為prospective,即先有暴露因子,再看未來發展出的結果(流病的cohort study有prospective, retrospective和ambidirectional,不過這邊先不管)

先找有暴露和無暴露的兩群人,再通過follow-up,看兩群人發展成疾病的比率

例如:比較現在嚼檳榔的人日後患病的比率與現在不嚼檳榔的人日後患病的比率

看Two by Two Table的方式

無法從Two by Two Table本身看出它進行的是Case-Control還是Cohort Study

Case-Control先有疾病,所以是豎著看(Odd Ratio, OR)

Cohort是先有暴露,所以橫者看(Relative Risk, RR)

OR(Odds ratio)Case-Control Study的計算

Odd:在單一組別(有病/沒病)中,有暴露/沒暴露的比率,若有暴露的比率為P,則Odd為有暴露/沒暴露=P1-P

例如有病組的Odd:這P為P1=AA+C,Odd=AC

而Odds ratio(OR)為有病群組的Odd和沒病群群組的Odd的比值

OR=ACBD=ADBC

其實將兩個的Odds相除,就是比較他們兩個的Odds,而取ln的話其實就是有病看沒病的ln(Odds)相減,其實就類似於Two sample t test(看補充)

假設檢定H0:OR=1有無暴露和有無得病沒關聯H1:OR≠1 有無暴露和有無得病有關聯

其資料結構為不連續的,而單看其中沒有病的資料的話,其有暴露與沒暴露呈二項分佈的狀況,因為P有時常很小,所以會偏斜,也就是不太像常態分佈,而且又是有病的和沒病的Odds相除,因此資料處理時會先將OR取ln,使其較為接近常態分佈。

取ln之後的資料的公式和One binominal sample公式的比較表

One binominal sampleCase-Control Study
Sample MeanplnOR=ln⁡(ADBC)
Sample Variancep(1-p)n1A+1B+1C+1D
Transformation of meanZ=p-ππ(1-π)nZ=lnOR-01A+1B+1C+1D
1001-α% CI of meanp±Z1-α/2p(1-p)nlnOR±Z1-α/21A+1B+1C+1D

(公式的證明請看補充,由泰勒展開式而來)

RR(Relative risk)Cohort study的計算

前面OR是比較有病和沒病的Odds,而這邊RR則是比較有暴露和沒暴露中得病的比例Relative Risk(RR)=AA+BCC+D

其為有暴露和沒暴露中得病比例的比較(相除),單看暴露或沒沒暴露的話也是呈二項分佈,而因為沒暴露組的P時常很小,處理資料也是有相除,所以有偏斜,為了使其接近常態分佈,所以也是會取ln。而取ln後相除也是變相減,所以也類似於Two sample t test(看補充)

RR和OR的關係:在稀有疾病的狀況下,A和C較B和D小很多,OR就和RR近似OR=ADBC=ABCD~AA+BCC+D(因為A,C很小,加上去也沒差)=RR

假設檢定H0:RR=1暴露不造成得病H1:RR≠1暴露和會造成得病

取ln之後的資料的公式和One binominal sample公式的比較表

One binominal sampleCohort Study
Sample MeanplnRR=ln⁡(A/(A+B)C/(C+D))
Sample Variancep(1-p)n1-[A/(A+B)]A+1-[C/(C+D)]C
Transformation of meanZ=p-ππ(1-π)nZ=lnRR-01-[A/(A+B)]A+1-[C/(C+D)]C
1001-α% CI of meanp±Z1-α/2p(1-p)nlnRR±Z1-α/21-[AA+B]A+1-[CC+D]C

(公式的證明請看附錄,由泰勒展開式而來)

卡方獨立性檢定(CHI-SQUARE TEST OF INDEPENDENCE)

其使用時機在於檢測兩個不連續的類別資料是否獨立(可以做成TABLE的)

在2 BY 2 TABLE中,雖然其有兩種分類方式(兩種分類比較是否獨立),但單看其中一種分類,其有兩種可能,其分佈也是以二項分佈來計算的,只是因為有兩個分類方式的原因,所以計算上就較為複雜。

也可以用在更大的TABLE,不一定只能用在2 BY 2 TABLE,如果更大的TABLE的話就不是二項分配而是用多項分配來看了。

其資料處理的公式和卡方適合度檢定公式一樣,只是因為他多了一個類別資料,所以就在自由度方面做調整。其卡方的概念也就是把自由度個數的卡方值相加(減平均、除標準差、然後再平方),而其結果就是最後得到的公式(每個數的減期望值平方然後再除期望值相加),這是Pearson推導出來的,過程實在太過複雜,我找了很多本書也沒看到(也只有說過程複雜而已),說以就不講證明了,知道概念就好。而其和卜瓦松分布是有關係的(畢竟卜瓦松分布的標準差就是期望值),但是因為這個資料並沒有卜瓦松的特性(雖然N很大,但是沒有p很小),所以不能說用卜瓦松分布推出來的,只是有的書上有題目是給一筆資料,然後請用假設檢定及卡方方配來看其是否可以說是符合卜瓦松分配,然後答案是可以。

而也因為有二項分佈在裡面的原因,所以如果結果要用常態分配所衍生而來的卡方分配的話,可能數量就要夠大才能趨近於常態分配,另外如果數量不夠大而導致不夠像常態分配的話,這時候就要用Fisher’s exact test或用修正後公式(費雪exact法)來做,條件之後再介紹。

CaseControlTotal
ExposedABA+B
UnexposedCDC+D
TotalA+CB+DA+B+C+D

(N=A+B+C+D)

假設檢定H0:兩個資料互相獨立(兩者沒關聯)H1:兩個資料相依(沒有互相獨立、即兩者有關聯)

統計公式

χ2df=(Observed frequency-Expected frequency)2Expected frequency=(O-E)2E Expected frequency=(該行總人數×該列總人數)總人數=E df=(列數-1)×(行數-1)

✽(O-E)2E的既念是Z2的加總因為我們一開始就有假設每列和每行的總和固定,所以該列的個數減一和該行減一都能分別確定該行或該列的所有數,而看全部的話就是兩個相乘

上面的公式除了2 BY 2 TABLE外,也適用於其他更大的TABLE,而在2 BY 2 TABLE時,有簡化公式(乘開來會和前面的公式的結果一樣): χ2df=1=N×(AD-BC)2(A+C)×(B+D)×(A+B)×(C+D)

其在看卡方分配的結果時為單邊的(One Tail),因為如果卡方為0的時後是好的,也就是比較獨立,所以只有右尾可以拒絕虛無假設。

葉茲連續校正(Yates corrected chi square static)

適用於2 BY 2 TABLE,虛無假設和CHI-SQUARE TEST OF INDEPENDENCE一樣,差在這邊是小樣本檢定,因其是由二項分佈所推導出的結果,而樣本不夠大時就二項分配就不像常態分配,所以會經過校正。校正的目的是讓他比較像常態分配所衍生出的卡方分配。

條件:在觀測總數很小時(≤20),或其中一格(A、B、C、D)小於5時使用

統計公式: χ2df=(O-E-0.5)2E經過簡化後χ2df=1=N×(AD-BC-N2)2(A+C)×(B+D)×(A+B)×(C+D)

減0.5是因為用常態分配來近似二項分配時,若數量不夠多,就會減0.5來較正,這樣子會比較接近,如下圖

費雪exact法(Fisher’s exact test)

當個數較少時使用

先把比抽樣還遠離平均的所有組合都列出來(假設其中一組如下表),然後把每一組組合的機率全部算出來(代第三點的公式),最後相加,就得到我們要的p值

Row Totals
O11O12R1
O21O22R2
Column TotalC1C2N

公式:

McNemar’s Test

在b+c>=20的情況下

Before
YesNoTotal
AfterYesaba+b
Nocdc+d
Totala+cb+da+b+c+d

其研究的是關於有變化的抽樣結果,也就是b和c

當資料搜集完後做成以上的表,McNemar’s Test只專注於有變化的樣本,此時就當有變化的樣本個數定為n=b+c(並非a+b+c+d),所以當我們專注於b的分布時,我們說NoYes,也就是樣本中得到Pb的機率P是b/(b+c)

另外因為就機率來看的話,在n的樣本中不是b就是c,也就是設b的機率是π0的話,c的機率就是(1-π0),這其實就符合二項分配σ=π0(1-π0)n

接下來就是說它的假設檢定了: H0:Pb=Pc 又它們兩個相加為1,所以這個假設等同於假設π0=12 H1:Pb≠Pc

然後就是看b的分配了,這邊使用的是卡方分配,其實我覺得用Z分配也有同樣的效果,反正就是有了他機率分配,然後求出抽樣結果在機率分配上x軸上的值,就可以看能不能拒絕虛無假說了

而其實他是二項分配,但用的確是由隨機分配所衍生出來的卡方分配,所以要以隨機分配代替二項分配時,就需要樣本數(n)夠大(此時二項分配就會很接近隨機分配),所以就有n=b+c>=20的條件在裡面。其實如果數量不夠多了話,也可以減掉1/2來做近似,就像是用前面提到的用常態分配來近似二項分布的修正一樣,雖然這邊是用卡方分布,卡方就是常態的平方,所以也可以用

接著要來求b的分配的卡方值了,卡方值其實就是Z的平方和,而這邊的假定是b+c=n是定值,所以有了b之後其實就可以確定c值,也就是這裡的自由度是2-1=1,而看b的離差平方其實和看c的離差平方其是一樣的,因為如果b離平均多1的話,c也會跟著多1,所以在這裡只要看b就行了

統計公式: χdf=12=Z2=p-π0π01-π0n2=np-nπ0nπ01-π02 =b-b+c2b+c×12×122=b-c2b+c

這邊和前面相關性分析的卡方檢定不同,這兩個從假設就不同了,前面的假設是兩邊的分組都互相獨立,而這邊的假設是往兩邊的變化量都一樣,McNemar’s Test專注於變化的部分,而且時常還有時間上前後的關係,兩著不要搞混。

補充:資料轉換後求平均數及變異數(泰勒展開式一階近似)

設一組資料X其平均為μ,標準差為σ

X經f(X)的轉換為YY=f(X)

而Y=fX=fμ+f'μX-μ+12f''X-μ2+…

(泰勒展開式)

我們取一階近似即Y=fX≈fμ+f'μX-μ

求Y平均:

EfX=Efμ+f'μX-μ

=fμ+f'μEX-μ=f(μ)

(因為fμ, f'μ為常數,所以可以提出來)

求Y變異數

VarfX=E{fx-Efx2}

=E{fμ+f'μX-μ-fu2}

=Ef'μ2X-μ2

=f'μ2E[X-μ2]

=f'μ2Var(X)

Disease(Case)No disease(Control)Total
Risk factor present(Exposed)ABA+B
Risk factor absent(Unexposed)CDC+D
TotalA+CB+DN=A+B+C+D

用在odds ratio的計算

有病組的暴露比率p1=AA+C,個數n1=A+C

Odd=AC=p11-p1

沒病組的暴露比率p1=BB+D,個數n2=B+D

Odd=BD=p21-p2

我們先將兩組的數據進行fX=lnP1-P=ln⁡(Odd)的轉換,然後再用線性組合合併兩組

L=lnp11-p1-lnp21-p2=lnp11-p2p21-p1=lnADBC

=ln⁡(OR)

平均:

Elnp11-p1=ln⁡p11-p1,同理Elnp21-p2=ln⁡p21-p2

EL=Elnp11-p1-lnp21-p2

=lnp11-p1-lnp11-p1=lnADBC=ln⁡(OR)

變異數:

Varlnp11-p1=1-p1p11(1-p1)22Varp1

=1p12(1-p1)2p1(1-p1)n1=1n1p1(1-p1)

=1n1p1+1n1(1-p1)=1A+1C

同理Varlnp21-p2=1B+1D

VarL=Varlnp1-lnp2

=Varlnp11-p1+Varlnp21-p2

=1A+1B+1C+1D

用在relative risk的計算

暴露組得病的比率p1=AA+B,個數n1=A+B

未暴露組得病的比率p2=CC+D,個數n2=C+D

我們先將兩組的數據進行fX=ln⁡(P)的轉換,然後再用線性組合合併兩組

L=lnp1-lnp2=lnp1p2=lnAA+BCC+D=ln⁡(RR)

平均:

Elnp1=ln⁡p1,同理Elnp2=ln⁡p2

EL=Elnp1-lnp2=lnp1-lnp2

=lnp1p2=ln⁡(RR)

變異數:

Varlnp1=1p12Varp1

=1p12p1(1-p1)n1=1-p1n1p1=1-(AA+B)A

同理Varlnp2=1-(CC+D)C

VarL=Varlnp1-lnp2

=Varlnp1+Varlnp2

=1-(AA+B)A+1-(CC+D)C