2018/12/14

2020/06/10

重回帰分析とその関連用語をわかりやすく解説!

回帰分析

ライター:

前回は、単回帰分析について説明しました。今回は、重回帰分析について理解を深めていきましょう。

単回帰分析では、目的変数に対して一つの説明変数を用いていました。今回扱う重回帰分析は、目的変数に対して複数の説明変数を用います。

例えば、身長を体重という一つの説明変数から予測するのは単回帰分析です。一方、重回帰分析は身長を体重、年齢、性別など複数の説明変数から予測します。

重回帰分析はニューラルネットワークの基礎ともなっているくらい重要な分析手法です。

また重回帰分析に加えて、性別など数字で表現できない変数を扱うためのダミー変数という考えにも触れたいと思います。

重回帰分析について

今回は、成人の身長を例にとって考えていきたいと思います。まず成人の身長を、体重、年齢という2つの説明変数から予測することにしましょう。

身長を目的変数 \(y\)、体重を \(x_1\)、年齢を \(x_2\)として、重回帰分析を行うと

\(  y = a_1x_1 + a_2x_2 + b \)

のような式になります。単回帰式に説明変数が一つ増えた形になっていますね。このように、重回帰分析では複数の説明変数について考慮したモデルを作成することができます。

一般に、重回帰分析では以下の式を仮定します。目的変数\(y\)に対して\(n\)個の説明変数があるときは以下のような形になります。

\(  y = a_1x_1 + a_2x_2 + \cdots + a_nx_n + b \)

この時、\(a_i\)は\(x_i\)に対する偏回帰係数と呼びます。この偏回帰係数 \(a_i\)は、単回帰式と同じように最小二乗法を用いることで求めることができます。

標準化偏回帰係数について

回帰分析の目的は、目的変数を説明変数を用いて予測、説明することでした。

では重回帰分析において、複数の説明変数の予測力、説明力を比較したいときどうすればいいでしょうか。標準化偏回帰係数を用いて考えていきましょう。

説明変数の予測力、説明力とは、目的変数に対する説明変数の影響の大きさと考えることができます。この影響の大きさを考えるときは、偏回帰係数ではなく標準化偏回帰係数を用います。なぜ、偏回帰係数ではなく、標準化偏回帰係数を用いて目的変数に対する影響の大きさを考えるのでしょうか。

目的変数に対する説明変数の影響の大きさを考えるためには、偏回帰係数の大きさに加えてその説明変数の分散の大きさを考える必要があります。どんなに偏回帰係数が大きくても、その説明変数にバラツキがなければ目的変数への影響も少ないでしょう。以下の具体例を用いて、考えてみましょう。

例えば、身長をkgで表された体重、gで表された体重それぞれで単回帰した時のことを考えてみます。身長に対する体重の影響の大きさは単位によらず同じはずです。しかし、回帰係数だけを見て評価すると、身長に対する体重の影響の大きさが異なることになってしまいます。実際に、身長をkgで表された体重、gで表された体重それぞれで単回帰した結果を見てみます。

kgで表された体重、gで表された体重の回帰係数はそれぞれ0.912と0.000912となっています。回帰係数だけを見て目的変数への影響の大きさを評価すると、kgで表された体重の方が身長への影響が大きいということになります。

この二つについて、標準化偏回帰係数を用いて考えてみましょう。標準化偏回帰係数を用いることによって、説明変数の分散、バラツキについて考慮することができます。

一般に標準化偏回帰係数\(A_i\)は、以下のように表されます。目的変数 \(y\)、説明変数 \(x_i\)の標準偏差をそれぞれ\(s_y\), \(s_i\)とします。

\(A_i = a_i\frac{ s_i }{ s_y }\)

となります。

この時、gで表された体重、gで表された体重に対する標準化偏回帰係数\(A_kg\)、\(A_g\)は、それぞれ以下のようになります。

\(A_{kg} = 0.912*\frac{ 6.426 }{ 7.77 } = 0.754 \)  \(A_{kg} = 0.000912*\frac{ 6426 }{ 7.77 } =0.754 \)

身長の標準偏差 \(s_y\)は、7.77。kg、gで表された体重の標準偏差\(s_{kg}\)、\(s_g\)は、6.426、6426を用いました。

 

