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

CHAPTER 07

迴歸分析

Regression Analysis

章節目錄
  1. 簡單迴歸分析(Simple linear Regression)
  2. Pearson相關係數r
  3. 費雪轉換(Fisher’s Z transformation)也是對r進行檢定的方法
  4. Comparing correlations in two independent groups
  5. Spearman’s RHO
  6. R-SQUARE
  7. 多元迴歸分析
  8. 補充一:迴歸曲線一系列公式證明
  9. 補充二:r2=SSRSST=R2 證明

簡單迴歸分析(Simple linear Regression)

用一個量的變數預測另一個量的變數

有兩個目的:一個是解釋,第二個是預測。解釋的功能主要在於說明兩變數間的關聯強度及關聯方向;預測的功能是使用迴歸方程式(模型model),利用已知的自變數預測未知的依變數。

計算和ANOVA有相似之處,ANOVA是分組的model,而簡單迴歸分析則是用迴歸方程式的model

只是ANOVA是直接分組,而迴歸分析是要先依一些分組的條件來求出迴歸方程式(分組分式)

資料形式:預測變數(自變數): 一個量的變數,如果是質的變數,應轉換為虛擬變數(dummy variable)效標變數(依變數):一個量的變數

統計例子:

行銷費用是否能預測營業額

壓力是否能預測血糖值

高等教育人口率是否能預測國家人均所得

統計公式(設有n個資料):

Regression Model: Y=β0+β1X+ε

在用迴歸分析時,要注意其實他已經有一個假設是在每個固定的X下,Y的分佈是符合常態分佈的,而且其標準差都一樣,所以才可以進行每個次類的error進行平方相加然後除變異數的運算,就如ANOVA裡面有假設分組內的資料符合常態分配,且變異數一樣。

線性迴歸檢定 Y=b0+b1X+ei

假設檢定 E(εi)=0 EYi=β0+β1X Varεi=σ2(相當於組內的離差平方和,讓它愈小愈好)b0=Y-b1X(其中X,Y分別為資料自變數與依變數的平均) b1=(Xi-X)(Yi-Y)(Xi-X)2 (證明請看補充一)

公式解說

其中εi=Yi-Yi很像ANOVA的組內離差

Yi-Y很像ANOVA的組間離差

Yi-Y很像ANOVA的全部的離差

且Yi-Y=Yi-Y-(Yi-Y)

然後可以做一些後續的運算(請看補充),得到SST=SSE+SSR

用類似ANOVA的方式可以得到以下的表,而此時組間的自由度當成1、組內的當成n-2,最後是以F值來當結果,然後就可以求出p值

Sorce of VariationSums of SquaresDegrees of FreedomMean SquaresF Ratio
Regression(組間)SSR=(Yi-Y)2=b12(Xi-X)21MSR=SSR1F=MSRMSE
ErrorSSE= SST- SSRn-2MSE=SSEn-2
TotalSST= (Yi-Y)2n-1

這邊來解釋一下自由度:

就Total的自由度來說,這邊的固定的是X及Y,也就是說只要有n-1筆數據(坐標),則為了使X和Y的平均是固定的,所以第n筆數據就受到前n-1筆數據影響,只有一種可能,換句話說就是n-1筆數據就能決定全部的數據,所以自由度為n-1。

就Regression的自由度來說,這邊除了X及Y被固定之外,其斜率b1(或者說是整條方程式)是固定的,而在算組間的Sum of Squares時,會用到其Xi及其相對的Yi,也就是其預測值,又已知回歸曲線必通過(X,Y),所以只要有一組(Xi,Yi),兩點就能決定整條線,所以自由度為1。

就Error來說,其實就是要同時滿足固定的是X、Y和斜率b1(或者說是整條方程式),而計算過程中並不會涉及預算值,也就是Yi,這時候就需要n-2筆數據才能在固定的X、Y和斜率b1下確認全部的數據(如果是n-1的話,可能會算出無解,因為能得到固定的X、Y時,算出來的斜率不見得是b1)

而前面有遇過如果分成兩組(組間自由度為1)求F,也可以用t值來看,此時F=t2,同理這裡也可以用t值來分析。而方程式Y=b0+b1X+ei中有b0和b1,所以虛無假設就有b0和b1兩種:

第一種(用截距來看)

假設檢定H0:截距為β0H1:截距不是β0 (此時的β0是只假設的,而b0是由取樣的資料來的)

t=b0-β0SY|X1n+(X2(X-X)2) (DF=n-2)其中SY|X=(Y-Y)2n-2=Y2-b0Y-b1XYn-2 (其實SY|X就是SSEn-2)

第二種(用斜率來看)

假設檢定H0:斜率為β1H1:斜率不是β1 (此時的β1是只假設的,而b0是由取樣的資料來的)

然後這邊會假設β1=0,也就是說兩組資料沒關係,所以這邊的t分析就是要看兩組資料的相關性,而上面的F分析也是看他們的相關性,所以兩個資料其實有相同的意思,而這邊的t2等於上面的F(證明請看下面)

