第 1 頁
R-web 資料分析應用:迴歸分析
李智慎 副統計分析師 上圖為一模擬資料,可以很直覺的看出X 與 Y 有正相關,且每個資料 點都落在直線附近,在日常生活中許多事物彼此間常常存在著線性關係, 如要將變數與變數之間的關係以具體的式子表達,其中一個簡單且常用的 方法就是利用簡單線性迴歸模型來分析,兩變項X 與 Y 關係可表示成Y = β0+ 𝛽1𝑋 , 其 中 Y 、 X 分 別 稱 為 依 變 數 (dependent variable) 與 自 變 數 (independent variable),由此式子模型可以很明確的從截距項β0和係數β1得第 2 頁 知自變數改變時對依變數的影響,當自變數增加1 單位,依變數則增加β1 單位,但現實生活中實際例子幾乎不存在這種完美的線性關係,會有各種 其他因素造成誤差存在,因此會在模型中加入一個隨機誤差項εi來表示, 完整的簡單線性迴歸模型可表示為 Yi = 𝛽0+ 𝛽1𝑋𝑖+ 𝜖𝑖 隨機誤差項εi在統計學上假設為常態分配,且平均數為0變異數為σ2, 可寫成𝜖𝑖 𝑖𝑖𝑑
~𝑁(0, 𝜎2),iid為independent and identically distributed的縮寫,表
示誤差項ϵi彼此互相獨立且相同分配。迴歸分析中限制依變數需為連續型 變數而自變數則無限制連續離散皆可,假如想建造離散型依變數的迴歸模 型則可用邏輯斯迴歸,這部份我們將會在下期作介紹。而本期同樣統一使 用 源 自 基 隆 社 區 為 基 礎 的 整 合 篩 選 計 畫(Keelung Community-based Integrated Screen Program, KCIS)的心血管疾病資料作範例資料檔,有關此 資料的詳細資訊及變數定義請參閱首期生統eNews。
迴歸模型係數的估計-最小平方法
我們知道迴歸模型為一種表示自變數與依變數之間關係的方式,但迴 歸係數通常都是未知的,我們該設定係數為多少才是一個好的迴歸模型呢? 最簡的的方法就是最小平方法,其精神在於讓迴歸模型的誤差項平方合能 最小,即最小化物差平方總合∑𝑛 (𝑌𝑖− 𝛽0+ 𝛽1𝑋𝑖)2 𝑖=1 ,可利用微分的方式進 而求得預估值𝛽̂0 =Σ𝑖=1𝑛 (𝑋𝑖−𝑋̅)(𝑌𝑖−𝑌̅) Σ𝑖=1𝑛 (𝑋𝑖−𝑋̅)2 、𝛽̂1 = 𝑌̅ − 𝛽̂1𝑋̅,而此時誤差項變異數的 估計值為𝜎̂2 =Σ𝑖=1𝑛 (𝑌𝑖−𝑌̂𝑖)2 𝑛−2 ,其中Ŷ𝑖 = 𝛽̂0+ 𝛽̂1𝑋𝑖利用到前面所得的係數估計第 3 頁 值β̂做計算。 而模型適不適用與迴歸係數為不為 0 也有關係,因此可以做迴歸係數 是否為0 的檢定,即虛無假設為H0: 𝛽1 = 0,對應的檢定統計量為t = β̂1 𝑠.𝑒(𝛽̂1), 而s. e(β̂1) = 𝜎̂√1/Σ𝑖=1𝑛 (𝑋𝑖− 𝑋̅)。當虛無假設為真時,此統計量服從自由度 為n-2 的 t 分佈。
R Web-迴歸分析操作步驟
在初階使用者的模式下,從R-web 主選單中依序點選【分析方法】→ 【迴歸模式】→【迴歸分析】即可進入分析頁面。 我們以 CVD 資料”SysBP”(心臟收縮壓)為依變數,”Age”(年 齡)為自變數作分析,R-Web 操作圖解如下 第一步,先選擇要進行分析的資料檔,點選”使用者個人資料檔”後選 擇”CVD”的檔案(心血管疾病資料),系統將自動帶出參數設定畫面。在步 驟二選擇要進行分析的變數,在此設定依變數為”SysBP”(心臟收縮壓)、第 4 頁 自變數為”Age”(年齡)。最後點選【進階選項】將出現選如下圖, 點選上方”殘差及影響點”標籤後勾選”殘差圖”再點擊【儲存設定】,完 成設定後即可點擊步驟二下方【開始分析】。 上圖為分析結果其中的迴歸係數估計表,當顯著水準為0.05 時使用信 賴區間法或 p 值法得到雙尾檢定結果顯示”SysBP”(心臟收縮壓)與” Age”(年齡)有顯著的相關,且年齡每增加一歲,收縮壓會增加 0.6298,
第 5 頁 也就是迴歸模型係數𝛽1的估計值,而截距項β0的估計值為93.7881,帶入係 數估計值後我們可得到迴歸預估模型如下 Y ̂𝑖 = 𝛽̂0+ 𝛽̂1𝑋𝑖 ⟹ Ŷ𝑖 = 93.7881 + 0.6298𝑋𝑖 有了此預估模型則可以用來預測依變數,例如有一人的年齡為27 歲, 則套入此預估模型可估計此人心臟收縮壓平均測量值為110.7927。簡單線 性迴歸是直接假設依變數和自變數為線性關係,再對迴歸係數作是否為 0 的檢定,但事實上依變數與自變數之間可能不為線性關係,有各種不同的 方 法 可 以 做 檢 測 , 而 簡 單 線 性 迴 歸 模 型 中 最 常 被 使 用 的 是 判 定 係 數 (coefficient of determination,R2),又稱 R 平方值,從定義上來說,R2可以 表示自變數能解釋多少比例的依變數變異,數值會介於0~1 之間,愈接近 1 代表此模型愈能解釋依變數的變化,其等式為 R2 =Σ𝑖 𝑛(𝑌̂ 𝑖 − 𝑌̅) 2 Σ𝑖𝑛(𝑌𝑖 − 𝑌̅)2 其值可由分析結果”迴歸模式的變異數分析”中得知,如下圖所示
第 6 頁 由結果可得知所得到的迴歸預估模型判定係數為0.1767,表示使用此預 估模型自變數對於解釋依變數變異的能力不是很好。 上圖為”Age”(年齡)與”SysBP”(心臟收縮壓)的散佈圖,藍色 點代表各個實際資料點,而紅色線為依照迴歸預估模型Ŷ𝑖 = 93.7881 + 0.6298𝑋𝑖所得的迴歸線,可看出年齡與心臟收縮有線性關係但並不非常的 明顯,且資料分佈的位置並沒有明顯向迴歸線集中,與R2值0.1767 相符合。 因為在此預估迴歸模型下,自變數Age 並不能充分解釋依變數 SysBP 的變異,且並無非常明顯的線性關係,建議可以換個變數試試,以下我們 選擇”DiaBP”(心臟舒張壓)為自變數且重複與之前同樣的步驟,可得到
第 7 頁 新的迴歸分析結果如下 由上圖可得依變數”SysBP”(心臟收縮壓)與自變數”DiaBP”(心 臟舒張壓)的簡單線性迴歸結果,顯著水準為0.05 時,雙尾檢定結果顯示 有顯著的關係,且判定係數R2為 0.552 與自變數為”Age”(年齡)時的迴 歸模型比較起來,”DiaBP”(心臟舒張壓)更能解釋依變數”SysBP”(心 臟收縮壓)的變異,下圖為依變數”SysBP”(心臟收縮壓)與自變數” DiaBP”(心臟舒張壓)的散佈圖
第 8 頁 由此圖可發現兩者有較為明顯的線性關係,且資料也較向迴歸線集中, 因此可判斷依變數”SysBP”(心臟收縮壓)與自變數”DiaBP”(心臟舒 張壓)有更高度的線性相關。 本期生統eNews 的介紹到此告一段落,此次介紹了迴歸分析中的簡單 線性迴歸方法,希望大家能從圖表中更能理解簡單線性迴歸模型與資料間 的關係。下一期的生統eNews 將為大家介紹迴歸模式的分析方法-『邏輯 斯迴歸分析』,敬請期待!