
の続きです。前回は、dtotal: 総需要量を stotal: 総供給量という一つの説明変数で単回帰分析しました。今回はその他の説明変数を加えて、重回帰分析をしてみようと思います。
てはじめにfzaiko: 期初の在庫量と lzaiko: 期末の在庫量を加えてみます。

fzaiko, lzaikoの係数のp値はともに統計的に有意ではありませんね。anova()関数でmodel1とmodel2が統計的に有意に違うかを確認します。

p値が0.2147ですので、lzaiko, fzaiko2つ同時でも統計的に有意ではないですね。
次は、dakkoku: 脱穀量とhanbai: 販売量を加えてみます。

hanbaiは統計的に有意です。
こうやって、いろいろ変数を加えてみたり、除外したりは面倒なので、step()関数で有意な係数だけのモデルを作ってみます。

stotalの係数は0.877ですので、総供給量が1増えると総需要量は0.877増えるという関係です。
R2が0.9991ですから、この式でdtotalはほとんど全部を説明できるということですね。
dtotalとモデルの推定値の散布図を描いてみます。


プロットされた線がきれいに直線上にあることがわかります。
今回は以上です。
次回は、
です。
はじめから読むには、
です。
今回のコードは以下になります。
#
# fzaikoとlzaikoを加えて重回帰分析
model3 <- lm(dtotal ~ stotal + fzaiko + lzaiko, data = df_raw)
summary(model3)
#
# model1とmodel3の比較
anova(model1, model3)
#
# dakkokuと販売を加えて重回帰分析
model4 <- lm(dtotal ~ stotal + dakkoku + hanbai, data = df_raw)
summary(model4)
#
# step()関数で有意な変数だけのモデル
model5 <- lm(dtotal ~ stotal + fzaiko + dakkoku + kounyu + meshi + hashu +
hanbai + jouto + lzaiko, data = df_raw) |>
step(trace = FALSE)
summary(model5)
#
# モデル推計結果と実際のdtotalの散布図
plot(predict(model5), df_raw$dtotal)
abline(0, 1, col = "red")
#
(冒頭のイメージ図は、Bing Image Creator で生成しました。プロンプトは Long shot of landscape photograph, close up of yellow Chrysanthemum flowers, photo です。