회귀분석 3장 연습문제 2022년 교재

연습문제

1번 (p. 114)

다음 자료는 토양으로부터 증발되는 수분의 양이 토양의 온도, 대기온도와 어떠한 관계가 있는지를 알아보고자 수집한 것이다.
MAXST: 토양 내 최고온도
MINST: 토양 내 최저온도
AVST: 토양 내 평균온도
MAXAT: 최고기온
MINAT: 최저기온
AVAT: 평균기온
EVAP: 증발되는 수분의 양

  1. 설명변수간의 표본상관계수를 구하라. 이 행렬에서 설명변수들의 다중공선성을 말할 수 있는가? => 설명어려움
  2. 분산팽창인VIF(lm(AVST~MAXAT+MINAT+AVAT+DAY+MAXST, data=dataF)) 자를 계산하라 => 6개의 VIF 중 가장큰 값이 5~10을 넘으므로 다중공선성 존재
DAY = c(6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30)
MAXST = c(84,84,79,81,84,74,73,75,84,86,88,90,88,88,81,79,84,84,84,77,87,89,89,93,93)
MINST = c(65,65,66,67,68,66,66,67,68,72,73,74,72,72,69,68,69,70,70,67,67,69,72,72,74)
AVST  = c(147,149,142,147,167,131,131,134,161,169,178,187,171,171,154,149,160,160,168,147,166,171,180,186,188)
MAXAT = c(85,86,83,83,88,77,78,84,89,91,91,94,94,92,87,83,87,87,88,83,92,92,94,92,93)
MINAT = c(59,61,64,65,69,67,69,68,71,76,76,76,75,70,68,68,66,68,70,66,67,72,72,73,72)
AVAT  = c(151,159,152,158,180,147,159,159,195,206,208,211,211,201,167,162,173,177,169,170,196,199,204,201,206)
EVAP  = c(30,34,33,26,41,4,5,20,31,38,43,47,45,45,11,10,30,29,23,16,37,50,36,54,44)

dataF = data.frame(DAY, MAXST, AVST, MAXAT, MINAT, AVAT, EVAP)
str(DAY)
##  num [1:25] 6 7 8 9 10 11 12 13 14 15 ...
str(AVST)
##  num [1:25] 147 149 142 147 167 131 131 134 161 169 ...
str(dataF)
## 'data.frame':    25 obs. of  7 variables:
##  $ DAY  : num  6 7 8 9 10 11 12 13 14 15 ...
##  $ MAXST: num  84 84 79 81 84 74 73 75 84 86 ...
##  $ AVST : num  147 149 142 147 167 131 131 134 161 169 ...
##  $ MAXAT: num  85 86 83 83 88 77 78 84 89 91 ...
##  $ MINAT: num  59 61 64 65 69 67 69 68 71 76 ...
##  $ AVAT : num  151 159 152 158 180 147 159 159 195 206 ...
##  $ EVAP : num  30 34 33 26 41 4 5 20 31 38 ...
#install.packages("corrplot")
library(corrplot)
## Warning: package 'corrplot' was built under R version 4.1.3

## corrplot 0.92 loaded
plot(dataF)

matrixVal = matrix(dataF)
str(matrixVal)
## List of 7
##  $ : num [1:25] 6 7 8 9 10 11 12 13 14 15 ...
##  $ : num [1:25] 84 84 79 81 84 74 73 75 84 86 ...
##  $ : num [1:25] 147 149 142 147 167 131 131 134 161 169 ...
##  $ : num [1:25] 85 86 83 83 88 77 78 84 89 91 ...
##  $ : num [1:25] 59 61 64 65 69 67 69 68 71 76 ...
##  $ : num [1:25] 151 159 152 158 180 147 159 159 195 206 ...
##  $ : num [1:25] 30 34 33 26 41 4 5 20 31 38 ...
##  - attr(*, "dim")= int [1:2] 7 1
cor(dataF)          
##             DAY     MAXST      AVST     MAXAT     MINAT      AVAT      EVAP
## DAY   1.0000000 0.5119643 0.6057847 0.5357711 0.4468035 0.5497730 0.2753970
## MAXST 0.5119643 1.0000000 0.9486608 0.9268580 0.5048854 0.8250186 0.8933048
## AVST  0.6057847 0.9486608 1.0000000 0.9282693 0.6834957 0.8928071 0.8173403
## MAXAT 0.5357711 0.9268580 0.9282693 1.0000000 0.6256655 0.9094757 0.8509974
## MINAT 0.4468035 0.5048854 0.6834957 0.6256655 1.0000000 0.8307017 0.4544024
## AVAT  0.5497730 0.8250186 0.8928071 0.9094757 0.8307017 1.0000000 0.7675541
## EVAP  0.2753970 0.8933048 0.8173403 0.8509974 0.4544024 0.7675541 1.0000000
corrplot(cor(dataF), method="number")