以上の式が表すように、kgで表された体重、gで表された体重どちらも標準化偏回帰係数が0.754になりました。標準化偏回帰係数を用いると、単位によらず身長に対する体重の影響が同じことがわかります。

このように標準化偏回帰係数を用いると、目的変数に対する説明変数の影響の大きさを考えることができます。

 

ダミー変数について

今までは、成人の身長を体重、年齢という説明変数から予測しようとしていました。新たに性別という説明変数を加えて、身長を予測してみましょう。

身長を目的変数 \(y\)、体重を \(x_1\)、年齢を \(x_2\)、性別を \(x_3\)として、重回帰分析を行うと

\(  y = a_1x_1 + a_2x_2 + a_3x_3 + b \)

という形の式になります。

しかし、性別という変数をどのようにして重回帰モデルに組み込むのでしょうか。性別は男、女という言葉で表現されています。このようなデータのことをカテゴリー変数と呼びます。重回帰モデルに組み込む説明変数は、数字で表現された数値変数でなくてはなりません。どのようにして性別というカテゴリー変数を数値変数として表現するのでしょうか。

このようなとき、ダミー変数を用います。ダミー変数を用いるとカテゴリー変数を0、1という二つの数字で表現することができます。実際に性別をダミー変数を用いて表現したときについて考えていきましょう。

性別をダミー変数を用いて表したいときは男を1、女を0としてデータに組み込みます。性別をダミー変数を用いて表現した以下のデータを見てみましょう。性別を表す列にたくさんの1と0があるのが見て取れます。例えば、idが1のデータは性別の列が1となっているので男性とわかりますね。idが2のデータは性別の列が0となっているので女性であるとわかります。このようにダミー変数を用いると、性別というカテゴリー変数を数値変数にすることができます。

今回は、男性と女性という二種類のカテゴリーデータをダミー変数を用いて考えてみました。

三種類以上のカテゴリー変数に関しても、ダミー変数を用いることができます。例えば、黒人、白人、アジア人という三種類のカテゴリー変数について考えてみましょう。以下のデータを参考にします。

一つ目と四つ目のデータは、白人の列のみ1となっています。つまり、このデータは白人であるということを示しています。同様に、三つ目のデータは、黒人の列のみ1となっています。このデータは黒人であるとわかります。

また、二つ目と五つ目のデータは黒人、白人の列ともに0が入っています。この時は、このデータは白人、黒人でもない、つまりアジア人であるということを表しています。

n種類のカテゴリー変数を扱うときは、n-1個の列を用いることで表現できます。

重回帰分析における説明変数選択の注意点

ここでは、重回帰分析を行ううえで用いる説明変数に関する注意点について述べます。

重回帰分析をする前に、用いる説明変数間の相関係数を確認しましょう。説明変数同士の相関が高い場合は、その相関が高い説明変数を取り除き一つの変数とするとよいでしょう。

このように説明変数同士の相関が高い、多重共線性があるとき、モデルに問題を引き起こす場合があります。例えば、偏回帰係数の符号が逆転したり、偏回帰係数の有意性が失わることがあります。そのため相関の高い説明変数群は取り除くとよいでしょう。

 

目的に応じて、自由度調整済み決定係数だけでなくAIC(赤池情報量基準)などの指標を見るとよいでしょう。

現在のデータに対する説明力に関して考えたいときは、決定係数を見るとよいです。一方新たなデータに対する予測力を考えたい場合は、AIC(赤池情報量基準)を用いるとよいでしょう。

単回帰分析では、モデルの精度の評価に決定係数を用いていました。しかし、重回帰分析では単純に決定係数を用いてモデルの評価をすることはできません。なぜなら、重回帰分析では適当な説明変数を加えることで、決定係数を上げることができるからです。これは、新たな説明変数を加えることで説明力が落ちないと取ることもできます。

そのため、説明変数の取捨選択するときの評価にAIC(赤池情報量基準)が用いられることが多いです。このAIC(赤池情報量基準)を基にしたステップワイズ変数選択についての記事のリンクをつけておきます。

(totalcount 31,209 回, dailycount 23回 , overallcount 16,392,667 回)

ライター:

回帰分析

single-banner

COMMENT

コメントを残す

メールアドレスが公開されることはありません。
*は必須項目です。




CAPTCHA