crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

Real estate valuation data set の分析5 - R言語のlm関数で回帰分析をする。駅から近いということだけを見てはいけない。

 

www.crosshyou.infoの続きです。

前回は各変数間の相関係数を調べました。

今回は、回帰分析をして不動産価格を予測するモデルを作成します。

はじめにpairs関数で散布図マトリックスを描きます。

pairs関数

 

散布図マトリックス

一番下の列がY(不動産価格)が縦軸でその他の変数が横軸の散布図です。

それではR言語のlm関数で回帰分析をします。

最初は交互作用項、2乗項のある複雑なモデルからスタートして、段階的に単純化していきます。

lm関数

回帰分析モデルの結果

回帰分析モデルの結果

p-value < 2.2e-16 と0.05よりも小さいので有意なモデルです。

step関数でこのモデルを単純化します。

単純化した回帰分析モデル

X2:X6の交互作用はp-valueが0.134なので削除してみます。

update関数とanova関数

update関数でlm2からX2:X6を削除したモデルlm3を作成し、anova関数でlm2とlm3を比較しました。Pr(<F)が0.134と0.05よりも大きいですからlm2とlm3では有意な違いはありません。より単純なlm3のほうを採用します。

より単純な回帰分析モデル

X6も削除しましょう。

update関数とanova関数

Pr(>F)の値が0.949なのでlm3とlm4は有意な違いはありません。

より単純なlm4を採用します。summary関数でlm4を見てみましょう。

より単純な回帰分析モデル

これですべての項目のPr(>|t|)が0.05以下になりました。Estimateの列が係数ですが、e+04などとわかりにくいので、coef関数とround関数でわかりやすく表示してみます。

各項目の係数をcoef関数とround関数で表示

だいぶわかりやすくなりました。

整理しましょう。

Y = -35895 + 6.329 * X1 - 0.971 * X2 + 0.018 * X2^2 + 5.565 * X3 + 2466.322 * X4 + 929.265 * X5 - 0.001 * X3 * X4 - 0.223 * X3 * X5 - 98.711 * X4 * X5

です。
Y:不動産価格

X1:取引日

X2:築年数

X3:最寄りの駅までの距離

X4:近くのコンビニエンスストアの数

X5:緯度

です。

以外にも最寄りの駅までの距離が長いほど不動産価格が高いのですね。

これは、YとX3だけで分析したのとは正反対の結果です。

不動産価格と最寄り駅までの距離の相関

不動産価格と最寄り駅までの距離の散布図

最寄りの駅の距離が近いから不動産価格が高いのではなくて、最寄りの駅までの距離が近いとコンビニエンスストアの数が多かったりするから不動産価格が高いのですね。

今回は以上です。