[SAS]線性迴歸 linear regression

by wenwu
0 comment

[SAS]線性迴歸 linear regression

之前在 [R]Logistic Regression 羅吉斯迴歸 文章中提到 線性回歸與羅吉斯迴歸的差別。羅吉斯迴歸主要是分類,而線性迴歸主要是預測。線性迴歸希望是找到一條線,使每一點的資料都盡量靠近這條線(誤差小)。

所謂的迴歸就是分析變數與變數之間的關係,探討自變數(X)與依變數(Y)的關係,目標是使用自變項(X)來預測或推論依變項(Y)。

依變項(Y)為單一的連續變數,自變項(X)可以是類別或是連續變數,也可以是多。
如果只有單一的自變數(X),為簡單線性迴歸(sample linear regression)。
若有多個自變數(X),則為多元的線性迴歸(multiple linear regression)。
下圖為兩者的差異,多元的線性迴歸使用k個自變項(X)。


線性迴歸需要滿足四項基本統計假設:

  1. 線性關係:依變項(Y)和自變項(X)必須是線性關係。(若不是,可以透過轉換成線性,再進行線性迴歸)
  2. 常態性(Normality): 若母體為常態分布,誤差項也為常態。(樣本數足夠時,可以畫直方圖確認。若不夠,可以使用常態檢定)
  3. 獨立性(Independency):自變項(X)的誤差項,應為互相獨立的。(若非獨立,會降低統計的檢定立。可以使用殘差的圖形判斷,不會有特定的patten )
  4. 變異數同質性(Constant Variance): 變異數若不相等會導致自變項(X)無法有效估計依變項(Y)

使用迴歸分析時需要使用的假設檢定:

  1. 迴歸模型的顯著性檢定(F-test):
    H0: β0 = β1 = … = βk = 0 (多元線性迴歸使用 k個自變項)
    H1: 至少有一個 β ≠ 0
    當係數不全為0時,迴歸模型才有預測力。統計值: F
  2. 個別迴歸係數的邊際檢定(t-test):
    H0: βi = 0 (i=1…k)
    H1: βi ≠ 0 (i=1…k) 
    當係數不全為0時,自變項才有解釋力。統計值: t
  3. 判定係數R平方(R square):
    R² 為迴歸模型的總變異中可被解釋的百分比,R² 越大越好,若大於0.5代表不錯。
    R² = SSR/SST = 1- (SSE/SST)
  4. 調整後R平方(adjusted-R square):
    當加入的自變項越多,R²會越大,會呈現高估的現象,所以需要調整後的R²。
    Adjusted R² = 1 – (SSE/(n-k))/(SST/(n-1))/

這次使用的資料是晨晰統計在網站上分享的資料:

依變項(Y)為單一的連續變數,代表同學的閱讀測驗成績。
這邊的自變項(X)有五個,X1~X5分別代表同學的 單字成績\片語成績\文法成績\自我期望\智力測驗成績

有一個依變項(Y)和五個自變項(X),代表我們想要看看依變項和自變項的關係,使用X1~X5(單字成績\片語成績\文法成績\自我期望\智力測驗成績)使否可以預測學生的閱讀測驗成績

data reg;
input Y x1 x2 x3 x4 x5;
cards;
70 16 19 29 88 108
63 10 30 23 71 113
51  9 35 27 78 103
71 19 20 40 75 109
79 22 42 25 85 114
81 21 42 38 92 116
80 14 22 16 86 125
44 20 30 22 50 101
59 18 48 20 65 92
61 17 31 10 73 108
60 21 35 27 71 111
69 13 43 33 79 112
70 17 39 40 76 120
74 11 50 32 84 125
50  8 48 29 43 96
62 12 50 33 80 105
;

程式碼如下: ( CLB代表參數的 95%區間

proc reg data=reg;
model y=x1 x2 x3 x4 x5 /CLB; 
run;

下面是output & 解釋:

首先,從ANOVA table 可以得到 p-value = 0.0028,達到統計上顯著,表示拒絕虛無假設,至少有一個 β ≠ 0。

再來可以看到 R² =0.8005 ,代表此模型可解釋百分之80的變異。因為模型中有五自變項,當自變項越多 R² 就會越大,容易高估。所以可以看到 adj R²=0.7007 ,此模型可解釋百分之70的變異,代表此模型有高度的解釋能力。

再看到最下面的表格,從截具項: β0 到 β5 的預估參數為 parameter estimate ,β0到β5 分別為 : -31.867 / 0.444 / 0.084 / 0.074 / 0.434 /0.479

可以寫出模型為 : 
 Y= -31.867+0.444 * X1 +0.084* X2+0.074* X3+0.434* X4+0.479* X5

前面有提到,不只需要觀察迴歸模型的顯著性,也需要看個別迴歸係數的檢定,可以看到個別的 p-value= 0.1752/0.2363/0.6092/0.7141/0.0236/
0.0613,只有x4的迴歸係數小於0.05 達到統計上顯著,和X5的較靠近0.05 ,其他都>0.15 。 ( 下一篇會介紹如何使用 stepwise )

最後,下面的圖可以幫助我們看這組資料有沒有滿足最開始的假設
殘差(residual)需要滿足 : 常態性(Normality) & 獨立性( Independence)

左圖的左下角畫出residual 的分布,看似常態,左中圖畫出residual的QQ plot ,也沒有點距離對角線太遠,表示符合常態性。

右圖畫出X1~X5 的residual ,五張圖中沒有特別的patten ,表示殘差沒有互相關係,表示符合獨立性。

今天的文章就到這裡,下一篇會使用同樣的資料來示範Stepwise 逐步挑選的迴歸分析。

下一篇:[SAS]迴歸分析 — 模型挑選

Related Articles

發表迴響