重回帰分析の課題 ~過剰適合~

2013.05.15

重回帰分析の課題 ~過剰適合~


◎重回帰分析の課題

前回の「重回帰分析を使ってみよう! ~メリットを知る~」では、重回帰分析のメリットを中心にお話しました。今回から2回に分けて、重回帰分析の課題についてお話します。どんなに優れた手法も課題はあり、課題を理解して活用することが必要です。

■重回帰分析の課題

1.過剰適合:オーバーフィッティング
要因系データの種類を増やした場合の見せかけの予測精度の向上
2.多重共線性
要因系データの中に相関関係が強いものが含まれている場合に発生する予測精度の低下

今回は「過剰適合:オーバーフィッティング」についてお話します。

◎過剰適合:オーバーフィッティング

重回帰分析においては要因系データの種類を増やすと予測精度が向上する傾向にありますが、やりすぎには注意が必要です。データの種類を増やすことによって見せかけの(意味のない)予測精度が向上してしまいます。 この現象は「オーバーフィッティング(過剰適合)」と呼ばれています。 今回はシミュレーションによる実験を行い、直観的にイメージ出来るようなアプローチをします。

実験の方法:
実験の方法は、前回(「重回帰分析を使ってみよう! ~メリットを知る~」)の最後に説明した予測式の元となった「正解の式」をベースに色々と条件を変えて、予測精度が変化するかどうかを見ます。予測式の元となった正解の式は下記です。

販売価格 = 2000(切片)
 - 20(傾き) x (駅からの距離)
 + 10(傾き) x (専有面積)
 - 5(傾き) x (築年数)
 + 乱数

この式から100個のデータを発生させ、それを販売価格の「実際」としていました。 具体的に100個のデータを発生させるためには、下記のように、切片以外の要因系データについて個々に乱数を100個発生させました。

販売価格 = 2000(切片)
 - 20(傾き) x (駅からの距離:乱数100個)
 + 10(傾き) x (専有面積:乱数100個)
 - 5(傾き) x (築年数:乱数100個)
 + 乱数100個

そして100個の実際の値から重回帰分析にて予測式を作り、予測値を算出し、それぞれが実際の値と合うか比較していました。

今回の実験においても、正解の式の条件を色々と変えてデータを発生させ、それを販売価格の実際の値とし、 その実際の値から予測式および予測値を算出します。実験のフローは下記の通りです。

03image001.png

【実験】見せかけの予測精度
見せかけの予測精度が向上してしまう現象をイメージしやすくするために、要因系データの種類を増やした実験を行ってみましょう。下記のような「正解の式」を作り、実験フローに従って予測式を作成し予測値を求めます。

販売価格 = 2000(切片)
 - 20(傾き) x (駅からの距離:乱数100個)
 + 10(傾き) x (専有面積:乱数100個)
 - 5(傾き) x (築年数:乱数100個)
 + D1(乱数100個) + D2(乱数100個) + D3(乱数100個)
 + 乱数100個

追加された要因系データはD1、D2、D3です。それらは全て平均がゼロの乱数で販売価格の変動には影響がないはずです。実験には、D1、D2、D3を追加したものをダミー変数3個、D1~D6まで追加したものをダミー変数6個、D1~D9まで追加してものをダミー変数9個とし、それにダミー変数がないものを加え4水準としました。さらに、データ数も実験結果(予測精度)に影響があることが予想されることから、データ数を20個、50個、100個、200個の4水準としました。つまり実験としての条件は、ダミー変数の数4水準、データ数の4水準の16水準となります。

【結果】
実験の詳細な結果を説明する前に、ダミー変数が増えた時に予測値と実際の値がどうなるか、一つの例を説明します。下記のグラフは、データ数が20個の場合における、ダミー変数なしと、ダミー変数9個(D1~D9)の比較です。

03image008.png

見た目からもダミー変数9個の方の予測精度が向上しているように見えます。しかし、見た目だけでは評価しにくいので、重相関係数Rの2乗である決定係数と呼ばれる数値を導入します。重相関係数Rは、上記のような予測値と実際の値を相関させたグラフの相関係数です。2乗することにより、当てはまりの度合いを示す決定係数という数値として扱うことが出来ます。

これで予測精度を数値化することが出来るようになりましたので、上記の二つを比較してみます。結果は、R^2[決定係数](ダミーなし)=0.527, R^2[決定係数](ダミー変数9個)=0.730となり、見た目の当てはまり度合いと一致した結果となりました。つまり、ダミー変数として要因系データの種類を増やした場合には、決定係数が大きくなるようです。

さて実験の詳細結果ですが、この実験では同じ条件について10回の繰り返し行い、バラツキも見ました。試行により乱数は毎回再計算されるので、各条件において10セットのデータが集まります。

下記は決定係数の条件依存性を示しています。グラフタイトルの(多重共線性なし)については、今のところ関係ありません。(多重共線性については次回のコラムでお話します。)

03image009.png

上記のグラフから以下のことが言えます。
・決定係数は、データ数、ダミー変数の数によって変動する。
・データ数が少ない場合、ダミー変数の数による決定係数の差異は大きい。(データ数が多くなれば、ダミー変数の数による差異は小さくなり安定する)
このような現象がオーバーフィッティング(過剰適合)と呼ばれるものです。重回帰分析を行う上で、重相関係数Rの2乗、つまり決定係数にて予測値の当てはまりを評価した場合、その数値が大きくなったからと言って単純に当てはまりが良い予測式が出来たと喜んではいけないことになります。

このような状況(データ数、要因系データ数による決定係数の変動)を改善するために使われている指標は、「自由度調整済み決定係数」と呼ばれている数値です。計算された決定係数に対して、データ数、要因系データの数により補正を行っています。上記のグラフを自由度調整済み決定係数で置き換えると、下記となります。

03image014.png

まだデータ数が少ない時に若干値が大きくなる傾向がありますが、データ数や要因系データの数に依存しない値となることから、予測式の当てはまり度合いを評価する指標として使われています。

◎まとめ

重回帰分析の課題をイメージしやすいように、シミュレーションによる実験を行ってみました。結果はシンプルだったので安心したのではないでしょうか? 重回帰分析においては、取得されたデータが少なく、要因系データの数(種類)が多い時にはオーバーフィッティング(過剰適合)という現象が発生するので注意が必要であること。安定した予測式を作るためには、データ数を多くし要因系データの数を出来るだけ絞ることがポイントとです。

次回は重回帰分析の課題の二つ目「多重共線性」についてご紹介します。お楽しみに。