보스턴 집값 데이터 (데이터 출처 : MASS 패키지). 이 데이터는 Boston 근처 지역의 지역적 특징과 주택 가격의 중앙값 등을 포함하고 있다. 데이터는 MASS 패키지 설치를 통해 Boston 데이터를 사용할 수 있다. 아래와 같이 사용가능하며 자세한 내용을 살펴볼 수 있다.
library(MASS)
head(Boston)
## crim zn indus chas nox rm age dis rad tax ptratio black lstat
## 1 0.00632 18 2.31 0 0.538 6.575 65.2 4.0900 1 296 15.3 396.90 4.98
## 2 0.02731 0 7.07 0 0.469 6.421 78.9 4.9671 2 242 17.8 396.90 9.14
## 3 0.02729 0 7.07 0 0.469 7.185 61.1 4.9671 2 242 17.8 392.83 4.03
## 4 0.03237 0 2.18 0 0.458 6.998 45.8 6.0622 3 222 18.7 394.63 2.94
## 5 0.06905 0 2.18 0 0.458 7.147 54.2 6.0622 3 222 18.7 396.90 5.33
## 6 0.02985 0 2.18 0 0.458 6.430 58.7 6.0622 3 222 18.7 394.12 5.21
## medv
## 1 24.0
## 2 21.6
## 3 34.7
## 4 33.4
## 5 36.2
## 6 28.7
1인당 범죄율 crim을 설명변수 x로 하고, 주택가격의 중앙값 medv을 반응변수 y 로 할 때 다음에 대하여 답하시오.
선형 회귀모형 y = β0 + β1x + ϵ을 적합시켜라.
model <- lm(medv ~ crim, data=Boston)
summary(model)
##
## Call:
## lm(formula = medv ~ crim, data = Boston)
##
## Residuals:
## Min 1Q Median 3Q Max
## -16.957 -5.449 -2.007 2.512 29.800
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.03311 0.40914 58.74 <2e-16 ***
## crim -0.41519 0.04389 -9.46 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.484 on 504 degrees of freedom
## Multiple R-squared: 0.1508, Adjusted R-squared: 0.1491
## F-statistic: 89.49 on 1 and 504 DF, p-value: < 2.2e-16
coef(model)
## (Intercept) crim
## 24.0331062 -0.4151903
y^ = 24.033 + -0.415x => 추정된 회귀직선
plot(medv~crim, data=Boston, pch = 16, cex = 1, col = "darkorange")
abline(model, col="blue")
파란색 선은 적합된 모델을 표시한 선이다.
잔차의 산점도를 그려보고 모형의 타당성과 등분산성에 대하여 설명하시오.
yhat <- fitted(model)
resid <- resid(model) #잔차 구하기
par(mfrow=c(1,2))
plot(resid ~ Boston$crim, pch=16, ylab = 'Residual')
abline(h=0, lty=2, col='grey')
plot(resid ~ yhat, pch=16, ylab = 'Residual')
abline(h=0, lty=2, col='grey')
library(lmtest)
이상적인 잔차 분포는
1. 0을 중심으로 대칭이면서 (선형성)
2. X값에 따라서 변동이 없고 (등분산성)
3. 특별한 패턴없이 랜덤하게 퍼져있다. (독립성)
4. 0을 중심으로 대칭이고, 등분산성을 만족하며, 0을 중심으로 ±2(3)σ 범위
안에 있다. (정규성)
선형성 => 눈으로 보더라도 대칭을 만족하지
않음.
등분산성 => 등분산성을 만족하지 않는다. x=0 ~ x=20 인 경우에는 데이터가 몰려있지만, x값이 커질 수록 데이터의 분포가 드물어 지는 것을 볼 수 있기 때문이다.
독립성 검정
lmtest::dwtest(model, alternative = "two.sided")
##
## Durbin-Watson test
##
## data: model
## DW = 0.71342, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is not 0
# 0에 가까우면 음의 상관, 4에 가까우면 양의 상관, 2에 가까우면 상관관계가 약하다.
DW = 0.71342 값은 0에 가까우므로, 음의 상관이 있고,유의 수준이 매우 작아 귀무가설을 기각할 수 있고, 상관관계가 있으므로, 독립성을 만족하지 않는다고 할 수 있다.
shapiro.test(resid)
##
## Shapiro-Wilk normality test
##
## data: resid
## W = 0.86696, p-value < 2.2e-16
p-value값이 매우 작아, 귀무가설을 기각할 수 있기 때문에
정규분포를 따르지 않는다고 할 수 있다.
해당 그래프는 등분산성을 만족하지 않는다. x=0 ~ x=20 인 경우에는 데이터가 몰려있지만, x값이 커질 수록 데이터의 분포가 드물어 지는 것을 볼 수 있기 때문이다.
해당 잔차 분포는 선형성, 등분산성, 독립성, 정규성을 모두 만족하지 않기 때문에 모형이 타당하다고 보기 어렵다.
유의수준 α = 0.1에서 H0 : β1 = 0.3, H0 : β1 ≠ 0.3을 검정하시오.
confint(model, level = 0.9)
## 5 % 95 %
## (Intercept) 23.3588883 24.7073241
## crim -0.4875165 -0.3428641
t = (coef(model)[2]-0.3)/summary(model)$coef[2,2]
t
## crim
## -16.29492
qt(0.95, 504)
## [1] 1.647883
Durbin-Watson d통계량을 사용하여 H0 : ρ = 0, H0 : ρ > 0을 유의수준 α = 0.05에서 검정하시오.
lmtest::dwtest(model, alternative = "greater")
##
## Durbin-Watson test
##
## data: model
## DW = 0.71342, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
# 0에 가까우면 음의 상관, 4에 가까우면 양의 상관, 2에 가까우면 상관관계가 약하다.
유의수준 0.05에서 영가설을 기각한다.
즉, 잔차들 사이에 상관 관계가 있기 때문에 특별한 패턴이 있다고 볼 수
있다.