資料標準化 data scaling
 程式與統計統計模型

資料標準化(Data Scaling)對複回歸分析(Mutiple Regression)的影響 | R統計

在進行多元線性回歸分時,會遇到多變數彼此單位標準不一致的情況,如果想要比較回歸方程式不同解釋變數的估計參數彼此間的大小關係時,若沒有進行-資料標準化-之處理,是不能直接拿來做比較的。為了比較每一個解釋變數變動一單位對目標變數之影響大小,我們需事前將目標變數與解釋變數進行-資料標準化-處理。

多元線性回歸方程式

$$y=\beta_{0} + \beta_{1}*x_{1} + … + \beta_{i}*x_{i}+\epsilon_{i}$$

解釋變數\(X_{j}\)的參數估計值\(\hat{\beta}_{j}\)之含義

解釋變數\(X_{j}\)的參數估計值\(\hat{\beta}_{j}\)之含義為:在其他解釋變數不變下,解釋變數\(X_{j}\)變動一個衡量單位,目標變數將變動\(\hat{\beta}_{j}\)個衡量單位。即

$$\frac{dy}{dx_{j}}=\beta_{j}$$

若要比較不同解釋變數對目標變數之影響大小(\(\hat{\beta}_{j}\)),我們必須進行標準化回歸,即將目標變數與預測變數一併標準化。

標準化回歸

標準化回歸就將目標變數和預測變數分別減去各自的平均數再除以各自的標準差,即計算z-score,再將標準化的目標與解釋變數投入回歸模型。

$$Z=\frac{x-\bar{x}}{s_{x}}$$

step 1: Data scaling 資料標準化

在R程式語言中,我們則可以使用scale()函數。scale()函數預設將資料center到資料平均值,並除以標準差(standard deviation)來scale資料。

我們使用R內建mtcars資料集來進行示範。

我們將資料進行標準化。

並使用attribute()檢視各變數所使用的center和scale。

可以發現center和scale分別皆為預設的變數平均值與標準差。

step 2: 進行標準化回歸

  • 標準化回歸模型中的各項估計參數通常被稱作為\(\beta\)係數「Beta Coefficents」其估計值的大小可直接被拿來進行多元變數影響力之比較
  • 標準化模型中的解釋變數都是標準化後的Z-score,是以各變數的樣本標準差為衡量單位,因此每一個解釋變數的變動一單位的程度都是相同的。
  • 解釋變數\(X_{j}\)的\(\beta_{j}\)係數代表著:其他解釋變數不變的情況下,解釋變數\(X_{j}\)變動一個單位(一個樣本標準差,\(s_{x}\)),目標變數將變動\(\beta_{j}\)個樣本標準差,即變動\(\beta_{j}\times s_{y}\)。
  • 標準化回歸方程式:
    $$y^*=\beta_{0}^* + \beta_{1}^**x_{1}^* + … + \beta_{i}^**x_{i}^*+\epsilon_{i}^*$$
    其中,
    $$y^*=\frac{y-\bar{y}}{s_{y}},\space x^*=\frac{x-\bar{x}}{s_{x}},\space \beta_{j}^*=\frac{\beta_{j}*s_{x}}{s_{y}}$$

我們同時執行未標準化回歸的結果。

可發現:

  • mod_scale和mod兩個模型的Multiple R-squared(0.8268)、Adjusted R-squared(0.8083) 、F-statistic(44.57 on 3 and 28 DF)、P-value(8.65e-11)等顯著性結果都相同
  • 資料標準化僅改變了「估計參數(estimate)」和「標準誤(std. error)」的部分



Step 3: 比較標準化前後回歸係數差異

我們根據\(\beta_{j}^*=\frac{\beta_{j}*s_{x}}{s_{y}}\)的關係式來重新計算標準化前後估計參數間的關係。

先查看兩組模型的估計參數如下:

查看data scaling各變數的平均數與標準差值。

根據\(\beta_{j}^*=\frac{\beta_{j}*s_{x}}{s_{y}}\),使用未標準化估係數計算標準化係數如下:

或是將標準化係數還原如下:

結論

  • 常用的資料標準化方法:使用平均值作為中心點,並使用樣本標準差作為衡量單位。
    $$Z=\frac{x-\bar{x}}{s_{x}}$$
  • 資料標準化僅影響各預測變數的係數標準誤標準化前後之大小,其中係數標準化前(\(\beta\))後(\(\beta^*\))之關係如下:
    $$\beta_{j}^*=\frac{\beta_{j}\times s_{x}}{s_{y}}$$
  • 資料標準化並不會各係數顯著性模型顯著性調整後R平方等統計量有所影響。
  • 資料標準化的目的是讓各變數的估計參數大小可以彼此比較,並以此推論各解釋變數的影響力。並非建模必要步驟




更多統計模型學習筆記連結:

線性回歸模型

羅吉斯回歸模型part1

羅吉斯回歸模型part2

決策樹/隨機森林

階層式分群法

切割式分群法


參考連結:

  1. 歐萊禮  R資料科學
  2. http://www2.kobe-u.ac.jp/~kawabat/ch06.pdf
  3. http://web.nchu.edu.tw/~finmyc/stat13p.pdf