head(dataF)
##   DAY MAXST AVST MAXAT MINAT AVAT EVAP
## 1   6    84  147    85    59  151   30
## 2   7    84  149    86    61  159   34
## 3   8    79  142    83    64  152   33
## 4   9    81  147    83    65  158   26
## 5  10    84  167    88    69  180   41
## 6  11    74  131    77    67  147    4
data.lm = lm(EVAP~DAY+MAXST+AVST+MAXAT+MINAT+AVAT, data=dataF)
summary(data.lm)
## 
## Call:
## lm(formula = EVAP ~ DAY + MAXST + AVST + MAXAT + MINAT + AVAT, 
##     data = dataF)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -10.9404  -3.5317  -0.9769   1.6295  11.0227 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)  
## (Intercept) -184.9217    75.7520  -2.441   0.0252 *
## DAY           -0.4731     0.2195  -2.156   0.0449 *
## MAXST          2.5123     1.0853   2.315   0.0326 *
## AVST          -0.2582     0.3787  -0.682   0.5041  
## MAXAT          0.3312     0.9557   0.347   0.7329  
## MINAT         -0.1203     0.7669  -0.157   0.8771  
## AVAT           0.1913     0.2329   0.821   0.4222  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.996 on 18 degrees of freedom
## Multiple R-squared:  0.864,  Adjusted R-squared:  0.8187 
## F-statistic: 19.06 on 6 and 18 DF,  p-value: 6.733e-07
anova(data.lm)
## Analysis of Variance Table
## 
## Response: EVAP
##           Df Sum Sq Mean Sq  F value    Pr(>F)    
## DAY        1  360.9   360.9  10.0400  0.005317 ** 
## MAXST      1 3650.2  3650.2 101.5351 7.942e-09 ***
## AVST       1    0.0     0.0   0.0004  0.984404    
## MAXAT      1   59.9    59.9   1.6668  0.213018    
## MINAT      1   16.6    16.6   0.4604  0.506051    
## AVAT       1   24.3    24.3   0.6747  0.422162    
## Residuals 18  647.1    36.0                       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#install.packages("fmsb")
library(fmsb)
## Warning: package 'fmsb' was built under R version 4.1.3
VIF(lm(DAY~MAXST+AVST+MAXAT+MINAT+AVAT, data=dataF))
## [1] 1.74147
VIF(lm(MAXST~AVST+MAXAT+MINAT+AVAT+DAY, data=dataF))
## [1] 23.84687
VIF(lm(AVST~MAXAT+MINAT+AVAT+DAY+MAXST, data=dataF))
## [1] 27.78584
VIF(lm(MAXAT~MINAT+AVAT+DAY+MAXST+AVST, data=dataF))
## [1] 14.4067
VIF(lm(MINAT~AVAT+DAY+MAXST+AVST+MAXAT, data=dataF))
## [1] 7.633176

2번 (p. 115)

  1. 설명변수 간의 표본상관행렬을 구하라. 이 행렬에서 설명변수들의 선형종속관계를 말할 수 있는가? =>cor(dataF[,-7]) 값을 보면 각 설명변수간에 선형종속관계가 약함
  2. 분산팽창인자를 이용하여 다중공선성의 존재를 파악하라 =>5개의 VIF 중 가장큰 값이 5~10을 넘으므로 다중공선성 존재
