【重回帰分析】標準化と切片の扱いについて (表現の違いについて)

スポンサーリンク

【本記事の内容】重回帰分析における標準化と切片の関係の説明

重回帰分析のことを勉強していると、文献によって微妙にモデル式が異なることがあります。これは「変数の標準化の有無によって切片項の扱いが変わってくること」が原因に挙げられます。

そこで今回は重回帰分析で「標準化を行った場合に切片項を考慮しなくてよいこと(切片項を無視して議論できること)」について説明していきます。そのため、重回帰分析が何かなどの詳しい説明は本記事では述べません。

 

まず、標準化の有無によってモデル式および回帰係数がどうなっているかについて見ていきます。

重回帰分析のモデル・回帰係数(標準化なし)

「説明変数 : 標準化なし, 目的変数 : 標準化なし」の場合のモデル式および回帰係数は以下のようになります。

モデル式

$$\hat{y}=\beta_0+\beta_1 x_1 +…+ \beta_p x_p$$

ただし、

  • \(\hat{y}\) : 目的変数(の予測値)
  • \(x_1, … ,x_p\) : 説明変数
  • \(p\) : 説明変数の個数
  • \(\beta_0 \) : 切片
  • \(\beta_1, … ,\beta_p\) : 回帰係数

回帰係数

$$\boldsymbol{\beta} = (\boldsymbol{X}^T \boldsymbol{X})^{-1} \boldsymbol{X}^T \boldsymbol{y}$$

ただし、

  • \( \boldsymbol{\beta}=(\beta_0,\beta_1, … ,\beta_p)^T \)  : 回帰係数ベクトル ((p+1)×1)
  • \(\boldsymbol{y}=(y_1, … ,y_n)^T\)  : 目的変数ベクトル (n×1)
  • \(y_iはi番目のサンプルにおける目的変数の値\)
  • \(\boldsymbol{X}=\begin{pmatrix} 1 & x_{11} & … & x_{p1}\\ 1 & x_{12} & … & x_{p2} \\ … & … & … & … \\ 1 & x_{1n} & … & x_{pn} \end{pmatrix}\)  : 説明変数行列 (n×(p+1))
  • \(x_{ji}はi番目のサンプルにおけるj番目の説明変数の値\)
  • \(p\) : 説明変数の個数
  • \(n\) : サンプルの個数

 

上記のように標準化を行わない場合は「モデル式に切片項が存在している」「説明変数行列の1列目が1のみの列ベクトルが存在している」ことがわかります。

重回帰分析のモデル・回帰係数(標準化あり)

「説明変数 : 標準化あり, 目的変数 : 標準化あり」の場合のモデル式および回帰係数は以下のようになります。

モデル式

$$\hat{y}= \beta_1 x_1 +…+ \beta_p x_p$$

ただし、

  • \(\hat{y}\) : 目的変数(の予測値)
  • \(x_1, … ,x_p\) : 説明変数
  • \(p\) : 説明変数の個数
  • \(\beta_1, … ,\beta_p\) : 回帰係数

回帰係数

$$\boldsymbol{\beta} = (\boldsymbol{X}^T \boldsymbol{X})^{-1} \boldsymbol{X}^T \boldsymbol{y}$$

ただし、

  • \( \boldsymbol{\beta}=(\beta_1, … ,\beta_p)^T \)  : 回帰係数ベクトル (p×1)
  • \(\boldsymbol{y}=(y_1, … ,y_n)^T\)  : 目的変数ベクトル (n×1)
  • \(y_iはi番目のサンプルにおける目的変数の値\)
  • \(\boldsymbol{X}=\begin{pmatrix} x_{11} & … & x_{p1}\\ x_{12} & … & x_{p2} \\  … & … & … \\ x_{1n} & … & x_{pn} \end{pmatrix}\)  : 説明変数行列 (n×p)
  • \(x_{ji}はi番目のサンプルにおけるj番目の説明変数の値\)
  • \(p\) : 説明変数の個数
  • \(n\) : サンプルの個数

 

上記のように標準化を行った場合は先ほどとは異なり「モデル式に切片項が存在していない」「説明変数行列の1列目が1のみの列ベクトルが存在していない」ことがわかります。

重回帰分析のモデル・回帰係数(標準化あり)の導出

次に「標準化なしのモデル」(オリジナル)から「標準化ありのモデル」の導出について説明します。言い換えると、「標準化を行った場合、切片項を無視できること」を数学的に説明します。

ただし、以下では

  • \( \bar{a} : aの平均\)
  • \( \sigma_a : aの標準偏差\)

を表しているとします。

導出

・標準化なしモデル :

$$ y=\beta_0+\beta_1 x_1 +…+ \beta_p x_p$$

まず、目的変数の標準化、すなわち\(yを\frac{y-\bar{y}}{\sigma_y}\)に変形することを考えます。(ハット記号(^)は表記を簡便にするため省略しています。)

具体的には、両辺から\(\bar{y}を引いて、\frac{1}{\sigma_y}\)を掛けると、

