やかんです。
前回に続き、今回は重回帰分析について扱います。まあ、といってもほぼ単回帰分析と同じような話なんですけどね。
重回帰分析について。
重回帰分析は、1つの独立変数に対して複数の説明変数が存在する場合の分析になります。
考え方は単回帰分析と同じ。
教科書とかで見ると説明変数の個数が「n個」と表記されていることが多く分かりづらいですが、「ラッシュ時の電車内が蒸し暑いのは、『人間の量』『そもそもの外気温』『空調の使用』『換気の有無』とかいろんなものによって説明されるよな」程度のものです。
僕個人の感想として、次元が上がると色々難しくなります。でも、ゆうて多次元も「2次元以上」の話なので2とか3とか4とかの次元で考えれば割とすんなりいったりします。
具体的に。
数学とかが専門じゃない僕の感想なので、本当に、ただの感想です。
早速Rで重回帰分析!
単回帰分析の時と同様、アヤメのデータセットを使って重回帰分析をしていきます。
コードはこちら。
# 重回帰モデルの作成
# がく片の長さ(Sepal.Length)を独立変数にとる。
# 説明変数にはがく片の幅(Sepal.Width)、花弁の長さ(Petal.Length)、花弁の幅(Petal.Width)を使用。
model <- lm(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width, data=iris)
# モデルのサマリーを表示
summary(model)
で、出力がこちら。
Call:
lm(formula = Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width,
data = iris)
Residuals:
Min 1Q Median 3Q Max
-0.82816 -0.21989 0.01875 0.19709 0.84570
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.85600 0.25078 7.401 9.85e-12 ***
Sepal.Width 0.65084 0.06665 9.765 < 2e-16 ***
Petal.Length 0.70913 0.05672 12.502 < 2e-16 ***
Petal.Width -0.55648 0.12755 -4.363 2.41e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.3145 on 146 degrees of freedom
Multiple R-squared: 0.8586, Adjusted R-squared: 0.8557
F-statistic: 295.5 on 3 and 146 DF, p-value: < 2.2e-16
うん。もう、単回帰分析の時と何も変わりませんね。
がく片の長さ = 0.65084 * (がく片の幅) + 0.70913 * (花弁の長さ) + (-0.55648) * (花弁の幅) + 1.85600
というわけです。
で、決定係数は0.8586。これは結構大きい値らしく、求められた標本回帰方程式は回帰モデルとして優秀と判断して良いことになります。
ということで、いざ書いてみると単回帰分析と同じような話になってしまいました。まあ、僕の理解が現状そこで止まっているということでしょう。勉強を進めて理解を深めていこうと思います。
次は回帰分析における検定について扱いたいなと思っています。ということで、この記事は以上です。最後までお読みいただき、ありがとうございます。