Must Learning With Statistics

다중 회귀분석(Multiple Regression) 본문

통계 이론

다중 회귀분석(Multiple Regression)

Doublek Park 2020. 3. 23. 01:29
12. 다중 회귀분석(Multiple Regression)
  • 다중 회귀분석 : 단순 선형회귀분석의 확장판으로 예측자가 2개 이상 쓰이는 경우

    다중 회귀분석은 예측자를 2개 이상 쓰는 경우로, 회귀분석과 거의 동일하다고 볼 수 있습니다. 식 표현은 행렬식을 이용해 표현을 하는데, 이 책의 취지와는 맞지 않으므로 간단하게 다중 회귀분석을 진행할 때 주의해야할 점들에 대해 다루면서 진행하겠습니다.

$$
\hat{y_i}=b_0+b_1x_{1i}+b_2x_{2i}\
$$

회귀식이 위 식처럼 구해져 있을 때, 회귀식의 해석은 다음과 같이 진행합니다.

$x_{1i}$가 1 단위 증가하면 $\hat{y_i}$는 $b_1$만큼 변한다.(단, $x2_i$는 고정)
$x_{2i}$가 1 단위 증가하면 $\hat{y_i}$는 $b_2$만큼 변한다.(단, $x1_i$는 고정)

여기서 중요한 점은 서로 다른 예측자는 상관성이 적어야 한다는 것입니다. 만약 $x_1$과 $x_2$의 상관성이 높다면, $x_1$이 증가하였을 때, $x_2$는 고정되지 못하고 함께 증가해버리는 문제가 발생해버립니다. 이런 상황을 다중공선성(Multicolinearity)라고 합니다. 회귀식에 다중공선성이 존재할 경우, 회귀식의 분산이 팽창을 하게 되며, $b_1$, $b_2$에 대한 추정이 불확실하게 됩니다. 그러므로 다중공선성이 존재할 경우, 회귀식에 투입되는 예측자를 다시 조정하여 회귀식을 구해야합니다. 이 부분은 후에 주성분 분석에서 다루도록 하겠습니다.

x1 = runif(n = 100, min = -10, max = 10)
x2 = 0.7*x1 + rnorm(n = 100,mean = 0,sd = 1)

y = 1.3*x1 + rnorm(n = 100, mean = 6, sd = 3)

DF = data.frame(
  x1 = x1,
  x2 = x2,
  y = y
)

library(GGally)

ggpairs(DF)

위 그림을 보시면 x1x1, x2x2와의 상관관계가 매우 높은 것을 확인할 수가 있습니다. 이러한 경우, 회귀분석을 구했을 때, 다중공선성이 매우 의심되는 상황이 발생합니다.

다중 회귀분석

M_Reg = lm(y ~ x1 + x2)
summary(M_Reg)

Call:
lm(formula = y ~ x1 + x2)

Residuals:
    Min      1Q  Median      3Q     Max 
-7.6871 -1.8648  0.2094  1.6262  6.5584 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   6.2825     0.2965  21.192  < 2e-16 ***
x1            1.1548     0.2202   5.244 9.18e-07 ***
x2            0.2368     0.3083   0.768    0.444    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.937 on 97 degrees of freedom
Multiple R-squared:  0.8793,    Adjusted R-squared:  0.8768 
F-statistic: 353.4 on 2 and 97 DF,  p-value: < 2.2e-16

언뜻 보기에는 회귀분석에 큰 문제는 없어보입니다. 다중회귀분석에서는 x1x1, x2x2의 기울기 b1b1, b2b2에 대한 가설 검정이 진행이 됩니다. x1x1의 회귀계수 b1b1은 유의한 것으로 나왔지만, x2x2의 회귀계수 b2b2는 유의하지 않은 것으로 나왔습니다.

다중공선성 진단

library(car)

vif(M_Reg)
      x1       x2 
19.66709 19.66709 

다중공선성은 분산팽창지수(VIF)를 측정함으로써 판단이 가능합니다. 기본적으로 5보다 작으면 다중공선성이 없다고 판단할 수 있습니다. 지금은 다중공선성이 매우 높은 상황이므로 다중공선성이 존재하고 있다고 확인할 수 있습니다.

'통계 이론' 카테고리의 다른 글

카이제곱 독립성 검정  (2) 2020.03.27
다항 회귀분석(Polynomial Regression)  (0) 2020.03.23
회귀분석(R Code)  (0) 2020.03.23
단순 선형 회귀분석의 추정  (0) 2020.03.23
상관분석 (R code)  (0) 2020.03.23
Comments