Y = c(10.006, 9.737, 15.087, 8.422, 8.625, 16.289, 5.958, 9.313, 12.960, 5.541, 8.756, 10.937)
X1=c(8,8,8,0,0,0,2,2,2,0,0,0)
X2=c(1,1,1,0,0,0,7,7,7,0,0,0)
X3=c(1,1,1,9,9,9,0,0,0,0,0,0)
X4=c(1,0,0,1,1,1,1,1,1,10,10,10)
X5=c(0.541, 0.130, 2.116, -2.397, -0.046, 0.365, 1.996, 0.228, 1.380, -0.798, 0.257, 0.440)
X6=c(-0.099, 0.070, 0.115, 0.252, 0.017, 1.504, -0.865, -0.055, 0.502, -0.399, 0.101, 0.432)
dataF = data.frame(X1,X2,X3,X4,X5,X6,Y)
cor(dataF[,-7])
##             X1          X2         X3          X4         X5          X6
## X1  1.00000000  0.05230658 -0.3433818 -0.49761095  0.4172974 -0.19209942
## X2  0.05230658  1.00000000 -0.4315953 -0.37069641  0.4845495 -0.31673965
## X3 -0.34338179 -0.43159531  1.0000000 -0.35512135 -0.5051579  0.49437941
## X4 -0.49761095 -0.37069641 -0.3551214  1.00000000 -0.2145543 -0.08690551
## X5  0.41729739  0.48454950 -0.5051579 -0.21455429  1.0000000 -0.12295400
## X6 -0.19209942 -0.31673965  0.4943794 -0.08690551 -0.1229540  1.00000000
head(dataF)
##   X1 X2 X3 X4     X5     X6      Y
## 1  8  1  1  1  0.541 -0.099 10.006
## 2  8  1  1  0  0.130  0.070  9.737
## 3  8  1  1  0  2.116  0.115 15.087
## 4  0  0  9  1 -2.397  0.252  8.422
## 5  0  0  9  1 -0.046  0.017  8.625
## 6  0  0  9  1  0.365  1.504 16.289
data.lm = lm(Y~X1+X2+X3+X4+X5, data=dataF)
summary(data.lm)
## 
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4 + X5, data = dataF)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.8104 -1.1245  0.1114  1.6036  3.3694 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  22.5823    41.7129   0.541    0.608
## X1           -1.1835     3.9822  -0.297    0.776
## X2           -1.6352     4.2127  -0.388    0.711
## X3           -0.9861     4.1922  -0.235    0.822
## X4           -1.4113     4.1674  -0.339    0.746
## X5            1.7090     1.1253   1.519    0.180
## 
## Residual standard error: 3.36 on 6 degrees of freedom
## Multiple R-squared:  0.4236, Adjusted R-squared:  -0.0568 
## F-statistic: 0.8818 on 5 and 6 DF,  p-value: 0.5452
anova(data.lm)
## Analysis of Variance Table
## 
## Response: Y
##           Df Sum Sq Mean Sq F value Pr(>F)
## X1         1  7.461  7.4614  0.6608 0.4473
## X2         1  1.477  1.4772  0.1308 0.7300
## X3         1 10.940 10.9404  0.9689 0.3630
## X4         1  3.859  3.8592  0.3418 0.5801
## X5         1 26.046 26.0463  2.3066 0.1796
## Residuals  6 67.752 11.2921
#install.packages("fmsb")
library(fmsb)
VIF(lm(X1~X2+X3+X4+X5, data=dataF))
## [1] 181.1577
VIF(lm(X2~X3+X4+X5+X1, data=dataF))
## [1] 160.3068
VIF(lm(X3~X4+X5+X1+X2, data=dataF))
## [1] 266.1398
VIF(lm(X4~X5+X1+X2+X3, data=dataF))
## [1] 296.7028
VIF(lm(X5~X1+X2+X3+X4, data=dataF))
## [1] 1.797182

3번(p. 115)

교통사고의 원인을 알아보기 위해서 1973년 미국 미네소타주의 도로 39개 구간에서 자동차 주행거리 100만 마일당 사고의 횟수를 반응변수로 하고, 사고의 원인이 될 수 있는 것으로 예상되는 13개의 설명변수를 얻은 자료이다
Y: 100만 마일의 자동차 주행거리당 사고의 횟수
X1: 구간의 길이(miles) X2: 일 평균 통과 자동차수(천 대) X3: 트럭의 비율 X4: 제한속도(mile/hour) X5: 차선의 폭(feet) X6: 갓길의 폭(feet) X7: 1마일당 고속도로 진입로의 수 X8: 1마일당 신호등이 있는 교차로의 수 X9: 1마일당 진입로의 수 X10: 차선의 수 X11: 1: 연방고속도로, 0: 기타 X12: 1: principal arterial highway, 0: 기타 X13: 1: major arterial highway, 0: 기타

