資料編碼與迴歸模型

  • 我們介紹了「變異數分析」與「迴歸分析」
  • 核心精神:
    • 拆解變化為「被模型解釋的變化」與「不被模型解釋的變化」
    • 比較兩者,判斷模型的結果是否為誤差的結果
  • 迴歸模型更容易推廣:
    • 變異數分析主要處理解釋變數為「類別型變數」的狀況
    • 迴歸分析透過資料編碼,可以同時處理數值型變數與類別型變數
    • 迴歸分析可以推廣至多變數

資料編碼

在類別型變數上使用迴歸分析的範例

  • \(Y_i\): 壽命
  • \(x_i\): 性別
    • \(x_i = 0\)代表男生
    • \(x_i = 1\)代表女生

\[Y_i = \alpha + \beta x_i + \varepsilon_i \Leftrightarrow Y_i \sim \mathcal{N}(\alpha + \beta x_i, \sigma^2)\]

變異數分析的範例

  • 男生組 \(Y_{i,1} \sim \mathcal{N}(\theta_1, \sigma^2) \Leftrightarrow \theta_1 = \alpha + \beta \times 0 = \alpha\)
  • 女生組 \(Y_{i,2} \sim \mathcal{N}(\theta_2, \sigma^2) \Leftrightarrow \theta_2 = \alpha + \beta \times 1 = \alpha + \beta\)

資料編碼(錯誤範例)

  • \(Y_i\): 壽命
  • \(x_i\): 性別或未知
    • \(x_i = 0\)代表男生
    • \(x_i = 1\)代表女生
    • \(x_i = 2\)代表未知

\[Y_i = \alpha + \beta x_i + \varepsilon_i \Leftrightarrow Y_i \sim \mathcal{N}(\alpha + \beta x_i, \sigma^2)\]

轉換成變異數分析

  • 男生組 \(Y_{i,1} \sim \mathcal{N}(\theta_1, \sigma^2) \Leftrightarrow \theta_1 = \alpha + \beta \times 0 = \alpha\)
  • 女生組 \(Y_{i,2} \sim \mathcal{N}(\theta_2, \sigma^2) \Leftrightarrow \theta_2 = \alpha + \beta \times 1 = \alpha + \beta\)
  • 未知組 \(Y_{i,3} \sim \mathcal{N}(\theta_3, \sigma^2) \Leftrightarrow \theta_3 = \alpha + \beta \times 2 = \alpha + 2 \beta\)

資料編碼(錯誤範例)

  • 上述錯誤的編碼會導致:
    • \(\theta_3 - \theta_2 = \theta_2 - \theta_1 = \beta \Leftrightarrow\) 平均壽命在「女生與男生的差別」等於「未知性別與女生的差別」
    • 錯誤的假設、導致模型不實用的假設

根本原因

  • 在變異數分析,我們用三個參數(自由度)來建立三群人的平均壽命
  • 在上述錯誤的回歸分析,我們用兩個參數(自由度)來建立三群人的平均壽命

資料編碼(One hot encoding)

  • \(Y_i\): 壽命
  • \(x_{i,1}\): 性別是否為女生
    • \(x_{i,1} = 1\)代表女生
  • \(x_{i,2}\): 性別是否未知
    • \(x_{i,2} = 1\)代表未知

\[Y_i = \alpha + \beta_1 x_{i,1} + \beta_2 x_{i,2}\]

與變異數分析得比對

  • 男生組:\(\theta_1 = \alpha\)
  • 女生組:\(\theta_2 = \alpha + \beta_1\)
  • 未知組:\(\theta_3 = \alpha + \beta_2\)

資料編碼(One hot encoding)

  • 有一個類別型態變數,資料中一共有\(k\)種類別
    • 第一種類別透過\(\alpha\)常數項(intercept、bias term)代表
    • 第\(k\)種類別透過\(x_{i,k-1}\)代表
    • 一共有\(k\)個自由度
  • \(\beta_{k-1}\)代表第\(k\)種與第一種的差距