$$ \frac{y-\bar{y}}{\sigma_y} = \frac{1}{\sigma_y}  \{ (\beta_0+\beta_1 x_1 +…+ \beta_p x_p) – \bar{y} \} $$

$$ \frac{y-\bar{y}}{\sigma_y} = \frac{\beta_0 – \bar{y}}{\sigma_y}  + \frac{ \beta_1 x_1 }{\sigma_y}  + …+ \frac{ \beta_p x_p }{\sigma_y}  $$

 

次に、説明変数の標準化、すなわち\(x_iを\frac{x_i -\bar{x}_i} {\sigma_{x_i}}\)に変形することを考えます。具体的には、\(x_i = \sigma_{x_i}  (\frac{ x_i – \bar{x}_i }{\sigma_{x_i}}  + \frac{ \bar{x}_i }{\sigma_{x_i}} )\) という変形を考えます。

$$ \frac{y-\bar{y}}{\sigma_y} = \frac{\beta_0 – \bar{y}}{\sigma_y}  + \frac{ \beta_1 \sigma_{x_1} }{\sigma_y} (\frac{ x_1 – \bar{x}_1 }{\sigma_{x_1}}  + \frac{ \bar{x}_1 }{\sigma_{x_1}} ) + …+ \frac{ \beta_p \sigma_{x_p} }{\sigma_y} (\frac{ x_p – \bar{x}_p }{\sigma_{x_p}}  + \frac{ \bar{x}_p }{\sigma_{x_p}} ) $$

これらをまとめると、

$$ \frac{y-\bar{y}}{\sigma_y} = \frac{1}{\sigma_y}  \{ (\beta_0 – \bar{y})  + (\beta_1 \bar{x}_1 + …+ \beta_p \bar{x}_p) \} +  \frac{ \beta_1 \sigma_{x_1} }{\sigma_y} (\frac{ x_1 – \bar{x}_1 }{\sigma_{x_1}}  ) + …+ \frac{ \beta_p \sigma_{x_p} }{\sigma_y} (\frac{ x_p – \bar{x}_p }{\sigma_{x_p}}   ) $$

となります。そして、新たに

$$ y’ = \frac{y-\bar{y}}{\sigma_y} , ~~ \beta_0′ = \frac{1}{\sigma_y}  \{ (\beta_0 – \bar{y})  + (\beta_1 \bar{x}_1 + …+ \beta_p \bar{x}_p) \},  ~~ \beta_i’ = \frac{ \beta_i \sigma_{x_i} }{\sigma_y} , ~~ x_i’ = \frac{ x_i – \bar{x}_i }{\sigma_{x_i}}  $$

とおくと、

・標準化ありモデル :

$$ y’= \beta_0′ + \beta_1′ x_1′ +…+ \beta_p’ x_p’$$

が得られます。

そして、ここで示したいのは「標準化ありモデルで切片項を無視できること」、つまり上式において

$$ \beta_0′ = \frac{1}{\sigma_y}  \{ (\beta_0 – \bar{y})  + (\beta_1 \bar{x}_1 + …+ \beta_p \bar{x}_p) \} = 0 $$

すなわち、

$$ \beta_0 =  \bar{y}  ~-  (\beta_1 \bar{x}_1 + …+ \beta_p \bar{x}_p)   $$

となることです。これを示します。

予測値と実測値(真値)の平方和(誤差関数)は

$$ S =  \sum^n_{i=1} \{ y_i – (\beta_0 + \beta_1 x_{1i} + … + \beta_p x_{pi} ) \}^2 $$

で表されます。そして、\(\beta_0 \)について、誤差の最小値を求める際に誤差関数Sを\( \beta_0 \) で偏微分してイコール0とおいた式が成立します。すなわち、

$$ \frac{\partial S}{\partial \beta_0} = -2 \sum^n_{i=1} \{ y_i – (\beta_0 + \beta_1 x_{1i} + … + \beta_p x_{pi} ) \} = 0 $$

$$ \sum^n_{i=1} y_i – ( \sum^n_{i=1} \beta_0 + \sum^n_{i=1} \beta_1 x_{1i} + … + \sum^n_{i=1} \beta_p x_{pi} ) = 0$$

ここで、\( \bar{a} = \frac{1}{n} \sum^n_{i=1} a_i すなわち  \sum^n_{i=1} a_i  = n \bar{a} であることと \sum^n_{i=1} 1 = n であることと \beta_i が定数である\)ことを考えれば、上式は以下のように変形できます。

$$  n\bar{y}  –  \{ n\beta_0 + \beta_1 (n \bar{x}_1) + …+ \beta_p (n \bar{x}_p) \} = 0 $$

これを\(\beta_0\)について解くと、

$$ \beta_0 =  \bar{y}  –  (\beta_1 \bar{x}_1 + …+ \beta_p \bar{x}_p)  $$

となります。これは示したい式そのものなので以上により題意は示されました。

まとめ

重回帰分析には2種類のモデル式の表現、すなわち「標準化なし、切片あり、説明変数行列に1の列ベクトルあり」「標準化あり、切片なし、説明変数行列に1の列ベクトルなし」があり、それらは数学的に等しいことが示されました。

 

コメント

タイトルとURLをコピーしました