ホーム > 分析手法 > 重回帰分析

重回帰分析

多変量解析と聞くと、主成分分析やら、回帰分析、判別分析、クラスター分析等よく聞く名前が 上がってきます。
今回、ここでご紹介するのは、回帰分析の部分にしたいと思います。 分析するうえで、上記の内容はそれぞれ重要なことではありますが、その中でも分析の醍醐味である、「予測する」という部分を学んでいけたらと思います。
回帰分析といわれると、まず思い浮かぶのが単回帰分析。その次に重回帰分析ですよね。 単回帰分析と重回帰分析の違いは下の方で説明するとして、共通して何をするためのもの なのかというと、最初の導入部でも記述させていただきましたが、「予測する」ということです。

※下記の大まかなイメージを記します。あくまで大まかなので、厳密には記載しておりません。

01


説明変数と目的変数とは

目的変数とは、物事の結果(予測したい項目)
説明変数とは、目的変数を説明するための原因です。
(予測したい項目を説明するための項目) 目的変数は基本的に一つです。

02

今回は回帰分析の中でも、重回帰分析というものに絞って説明していきたいと思います!

 

重回帰分析メリットデメリット 重回帰分析のメリット、デメリットをそれぞれ下記にまとめてみました。

03

★注意点★
メリットのところの説明変数を増やせるだけ増やせばいいという考えになってしまいがちですが説明変数を増やしすぎてしまては、見せ掛けだけの予測が向上してしまう恐れがあるため、 注意が必要です。
(オーバーフィッティングや過剰適合という) 説明変数間で相関関係の強いものに関しては、どちらか片方のみを採用する。

SASでの重回帰分析のやり方


STEP1 目的変数と、説明変数を決める

今回は、一年間の平均気温と、築年数を使って、 家賃を調べてみたいと思います。

data test ;

input temp year total @@;

label temp = 温度   year = 築年数    total= 家賃(万);

cards;

22.2 16 18 15.6 25 16 14.9 8 12 24 11 22 13 11 14 7.2 39 13 7.9 11 9 12.8 28 14 22.3 26 22 18.4 5 16 11.8 26 12 18.6 35 21 9.4 16 11 10.3 6 8 14.3 25 15 25.5 13 23 9.5 14 9 13.9 45 19 9.2 36 13 15.6 11 16 13.2 30 16 16.8 6 14 17.2 10 15 21.9 16 21 11.6 30 14 6.7 26 11 16.1 12 14 11.3 31 16 4.3 8 4 11.1 38 16 8.2 45 15 15.7 25 18 20.8 13 20 23.7 12 20 13.8 23 15 18 30 22 17.5 24 18 18.2 19 19 21.1 16 20 6.8 28 9 15.5 22 17 14.4 19 14 11.6 28 15 5.5 25 8 17.9 18 18 12.5 6 10 14.3 28 17 16.9 30 20 15.4 27 18 17.1 19 16 20.9 32 23 16.1 44 21 10.5 9 12 21.8 15 19 14.7 19 16 19 13 17 7 14 7 18.9 34 21 11.6 29 14 9.7 31 14 20.3 28 22 10.5 32 13 21.9 27 23 19.9 15 18 21.5 18 20 8.8 19 12 15.2 16 15 24.7 16 22 15.6 45 21 15.5 15 16 16 4 14 17.6 15 16 18.6 11 17 14 15 15 5.9 31 9 16.6 15 14 11.7 31 15 18.3 26 21 10.3 24 13 12.1 20 14 18.8 35 22 11.7 28 13 1.1 15 4 11.7 25 13 21.8 28 22 7.3 25 13 16.2 31 17 16.6 38 19 14.6 8 12 14.4 13 13 13.7 18 14 10.3 32 13 12.9 24 14 16.7 23 18 10.3 11 10 16.9 26 19 21 12 20 15.8 39 20 20.9 22 21 6.5 25 10 ;

run;


STEP2 重回帰分析にかける


proc reg data = test ;

model total = temp year ; /*model 目的変数 = 説明変数1 説明変数2・・・・・・*/

run;


STEP3 考察(下記はSASのoutput結果です。)

04

このモデルが妥当かどうかを判断するためのPOINTを下記に記載します。
実際にやるときは以下のようなことを意識しながらやってみるといいかもしれません。

★POINT①★
R2乗(決定係数)⇒説明変数によってどれだけ、目的変数が説明されているかの指標。(0-1の値を取り1に近ければ近いほど予測精度は高い)
重相関係数⇒上記の決定係数のルートを取ったもの。今回手計算すると、0.97278となる。これも、1に近ければ 近いほど、精度がよいとされる。

★POINT②★
VIF(分散拡大)⇒多重共線性の指標になる大事なポイント。
今回のVIFは上記には出ていないが、1.02457となっていて、これが高いと、説明変数間で相関が高く、編回帰係数が不安定になる。
(目安としては、10を超えると多重共線性を疑った方がいい。)

 

【対応策】
独立な項目を追加するか、今現時点で組み込んでいる項目を除くといったことを一般的には行う。
多重共線性にならないためにも、事前に項目ごとの相関は確認してから、モデルに組み込む必要性がある。

上記の結果から最後に、どうやって予測をするのか。 上記の結果をもとに一次方程式を作る。

Y = 0.80667 × temp + 0.18610 × year + (-0.28220)

上記のtemp(温度)、year(築年数)をそれぞれ代入すると、目的変数に入れている値の予測が立てられます。
例えば、気温が7.2℃で、築年数が39年の場合の家賃を調べたい場合は Y = 0.80667 × 7.2 + 0.18610 × 39 + (-0.28220)となります。
これを計算すると・・・y = 12.783724となります。
よって、上記のような場合の時の家賃は大体13万程度になると予測ができるわけです。

電話番号
0466-90-3288
E-MAIL
info@analytics-jp.com
© BUNSEKIYA All Rights Reserved.