交錯作用(interaction):當變數的影響力會變化時的處理手法

  • 壽命與性別、有無抽煙的關係
  • \(x_{i,1} = 1\)代表女性
  • \(x_{i,2} = 1\)代表有抽煙

\[Y_i = \alpha + \beta_1 x_{i,1} + \beta_2 x_{i,2} + \varepsilon_i\]

上述模型代表抽菸對壽命的影響與性別無關 都是 \(\beta_2\)

  • 男生無抽煙的平均壽命 vs 男生有抽煙的平均壽命:\(\alpha\) v.s. \(\alpha + \beta_2\)
  • 女生無抽煙的平均壽命 vs 女生有抽煙的平均壽命:\(\alpha + \beta_1\) v.s. \(\alpha + \beta_1 + \beta_2\)

交錯作用(interaction):當變數的影響力會變化時的處理手法

  • 壽命與性別、有無抽煙的關係
  • \(x_{i,1} = 1\)代表女性
  • \(x_{i,2} = 1\)代表有抽煙

\[Y_i = \alpha + \beta_1 x_{i,1} + \beta_2 x_{i,2} + \beta_{1,2} x_{i,1} x_{i,2} + \varepsilon_i\]

  • 男生有抽煙的平均壽命 vs 男生無抽煙的平均壽命:\(\alpha\) v.s. \(\alpha + \beta_2\)
    • 差距是\(\beta_2\)
  • 女生有抽煙的平均壽命 vs 女生無抽煙的平均壽命:\(\alpha + \beta_1\) v.s. \(\alpha + \beta_1 + \beta_2 + \beta_{1,2}\)
    • 差距是\(\beta_2 + \beta_{1,2}\)

交錯作用(interaction):當變數的影響力會變化時的處理手法

  • 如果我們已經有一個多變量迴歸分析模型:

\[Y_i = \alpha + \beta_1 x_{i,1} + \beta_2 x_{i,2} + ... + \varepsilon\]

  • \(x_{i,1}\)代表變數\(X_1\)
  • \(x_{i,2}\)代表變數\(X_2\)
  • 可以加入\(x_{i,1}\)與\(x_{i,2}\)的交互作用項:\(X_{i,1,2} = x_{i,1} x_{i,2}\)來讓 \(X_1\)與\(X_2\)對\(Y\)的影響力,互相影響

常見的交錯作用的範例

  • 吸菸對身體的影響與性別的交互作用
    • 女性吸菸比男性吸菸,對身體的危害更嚴重
  • 廣告成效在不同主題的廣告與不同主題的媒體上的交互作用
    • 嬰幼產品在育兒網站上的效果特別好
  • 可透過\(t\)檢定對應的參數,例如\(H_0: \beta_{1,2} = 0\)來檢定「交互作用」是否存在有統計上的證據

變數轉換

  • 迴歸分析有很多假設,其中重要性由大到小的有:
  1. 有效:模型、資料應該要與你想研究的問題有關聯
  2. 加法、線性:變數之間的關係符合線性關係、並且是相加的
  3. 無法解釋的變化是常態分佈

變數轉換

  • 透過對數(log)轉換,我們常常可以讓資料更貼近:「加法、線性」與「常態分佈」這兩個假設

\[log(Y_i) = \alpha + \beta x_i \Leftrightarrow Y = C e^{\beta x_i}\]

  • 變數是對資料的「成長率」的變化做解釋
    • \(x_i\)增加1,代表\(Y\)成長\(e^{\beta}\)倍
  • 對於「金額」相關的資料,例如「營收」等等,常常更有意義
    • 我們在研究的資料,影響的是營收的成長率,而不是營收本身
  • 對數轉換可以把極大的異常值變得很靠近平均
    • \(log_{10}(10000000) = 7\)