중회귀분석모형을 적용한 뒤 결과를 해석하는 방법에 대한 글을 쓰려 한다.
우선 독립변수 즉, 공변량이 여러개인 중회귀모형(다중회귀모형)을 r에서 어떻게 적용할 수 있는지를 일반화하면 다음과 같다.
모형명<-lm(종속변수~ 독립변수1+독립변수2..., data=데이터자료명)
일반화한 모형은 저렇지만 이해를 돕기 위해 데이터를 불러와 예제를 풀어보려한다.
library(faraway)
data(longley)
head(longley, 10)
> head(longley, 10)
GNP.deflator GNP Unemployed Armed.Forces Population Year Employed
1947 83.0 234.289 235.6 159.0 107.608 1947 60.323
1948 88.5 259.426 232.5 145.6 108.632 1948 61.122
1949 88.2 258.054 368.2 161.6 109.773 1949 60.171
1950 89.5 284.599 335.1 165.0 110.929 1950 61.187
1951 96.2 328.975 209.9 309.9 112.075 1951 63.221
1952 98.1 346.999 193.2 359.4 113.270 1952 63.639
1953 99.0 365.385 187.0 354.7 115.094 1953 64.989
1954 100.0 363.112 357.8 335.0 116.219 1954 63.761
1955 101.2 397.469 290.4 304.8 117.388 1955 66.019
1956 104.6 419.180 282.2 285.7 118.734 1956 67.857
head함수는 불러온 데이터의 자료 몇 개를 보여주는 함수이다.
head(데이터, 불러올 갯수)에서 10개를 불러왔으니 자료도 10개를 보여주고 있고, 보여주는 결과를 통해서 Employed, GNP.deflator, GNP, Unemployed, Armed.Forces, Population, Year의 자료가 있다는 것을 알 수 있다.
fit1 <- lm(Employed ~ GNP.deflator+GNP+Unemployed+Armed.Forces+Population+Year,data=longley)
summary(fit1)
fit1 모형으로 회귀분석을 하였다. 앞서 말했듯이 회귀분석 모형을 적용하려면 lm함수를 쓰면 된다.
종속변수는 Employed이고, 나머지 6개의 변수를 공변량으로 두었다.
> summary(fit1)
Call:
lm(formula = Employed ~ GNP.deflator + GNP + Unemployed + Armed.Forces +
Population + Year, data = longley)
Residuals:
Min 1Q Median 3Q Max
-0.41011 -0.15767 -0.02816 0.10155 0.45539
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.482e+03 8.904e+02 -3.911 0.003560 **
GNP.deflator 1.506e-02 8.492e-02 0.177 0.863141
GNP -3.582e-02 3.349e-02 -1.070 0.312681
Unemployed -2.020e-02 4.884e-03 -4.136 0.002535 **
Armed.Forces -1.033e-02 2.143e-03 -4.822 0.000944 ***
Population -5.110e-02 2.261e-01 -0.226 0.826212
Year 1.829e+00 4.555e-01 4.016 0.003037 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.3049 on 9 degrees of freedom
Multiple R-squared: 0.9955, Adjusted R-squared: 0.9925
F-statistic: 330.3 on 6 and 9 DF, p-value: 4.984e-10
summary함수는 적용한 회귀모형의 결과를 보여주는 함수이다.
결과를 해석하기 위해서는 Pr(>|t|) 이라고 적힌 부분을 보면 되는데 이 값들은 p-value라고 하는 p값이다.
p값이 0.05이내라면 유의수준 5%하에서 해당 변수(공변량)가 유의하다고 볼 수 있다.
즉, 𝐻0: β𝑖 = 0 기각이라고 할 수 있다. 𝐻0: β𝑖 = 0 기각이라면 β𝑖 = 0 가 아니라는 의미이므로 해당 변수의 값이 0이 아니고 유의한 값을 가진다고 해석할 수 있다.
위 데이터에서 p-value가 0.05이내인 변수는 Unemployed, Armed.Forces, Year이다. 따라서 유의한 변수는 Unemployed, Armed.Forces, Year이다.
회귀분석모형에서는 오차의 독립성과 등분산성을 가정하는데, 이 가정이 위배된 경우 잔차의 산점도 플랏이 특정한 패턴을 보이며 나타난다. 즉, 잔차의 산점도가 패턴이 없이 마구잡이로 나타났을 때, 오차의 독립성과 등분산성이 성립하는 모형이 되는 것이다.
plot(longley$Year, residuals(fit1))
year에 대한 잔차 분석을 적용해보았다.
데이터$변수명
참고로 위와 같은 코드는 해당 데이터에서 해당 변수를 끌어올 때 쓰이는 코드이다.
다시 돌아와서 결과로 나온 잔차 산점도를 보자면 아래와 같다.
산점도를 보았을 때, 선형, 점점 퍼지는 깔때기 모양 등 특정한 패턴이 없어 보인다.
즉, 산점도가 비선형성을 띄므로 등분산성을 만족한다고 볼 수 있다.