CHAPTER 07
迴歸分析
Regression Analysis
章節目錄
- 簡單迴歸分析(Simple linear Regression)
- Pearson相關係數r
- 費雪轉換(Fisher’s Z transformation)也是對r進行檢定的方法
- Comparing correlations in two independent groups
- Spearman’s RHO
- R-SQUARE
- 多元迴歸分析
- 補充一:迴歸曲線一系列公式證明
- 補充二: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 Variation | Sums of Squares | Degrees of Freedom | Mean Squares | F Ratio |
| Regression(組間) | SSR=(Yi-Y)2=b12(Xi-X)2 | 1 | MSR=SSR1 | F=MSRMSE |
| Error | SSE= SST- SSR | n-2 | MSE=SSEn-2 | |
| Total | SST= (Yi-Y)2 | n-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 Variation | Sums of Squares | Degrees of Freedom | Mean Squares | F Ratio |
| Regression | SSM=jnjXj2-(i,jXij)2N | J-1 | MSM=SSRJ-1 | F=MSRMSE |
| Error | SSE= SST- SSR | n-J | MSE=SSEn-J | |
| Total | SST=i,jXij2-(i,jXij)2N | n-1 |
因為有干擾因子,所以最後做出的模型要校正將confounder納入分析裡
干擾因子(舉例):探討財富和視力的影響,(圖看起愈有錢視力愈差):
但分成老人和年輕人的族群內進行比較時,發現財富和視力沒有影響所以應該是老人比年輕人有錢,而老人的視力比較差的關係
全部的表做完後,為了解更進一步的關系,所以就用會類似於ANOVA的事後兩兩比較的方式來做t檢定,而這邊則把截距及每個變項的斜率來做t檢定,可以得到類似下列的表:
| Variable | DF | ParameterEstimate | Standarderror | T value | Pr>|t|(絕對值) |
| Intercept | 1 | -128.55 | 12.61 | -10.20 | <0.0001 |
| Age | 1 | β1=2.38 | 0.56 | 4.25 | <0.0001 |
| Female | 1 | β2=0.34 | 1.60 | 0.21 | 0.8335 |
| height | 1 | β3=3.10 | 0.27 | 11.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) |
| 無壓力 | 0 | 0 | 0 |
| 壓力中等 | 1 | 1 | 0 |
| 壓力大 | 2 | 0 | 1 |
其實把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