t=b1-β1SY|X1(X-X)2 (DF=n-2)

✽t2=F的證明:

t2=b12(X-X)2SY|X2=(Y-Y)21SSEn-2=SSR1SSEn-2=F

Pearson相關係數r

r=(X-X)(Y-Y)(X-X)2(Y-Y)2

由柯西不等式可以得到r的範圍:-1≤r≤1

和方程式中的斜率b1的公式比較,有b1=rσyσx的關係

我們一般會用r來代表兩個數據的相關性INTERPRETATION:100×r2% of the variation in A is accounted for by knowing B (or vice versa)

也可以用r來做t檢定(和F檢定得到的結果相似): H0:數據A和B間沒有相關性(r=0) H1:數據A和B間有相關性(r≠0) t=rn-21-r2(變異數為1-r2n-2) n-2為其自由度

把r的公式代入了話,其實就相當於組間的離差平方和的平均(除以自由度)除以組內的平方和的平均(除以自由度)再開根號,所以也有了F=t2的相係:

其實後面講R-square會講到,r2和R2一樣,其實也等於SSRSST

所以我們把r=SSRSST代入方程式

t=SSRSST1-SSRSSTn-2=SSRSSTSSESSTn-2=SSRSSEn-2=MSRMSE=F

而其實由於有b1=rσyσx的關係在,所以其實把r做t檢定和把b1做t檢定其實是類似的事情

費雪轉換(Fisher’s Z transformation)也是對r進行檢定的方法

是統計學中用於相關係數假設檢驗的一種方法。對樣本相關係數進行費雪變換後,使其更為接近常態分布,可以用來檢驗關於總體相關係數ρ的假設。

其實就是把r進行ln的變換,使其更接近常態分佈

假設檢定H0:數據A和B間真實的相關性是ρ0(ρ=ρ0)H1:數據A和B間真實的相關性不是ρ0(ρ≠ρ0)

將r轉換後得到的值為Zr=12ln⁡(1+r1-r),其轉換後會近似常態分佈

然後用Z檢定的公式求Z值Z=Zr-Z(ρ0)1n-3 (變異數為1/n-3)

則95%信賴區間為Zr=Z(r)±1.961n-3

Comparing correlations in two independent groups

反正就是多了一組,出現第3個變數,這時候就會變成探討三個變數的交互作用(interaction),會有一組變數為Effect modifier(為研究的主軸),就是看他如何改變其他2個變數的相關性,然後是研究其相關性,所以用費雪轉換,看例子方便了解: 比較不同性別間身高體重的相關性有沒有一樣,即是由性別(可以改變身高體重關係的變數)來當作effect modifier,也就是說(性別,身高,體重)關係可解釋為:性別有沒有改變身高/體重

假設檢定:H0:族群1中A跟B的直實相關性=族群2中A跟B的真實相關性(ρ1=ρ2)H1:族群1中A跟B的直實相關性≠族群2中A跟B的真實相關性(ρ1≠ρ2)

將樣本的r算出來後,帶入Fisher’s Z transformation:Zr=12ln⁡(1+r1-r)

求Z值(類似two-sample T test,因為也是比較兩組,所以用了線性組合變異數相加) Z=Zr1-Z(r2)1n1-3+1n2-3

然後就可以求信賴區間了

Spearman’s RHO

當兩個連續變數中,至少有一個變數分布呈現歪斜(Skewed),即非常態分布,此時就無法直接代相關係數的公式,這時候就要先將資料先進行轉換(可能為取ln, 但這邊是用rank的方式),然後再代相關係數的公式,得出來的相關係數叫Spearman’s RHO

其實就是先將非常態分佈的資料先進行排序(rank),然後再做代相關係數公式。而其排序時,若有相同數值的情況,則取其平均的排序(若第2和第3相同,則兩個都改成第2.5)

公式: rs=(Rx-Rx)(Ry-Ry)(Rx-Rx)2(Ry-Ry)2 , Rx, Ry為進行rank轉換後的值

得到rs後,就可以進行虛無假設,進入Fisher’s Z transformation,算Z值,就可以查Z表以找出信頼區間了,就可以得出能否拒絕虛無假設的結論。

R-SQUARE

R2=SSRSST,其實就是組間變異除以全部變異,所以R-square是拿來說明這個方程式(分組)可以解釋這個數據的程度INTERPRETATION:100×R2% of the total variations of the dependent variable (Y) is explained by the REGRESSION model (X)

其實R2就等於r2(證明請看補充二)

其實我覺得R-square和F值其實是類似的東西,一個是組間的離差平方和除以全部的離差平方和,另一個是組間的離差平方和和組內的離差平方和做比較,關於其運算的過程、定義其實很人工。以這些數據相除,其中一個我們拿來解釋相關的程度,另一個拿來解釋分組的代表性(組內愈小愈好、組間愈大愈好),而F值的理論基礎則來自於F分配,有機率密度函數在裡面。

