Rで重回帰分析

とにかく得意な分析を作ろうということで、重回帰分析を自由自在におこなえるようにしてみようということでざっくり学習中。

ブログ「かにぱん冒険記」の「R言語と重回帰分析(重回帰分析はじめました編)」で学習。
Rは本当に様々な指南ブログがあるので学習に困らない。みなさんありがとうございます。

ということで高速でまとめ。

1.round()関数で数値をまとめながら、cor関数で相関分析
 round(cor(データ型),小数点以下の数)
2.対散布図で視覚化
 pairs(データ型,pch=マーク(絵記号)を指定,bg=”点の色”,cex=”点のサイズ”)
 例)pairs(データ型,pch=21,bg=”red”,cex=”2″)
3.重回帰分析したデータを扱いやすくするために、変数化。
 データ型.lm <- lm(第一目的変数~.,data=データ型)   例)taikei2.lm <- lm(weight~,data=taikei2) 4.重回帰分析の実行。回帰係数の取得
5.取得できた係数の信頼度をsummary()関数で調査

決定係数(Multiple R-Squared)は0.9901、調整済みの決定係数(Adjusted R-squared)は0.9872である。
 #決定係数  得られた回帰式の精度を客観的な指標で表わす指標。『その式に取り入れられた説明変数(身長、ウエスト)の変動によって目的変数(体重)の変動の98.72%が説明できる』ということ。残りの1.~%は式に含まれない別の要素が関係している。

6.回帰式の精度を調査
 par(mfrow=c(2,2),oma=c(1,1,2,1),mar=c(4,4,2,1))
 plot(Dataset.lm,pch=21,col=2,cex=1.5)

図の左上:横軸を予測値、縦軸を残差(実測地ー予測値)としたプロットです。当てはめが悪いデータにはラベルがつきます。ここでは1,3,4
右下:横軸をてこ比、縦軸を「基準化した残差」としたプロットです。対象とした1つのデータが、回帰モデルに与える影響度を調べます。全データを用いた場合の回帰係数と、対象としたデータ1点を除いた場合の回帰係数を求め、影響が大きい、すなわち特異なデータにはラベルがつきます。ここでは、1、4、10。あるデータのCook’s Distanceが0.5以上、特に1.0以上の場合は特異なデータであると考えます。
右上:横軸を予測値、縦軸を「基準化した残差の絶対値の平方根」としたプロットです。
左下:正規Q-Qプロットを呼ばれるもので、正規分布に従っている場合は点が直線状に並び、正規分布に従っていない場合は直線から外れます。
ちょっと何を言っているか右上と左下がいまいちよくわからなかったけど、左上のラベルがついたデータは回帰式の当てはめが悪い。右下の点線に入っているデータは特異なデータだっていうことがわかった!

正直精度調査のくだりがチンプンカンプンでした(よって後半部はほぼ引用させていただきました)。
グラフについての知識不足がチンプンカンプンにさせているので、ここら辺りに課題を発見。
うーん、重回帰分析はいけそうな気がする。

Leave a Reply

%d人のブロガーが「いいね」をつけました。