Y = c(4.58,2.86,3.02,2.29,1.61,6.87,3.85,6.12,3.29,5.88,4.20,4.61,4.80,3.85,2.69,1.99,2.01,4.22,2.76,2.55,1.89,2.34,2.83,1.81,9.23,8.60,8.21,2.93,7.48,2.57,5.77,2.90,2.97,1.84,3.78,2.76,4.27,3.05,4.12)
X1 = c(4.99,16.11,9.75,10.65,20.01,5.97,8.57,5.24,15.79,8.26,7.03,13.28,5.40,2.96,11.75,8.86,9.78,5.49,8.63,20.31,40.09,11.81,11.39,22.00,3.58,3.23,7.73,14.41,11.54,11.10,22.09,9.39,19.49,21.01,27.16,14.03,20.63,20.06,12.91)
X2 = c(69,73,49,61,28,30,46,25,43,23,23,20,18,21,27,22,19,9,12,12,15,8,5,5,23,13,7,10,12,9,4,5,4,5,2,3,1,3,1)
X3 = c(8,8,10,13,12,6,8,9,12,7,6,9,14,8,7,9,9,11,8,7,13,8,9,15,6,6,8,10,7,8,8,10,13,12,10,8,11,11,10)
X4 = c(55,60,60,65,70,55,55,55,50,50,60,50,50,60,55,60,60,50,55,60,55,60,50,60,40,45,55,55,45,60,45,55,55,55,55,50,55,60,55)
X5 = c(12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,11,13,12,10,12,12,11,12,12)
X6 = c(10,10,10,10,10,10,8,10,4,5,10,2,8,10,10,10,10,6,6,10,8,10,8,7,2,2,8,6,3,7,3,1,4,8,3,4,4,8,3)
X7 = c(1.20,1.43,1.54,0.94,0.65,0.34,0.47,0.38,0.95,0.12,0.29,0.15,0,0.34,0.26,0.68,0.20,0.18,0.14,0.05,0.05,0,0,0,0.56,0.31,0.13,0,0.09,0,0,0,0,0,0.04,0.07,0,0,0)
X8 = c(0,0,0,0,0,1.84,0.70,0.38,1.39,1.21,1.85,1.21,0.56,0,0.60,0,0.10,0.18,0,0.99,0.12,0,0.09,0,2.51,0.93,0.52,0.07,0.09,0,0.14,0,0,0.10,0.04,0,0,0,0)
X9 = c(4.60,4.40,4.70,3.80,2.20,24.80,11.00,18.50,7.50,8.20,5.40,11.20,15.20,5.40,7.90,3.20,11.00,8.90,12.40,7.80,9.60,4.30,11.10,6.80,53.00,17.30,27.30,18.00,30.20,10.30,18.20,12.30,7.10,14.00,11.30,16.30,9.60,9.00,10.40)
X10 = c(8,4,4,6,4,4,4,4,4,4,4,4,2,4,4,4,4,2,2,4,4,2,2,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2)
X11 = c(1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
X12 = c(0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
X13 = c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0)
str(X7)
##  num [1:39] 1.2 1.43 1.54 0.94 0.65 0.34 0.47 0.38 0.95 0.12 ...
dataF = data.frame(Y,X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13)
  1. 앞으로부터 선택법을 이용하여 모형을 선택하라
    => 반영변수에 영향을 줄 것으로 생각되는 k개의 설명변수들 중에서 가장 큰게 영향을 줄 것으로 판단되는 변수부터 하나씩 선택하여 더 이상 중요한 변수가 없다고 판단될 때 변수의 선택을 중단하는 방법
start.lm = lm(Y~1, data=dataF)
full.lm = lm(Y~ . , data=dataF)
step(start.lm, scope=list(lower=start.lm, upper=full.lm), direction="forward")
## Start:  AIC=54.51
## Y ~ 1
## 
##        Df Sum of Sq     RSS    AIC
## + X9    1    84.767  65.119 23.994
## + X4    1    69.508  80.378 32.204
## + X8    1    47.759 102.127 41.543
## + X3    1    39.372 110.514 44.622
## + X1    1    32.449 117.437 46.991
## + X6    1    22.438 127.449 50.182
## + X13   1    17.108 132.778 51.780
## <none>              149.886 54.506
## + X11   1     6.460 143.426 54.788
## + X12   1     3.911 145.975 55.475
## + X10   1     0.163 149.723 56.464
## + X2    1     0.122 149.764 56.474
## + X7    1     0.092 149.794 56.482
## + X5    1     0.005 149.881 56.505
## 
## Step:  AIC=23.99
## Y ~ X9
## 
##        Df Sum of Sq    RSS    AIC
## + X1    1   12.9806 52.139 17.323
## + X3    1   10.0532 55.066 19.454
## + X4    1    7.9430 57.176 20.920
## + X8    1    7.1603 57.959 21.451
## <none>              65.119 23.994
## + X2    1    3.0871 62.032 24.099
## + X7    1    2.4664 62.653 24.488
## + X10   1    2.4108 62.708 24.522
## + X6    1    0.8293 64.290 25.494
## + X13   1    0.4750 64.644 25.708
## + X11   1    0.4259 64.693 25.738
## + X5    1    0.1013 65.018 25.933
## + X12   1    0.0148 65.104 25.985
## 
## Step:  AIC=17.32
## Y ~ X9 + X1
## 
##        Df Sum of Sq    RSS    AIC
## + X4    1    7.2920 44.847 13.448
## + X8    1    3.4703 48.668 16.637
## + X6    1    3.2651 48.873 16.801
## + X3    1    2.9834 49.155 17.025
## <none>              52.139 17.323
## + X5    1    0.8546 51.284 18.679
## + X12   1    0.4613 51.677 18.977
## + X10   1    0.3814 51.757 19.037
## + X2    1    0.3062 51.832 19.094
## + X7    1    0.2262 51.912 19.154
## + X13   1    0.1771 51.962 19.191
## + X11   1    0.0457 52.093 19.289
## 
## Step:  AIC=13.45
## Y ~ X9 + X1 + X4
## 
##        Df Sum of Sq    RSS    AIC
## + X8    1   2.51322 42.333 13.198
## + X3    1   2.40652 42.440 13.297
## <none>              44.847 13.448
## + X11   1   1.47651 43.370 14.142
## + X10   1   1.30168 43.545 14.299
## + X12   1   1.21471 43.632 14.377
## + X2    1   0.93309 43.913 14.628
## + X7    1   0.87112 43.975 14.683
## + X5    1   0.38786 44.459 15.109
## + X6    1   0.01982 44.827 15.431
## + X13   1   0.00346 44.843 15.445
## 
## Step:  AIC=13.2
## Y ~ X9 + X1 + X4 + X8
## 
##        Df Sum of Sq    RSS    AIC
## + X12   1    4.1181 38.215 11.207
## <none>              42.333 13.198
## + X11   1    1.8859 40.447 13.421
## + X3    1    1.4051 40.928 13.882
## + X13   1    0.6230 41.710 14.620
## + X7    1    0.4833 41.850 14.751
## + X5    1    0.3969 41.936 14.831
## + X2    1    0.3231 42.010 14.900
## + X10   1    0.2948 42.039 14.926
## + X6    1    0.1400 42.193 15.069
## 
## Step:  AIC=11.21
## Y ~ X9 + X1 + X4 + X8 + X12
## 
##        Df Sum of Sq    RSS    AIC
## <none>              38.215 11.207
## + X3    1   1.05617 37.159 12.114
## + X6    1   0.40683 37.808 12.790
## + X13   1   0.40513 37.810 12.792
## + X10   1   0.13528 38.080 13.069
## + X11   1   0.10984 38.105 13.095
## + X5    1   0.05020 38.165 13.156
## + X2    1   0.00796 38.207 13.199
## + X7    1   0.00252 38.213 13.205

## 
## Call:
## lm(formula = Y ~ X9 + X1 + X4 + X8 + X12, data = dataF)
## 
## Coefficients:
## (Intercept)           X9           X1           X4           X8          X12  
##     9.94408      0.06428     -0.07405     -0.10510      0.79736     -0.77443
  1. 뒤로부터 제거법을 이용하여 모형을 선택하라
    => 반응변수에 영향을 주리라고 생각되는 k 개의 설명변수들 중에서 가장 작게 영향을 주리라고 여겨지는 변수부터 하나씩 제거해 나가면서 더 이상 제거할 변수가 없다고 판단될 때 변수의 제거를 중단하는 방법
step(full.lm, data=dataF, direction="backward")
## Start:  AIC=24.76
## Y ~ X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 + X11 + 
##     X12 + X13
## 
##        Df Sum of Sq    RSS    AIC
## - X6    1    0.0109 35.905 22.775
## - X10   1    0.0127 35.906 22.777
## - X2    1    0.0203 35.914 22.785
## - X5    1    0.0719 35.966 22.841
## - X11   1    0.1420 36.036 22.917
## - X7    1    0.1973 36.091 22.977
## - X13   1    0.4530 36.347 23.252
## - X3    1    1.0941 36.988 23.934
## - X12   1    1.1976 37.091 24.043
## <none>              35.894 24.763
## - X8    1    2.6508 38.544 25.542
## - X4    1    3.2969 39.191 26.190
## - X9    1    3.5130 39.407 26.405
## - X1    1    5.4061 41.300 28.235
## 
## Step:  AIC=22.77
## Y ~ X1 + X2 + X3 + X4 + X5 + X7 + X8 + X9 + X10 + X11 + X12 + 
##     X13
## 
##        Df Sum of Sq    RSS    AIC
## - X10   1    0.0123 35.917 20.788
## - X2    1    0.0160 35.921 20.792
## - X11   1    0.1578 36.062 20.946
## - X5    1    0.1755 36.080 20.965
## - X7    1    0.1989 36.103 20.990
## - X13   1    0.4848 36.389 21.298
## - X3    1    1.3528 37.257 22.217
## - X12   1    1.4020 37.307 22.269
## <none>              35.905 22.775
## - X8    1    3.0823 38.987 23.987
## - X9    1    5.1901 41.095 26.040
## - X1    1    5.6461 41.551 26.471
## - X4    1    7.6597 43.564 28.316
## 
## Step:  AIC=20.79
## Y ~ X1 + X2 + X3 + X4 + X5 + X7 + X8 + X9 + X11 + X12 + X13
## 
##        Df Sum of Sq    RSS    AIC
## - X2    1    0.0068 35.924 18.796
## - X11   1    0.1741 36.091 18.977
## - X5    1    0.1856 36.102 18.989
## - X7    1    0.2200 36.137 19.026
## - X13   1    0.4973 36.414 19.324
## - X12   1    1.3897 37.307 20.269
## - X3    1    1.4436 37.360 20.325
## <none>              35.917 20.788
## - X8    1    3.3097 39.227 22.226
## - X9    1    5.2062 41.123 24.067
## - X1    1    5.6613 41.578 24.497
## - X4    1    7.6961 43.613 26.360
## 
## Step:  AIC=18.8
## Y ~ X1 + X3 + X4 + X5 + X7 + X8 + X9 + X11 + X12 + X13
## 
##        Df Sum of Sq    RSS    AIC
## - X11   1    0.1755 36.099 16.986
## - X5    1    0.1832 36.107 16.994
## - X7    1    0.4396 36.363 17.270
## - X13   1    0.5000 36.424 17.335
## - X3    1    1.4372 37.361 18.325
## - X12   1    1.5503 37.474 18.443
## <none>              35.924 18.796
## - X8    1    3.3734 39.297 20.296
## - X9    1    5.2294 41.153 22.096
## - X1    1    5.6571 41.581 22.499
## - X4    1    7.7285 43.652 24.395
## 
## Step:  AIC=16.99
## Y ~ X1 + X3 + X4 + X5 + X7 + X8 + X9 + X12 + X13
## 
##        Df Sum of Sq    RSS    AIC
## - X5    1    0.1860 36.285 15.186
## - X7    1    0.2754 36.375 15.282
## - X13   1    0.9744 37.074 16.024
## - X3    1    1.3763 37.476 16.445
## <none>              36.099 16.986
## - X8    1    3.2337 39.333 18.331
## - X12   1    3.5259 39.625 18.620
## - X9    1    5.1980 41.297 20.232
## - X1    1    5.6122 41.711 20.621
## - X4    1    7.6380 43.737 22.471
## 
## Step:  AIC=15.19
## Y ~ X1 + X3 + X4 + X7 + X8 + X9 + X12 + X13
## 
##        Df Sum of Sq    RSS    AIC
## - X7    1    0.2611 36.546 13.466
## - X13   1    0.8738 37.159 14.114
## - X3    1    1.2995 37.585 14.558
## <none>              36.285 15.186
## - X8    1    3.4668 39.752 16.745
## - X12   1    3.5885 39.874 16.864
## - X9    1    5.0490 41.334 18.267
## - X1    1    5.4363 41.722 18.631
## - X4    1    7.9013 44.187 20.869
## 
## Step:  AIC=13.47
## Y ~ X1 + X3 + X4 + X8 + X9 + X12 + X13
## 
##        Df Sum of Sq    RSS    AIC
## - X13   1    0.6127 37.159 12.114
## - X3    1    1.2638 37.810 12.792
## <none>              36.546 13.466
## - X8    1    3.2074 39.754 14.746
## - X12   1    4.0057 40.552 15.522
## - X1    1    5.1775 41.724 16.633
## - X9    1    5.5731 42.119 17.001
## - X4    1    7.7925 44.339 19.004
## 
## Step:  AIC=12.11
## Y ~ X1 + X3 + X4 + X8 + X9 + X12
## 
##        Df Sum of Sq    RSS    AIC
## - X3    1    1.0562 38.215 11.207
## <none>              37.159 12.114
## - X12   1    3.7692 40.928 13.882
## - X8    1    3.9001 41.059 14.007
## - X9    1    4.9675 42.127 15.008
## - X1    1    6.4378 43.597 16.346
## - X4    1    7.1968 44.356 17.019
## 
## Step:  AIC=11.21
## Y ~ X1 + X4 + X8 + X9 + X12
## 
##        Df Sum of Sq    RSS    AIC
## <none>              38.215 11.207
## - X12   1    4.1181 42.333 13.198
## - X9    1    5.2241 43.439 14.204
## - X8    1    5.4166 43.632 14.377
## - X4    1    7.4907 45.706 16.188
## - X1    1   10.5678 48.783 18.729

## 
## Call:
## lm(formula = Y ~ X1 + X4 + X8 + X9 + X12, data = dataF)
## 
## Coefficients:
## (Intercept)           X1           X4           X8           X9          X12  
##     9.94408     -0.07405     -0.10510      0.79736      0.06428     -0.77443
  1. 단계별 회귀방법을 이용하여 모형을 선택하라
    => 새로운 설명변수가 추가될 때마다 중요성을 상실하여 제가할 필요가 있는지를 매 단계별로 검토하는 선택방법
step(start.lm, scope=list(upper=full.lm), data=dataF, direction="both")
## Start:  AIC=54.51
## Y ~ 1
## 
##        Df Sum of Sq     RSS    AIC
## + X9    1    84.767  65.119 23.994
## + X4    1    69.508  80.378 32.204
## + X8    1    47.759 102.127 41.543
## + X3    1    39.372 110.514 44.622
## + X1    1    32.449 117.437 46.991
## + X6    1    22.438 127.449 50.182
## + X13   1    17.108 132.778 51.780
## <none>              149.886 54.506
## + X11   1     6.460 143.426 54.788
## + X12   1     3.911 145.975 55.475
## + X10   1     0.163 149.723 56.464
## + X2    1     0.122 149.764 56.474
## + X7    1     0.092 149.794 56.482
## + X5    1     0.005 149.881 56.505
## 
## Step:  AIC=23.99
## Y ~ X9
## 
##        Df Sum of Sq     RSS    AIC
## + X1    1    12.981  52.139 17.323
## + X3    1    10.053  55.066 19.454
## + X4    1     7.943  57.176 20.920
## + X8    1     7.160  57.959 21.451
## <none>               65.119 23.994
## + X2    1     3.087  62.032 24.099
## + X7    1     2.466  62.653 24.488
## + X10   1     2.411  62.708 24.522
## + X6    1     0.829  64.290 25.494
## + X13   1     0.475  64.644 25.708
## + X11   1     0.426  64.693 25.738
## + X5    1     0.101  65.018 25.933
## + X12   1     0.015  65.104 25.985
## - X9    1    84.767 149.886 54.506
## 
## Step:  AIC=17.32
## Y ~ X9 + X1
## 
##        Df Sum of Sq     RSS    AIC
## + X4    1     7.292  44.847 13.448
## + X8    1     3.470  48.668 16.637
## + X6    1     3.265  48.873 16.801
## + X3    1     2.983  49.155 17.025
## <none>               52.139 17.323
## + X5    1     0.855  51.284 18.679
## + X12   1     0.461  51.677 18.977
## + X10   1     0.381  51.757 19.037
## + X2    1     0.306  51.832 19.094
## + X7    1     0.226  51.912 19.154
## + X13   1     0.177  51.962 19.191
## + X11   1     0.046  52.093 19.289
## - X1    1    12.981  65.119 23.994
## - X9    1    65.298 117.437 46.991
## 
## Step:  AIC=13.45
## Y ~ X9 + X1 + X4
## 
##        Df Sum of Sq    RSS    AIC
## + X8    1    2.5132 42.333 13.198
## + X3    1    2.4065 42.440 13.297
## <none>              44.847 13.448
## + X11   1    1.4765 43.370 14.142
## + X10   1    1.3017 43.545 14.299
## + X12   1    1.2147 43.632 14.377
## + X2    1    0.9331 43.913 14.628
## + X7    1    0.8711 43.975 14.683
## + X5    1    0.3879 44.459 15.109
## + X6    1    0.0198 44.827 15.431
## + X13   1    0.0035 44.843 15.445
## - X4    1    7.2920 52.139 17.323
## - X1    1   12.3296 57.176 20.920
## - X9    1   17.7442 62.591 24.449
## 
## Step:  AIC=13.2
## Y ~ X9 + X1 + X4 + X8
## 
##        Df Sum of Sq    RSS    AIC
## + X12   1    4.1181 38.215 11.207
## <none>              42.333 13.198
## + X11   1    1.8859 40.447 13.421
## - X8    1    2.5132 44.847 13.448
## + X3    1    1.4051 40.928 13.882
## + X13   1    0.6230 41.710 14.620
## + X7    1    0.4833 41.850 14.751
## + X5    1    0.3969 41.936 14.831
## + X2    1    0.3231 42.010 14.900
## + X10   1    0.2948 42.039 14.926
## + X6    1    0.1400 42.193 15.069
## - X4    1    6.3349 48.668 16.637
## - X1    1    9.1881 51.521 18.859
## - X9    1   12.5355 54.869 21.314
## 
## Step:  AIC=11.21
## Y ~ X9 + X1 + X4 + X8 + X12
## 
##        Df Sum of Sq    RSS    AIC
## <none>              38.215 11.207
## + X3    1    1.0562 37.159 12.114
## + X6    1    0.4068 37.808 12.790
## + X13   1    0.4051 37.810 12.792
## + X10   1    0.1353 38.080 13.069
## + X11   1    0.1098 38.105 13.095
## + X5    1    0.0502 38.165 13.156
## - X12   1    4.1181 42.333 13.198
## + X2    1    0.0080 38.207 13.199
## + X7    1    0.0025 38.213 13.205
## - X9    1    5.2241 43.439 14.204
## - X8    1    5.4166 43.632 14.377
## - X4    1    7.4907 45.706 16.188
## - X1    1   10.5678 48.783 18.729

## 
## Call:
## lm(formula = Y ~ X9 + X1 + X4 + X8 + X12, data = dataF)
## 
## Coefficients:
## (Intercept)           X9           X1           X4           X8          X12  
##     9.94408      0.06428     -0.07405     -0.10510      0.79736     -0.77443
  1. 모든 회귀방법을 이용하여 모형을 선택하라
    => 2^k - 1 회귀모형을 적합하므로 계산량이 많은 모형
#install.packages("leaps")
library(leaps)
## Warning: package 'leaps' was built under R version 4.1.3
str(Y)
##  num [1:39] 4.58 2.86 3.02 2.29 1.61 6.87 3.85 6.12 3.29 5.88 ...
all.lm=regsubsets(Y~. , data=dataF)
(rs=summary(all.lm))
## Subset selection object
## Call: regsubsets.formula(Y ~ ., data = dataF)
## 13 Variables  (and intercept)
##     Forced in Forced out
## X1      FALSE      FALSE
## X2      FALSE      FALSE
## X3      FALSE      FALSE
## X4      FALSE      FALSE
## X5      FALSE      FALSE
## X6      FALSE      FALSE
## X7      FALSE      FALSE
## X8      FALSE      FALSE
## X9      FALSE      FALSE
## X10     FALSE      FALSE
## X11     FALSE      FALSE
## X12     FALSE      FALSE
## X13     FALSE      FALSE
## 1 subsets of each size up to 8
## Selection Algorithm: exhaustive
##          X1  X2  X3  X4  X5  X6  X7  X8  X9  X10 X11 X12 X13
## 1  ( 1 ) " " " " " " " " " " " " " " " " "*" " " " " " " " "
## 2  ( 1 ) "*" " " " " " " " " " " " " " " "*" " " " " " " " "
## 3  ( 1 ) "*" " " " " "*" " " " " " " " " "*" " " " " " " " "
## 4  ( 1 ) "*" " " " " "*" " " " " " " "*" "*" " " " " " " " "
## 5  ( 1 ) "*" " " " " "*" " " " " " " "*" "*" " " " " "*" " "
## 6  ( 1 ) "*" " " "*" "*" " " " " " " "*" "*" " " " " "*" " "
## 7  ( 1 ) "*" " " "*" "*" " " " " " " "*" "*" " " " " "*" "*"
## 8  ( 1 ) "*" " " "*" "*" " " " " "*" "*" "*" " " " " "*" "*"