setwd()
関数を使うなどして、作業用フォルダを指定できます。例えば、HDの直下にDSBdata
フォルダを作成した場合は以下のようになります。setwd("~/DSBdata")
kakei201709_l18.csv
を用います。read.csv()
関数を使って、CSVファイルを読み込みます。kakei <- read.csv("kakei201709_l18.csv", header=TRUE, sep=",")
INC1
, CONS1
, WORK
の散布図をプロットします。plot(kakei[,4:6])
lm()
関数を使って、線形回帰モデル(単回帰モデル)を最小二乗推定します。INC1
のみを説明変数とする単回帰モデルを推定します。kakei.lm1 <- lm(CONS1~INC1, data=kakei)
summary(kakei.lm1)
Call:
lm(formula = CONS1 ~ INC1, data = kakei)
Residuals:
Min 1Q Median 3Q Max
-3.5039 -1.0488 0.3011 1.2763 2.3413
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 14.263033 0.768529 18.56 3.02e-12 ***
INC1 0.216059 0.009384 23.02 1.08e-13 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.774 on 16 degrees of freedom
Multiple R-squared: 0.9707, Adjusted R-squared: 0.9689
F-statistic: 530.1 on 1 and 16 DF, p-value: 1.08e-13
INC1
とWORK
を説明変数とする重回帰モデルを推定します。kakei.lm2 <- lm(CONS1~INC1+WORK, data=kakei)
summary(kakei.lm2)
Call:
lm(formula = CONS1 ~ INC1 + WORK, data = kakei)
Residuals:
Min 1Q Median 3Q Max
-2.8671 -0.9996 -0.1032 1.3300 1.9492
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 12.03768 1.11306 10.815 1.77e-08 ***
INC1 0.18704 0.01419 13.181 1.19e-09 ***
WORK 2.98212 1.19404 2.498 0.0246 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.539 on 15 degrees of freedom
Multiple R-squared: 0.9793, Adjusted R-squared: 0.9765
F-statistic: 354.9 on 2 and 15 DF, p-value: 2.337e-13
plot(kakei.lm2)
WORK
のみを説明変数とする単回帰モデルを推定します。kakei.lm3 <- lm(CONS1~WORK, data=kakei)
summary(kakei.lm3)
Call:
lm(formula = CONS1 ~ WORK, data = kakei)
Residuals:
Min 1Q Median 3Q Max
-6.5383 -3.6378 -0.5404 2.5427 14.3834
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.656 3.556 1.871 0.0797 .
WORK 15.870 2.354 6.742 4.73e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 5.287 on 16 degrees of freedom
Multiple R-squared: 0.7396, Adjusted R-squared: 0.7234
F-statistic: 45.45 on 1 and 16 DF, p-value: 4.733e-06
scale()
関数を用いると、データを標準化できます。z.kakei <- as.data.frame(scale(kakei))
kakei.lm4 <- lm(z.kakei[,5]~z.kakei[,4]+z.kakei[,6])
summary(kakei.lm4)
Call:
lm(formula = z.kakei[, 5] ~ z.kakei[, 4] + z.kakei[, 6])
Residuals:
Min 1Q Median 3Q Max
-0.28523 -0.09944 -0.01026 0.13231 0.19391
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 5.102e-16 3.610e-02 0.000 1.0000
z.kakei[, 4] 8.529e-01 6.471e-02 13.181 1.19e-09 ***
z.kakei[, 6] 1.616e-01 6.471e-02 2.498 0.0246 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.1531 on 15 degrees of freedom
Multiple R-squared: 0.9793, Adjusted R-squared: 0.9765
F-statistic: 354.9 on 2 and 15 DF, p-value: 2.337e-13
AIC()
関数を用いて、モデル推定結果を比較できます。AIC(kakei.lm1, kakei.lm2, kakei.lm3)
BIC()
関数を用いて、モデル推定結果を比較できます。BIC(kakei.lm1, kakei.lm2, kakei.lm3)
car
パッケージのvif()
関数を用いて、多重共線性をチェックできます。install.packages("car")
でパッケージをインストールしてください。library(car)
car::vif(kakei.lm2)
INC1 WORK
3.035161 3.035161
以上で今回の演習は終了です。