另外,其實R-square和F值是有關係存在的,如t=rn-21-r2然後t=F,所以我覺得這兩個其實就是類似的東西,只是R-square在-1到1的範圍之內,可以用百分比表示,則F可以找到p值,然後拿來拒決虛無假設說明分組有效,兩者差在虛無假設的過程

多元迴歸分析

多元迴歸分析(Multiple Linear Regression)

和簡單線性迴歸的差別在於變數變多種,如:體重=β0+β1年齡+β2性別+β3身高。而變數X則要轉換成1vs0(如女vs男),而有幾個斜率(分組)就代表Regression有幾個自由度(上面的例子的自由度為3),其實就像ANOVA分很多組的意思很像

而ANOVA分多組除了進行全部的一次檢驗(做出表格)外,可能進行事後檢驗(兩兩比較),所以這邊多元迴歸分析之後也會進行兩兩比較

以下為全部直接做成表的結果

Sorce of VariationSums of SquaresDegrees of FreedomMean SquaresF Ratio
RegressionSSM=jnjXj2-(i,jXij)2NJ-1MSM=SSRJ-1F=MSRMSE
ErrorSSE= SST- SSRn-JMSE=SSEn-J
TotalSST=i,jXij2-(i,jXij)2Nn-1

因為有干擾因子,所以最後做出的模型要校正將confounder納入分析裡

干擾因子(舉例):探討財富和視力的影響,(圖看起愈有錢視力愈差):

但分成老人和年輕人的族群內進行比較時,發現財富和視力沒有影響所以應該是老人比年輕人有錢,而老人的視力比較差的關係

全部的表做完後,為了解更進一步的關系,所以就用會類似於ANOVA的事後兩兩比較的方式來做t檢定,而這邊則把截距及每個變項的斜率來做t檢定,可以得到類似下列的表:

VariableDFParameterEstimateStandarderrorT valuePr>|t|(絕對值)
Intercept1-128.5512.61-10.20<0.0001
Age1β1=2.380.564.25<0.0001
Female1β2=0.341.600.210.8335
height1β3=3.100.2711.62<0.0001

然後就可以以上面的表來進行校正(sex對體重就不太能預測)

校正過程

Crude model:最粗糙的data還沒經過處理

Age sex adjusted model:用性別和年齡校正數據(通常都會考慮這兩項)

Full model:把confounding factors進行校正

Dummy Variable

用虛擬變數(Dummy Variable)將ANOVA轉換為複回歸分析,好處是可以直接用斜率來解釋結果,而且可以校正干擾因子

其就是把分組的資料全部都換成0和1,就可以進行複回歸分析,而把分組都轉換成0和1時,就可能會多出一些變數,所以叫虛擬變數

例如:假設我們要用壓力程度與睡眠時數來做線性分析

分類原始編碼虛擬變數1(X1)虛擬變數2(X2)
無壓力000
壓力中等110
壓力大201

其實把ANOVA轉換成複回歸分析,最後得到的結果和ANOVA的是一樣的,只是轉換成複回歸分析可以較正干擾因子,所以比較好用。

補充一:迴歸曲線一系列公式證明

首先,先來求迴歸線方程式:Y=b0+b1X:

其中(Xi,Yi)表數據,而Yi=b0+b1Xi表預測值

ei=Yi-Yi=Yi-b0-b1Xi表殘差(組內離差)

目標是要使ei2最小

Q=ei2=(Yi-b0-b1Xi)2

用偏微分求極值(Xi,Yi都為已知的數,未知(所求的)為b0,b1)

∂Q∂b0=2(Yi-b0-b1Xi)(-1)=0

∂Q∂b0=2(Yi-b0-b1Xi)(-Xi)=0

將上兩式整理得:

Yi-nb0-Xib1=0 …

XiYi-(Xi)b0-Xi2b1=0 …

求得:

b1=(Xi-X)(Yi-Y)(Xi-X)2

b0=Y-b1X 其實就是式

在迴歸線方程式下的運算結果:

ei2是最小值

ei=(Yi-b0-b1Xi)=0其實就是式

Xiei=(XiYi-Xib0-Xi2b1)=0其實就是式

Yiei=b0+b1Xiei=b0ei+b1Xiei=0

證明SST=SSE+SSR:

SST=(Yi-Y)2=[Yi-Y+Y-Y]2

=(Yi-Y)2+(Y-Y)2+2(Yi-Y)(Y-Y)

=SSE+SSR+2ei(b0+b1Xi-Y)

=SSE+SSR+2b0ei+b1Xiei-Yei

=SSE+SSR

補充二:r2=SSRSST=R2 證明

r2=[(Xi-X)(Yi-Y)]2(Xi-X)2(Yi-Y)2

=[(Xi-X)(Yi-Y+Y-Y)]2(Xi-X)2(Yi-Y)2

=[Xi-Xei+b1(Xi-X)2]2(Xi-X)2(Yi-Y)2

=b12[(Xi-X)2]2(Xi-X)2(Yi-Y)2

=b12(Xi-X)2(Yi-Y)2

=(Y-Y)2(Yi-Y)2=SSRSST=R2