model <- lm(mpg~hp, data = mtcars)
par(mfrow = c(2, 2))
plot(model, which = 1)
# 회귀모형을 적합한 후 plot(model) 명령어로 확인할 수 있는 잔차 플롯
# 4가지는 회귀모형의 가정이 잘 만족되는지 진단하는 중요한 도구입니다.
# 각 which = 1~4 플롯의 의미와 해석은 다음과 같습니다
# Residuals vs Fitted Plot (잔차 대 적합값 플롯)
# 목적: 선형성(linearity) 및 등분산성(homoscedasticity) 검정
# 이상적 모습: 잔차들이 0을 중심으로 무작위로 흩어짐
# U자형 / 곡선 → 비선형 관계 존재 가능성
# 잔차의 퍼짐이 점점 커짐/작아짐 → 이분산성 존재 가능성
# 이분산성이란, 회귀분석에서 잔차의 분산이 일정하지
# 않은 현상을 의미합니다.
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
dwtest(model)
##
## Durbin-Watson test
##
## data: model
## DW = 1.1338, p-value = 0.00411
## alternative hypothesis: true autocorrelation is greater than 0
# Durbin-Watson Test for Autocorrelation (자기상관 검정)
# p-value < 0.05 → 잔차 간에 자기상관 있음 → 독립성 가정 위반
# DW 통계량은 보통 2에 가까우면 이상적 (1보다 작으면 양의 자기상관 의심)
plot(model, which = 2)
# Normal Q-Q Plot (정규 Q-Q 플롯)
# 이상적 모습: 점들이 대각선 위에 일직선
# 꼬리가 위나 아래로 휘어짐 → 잔차가 정규분포가 아닐 수 있음
plot(model, which = 3)
# Scale-Location Plot (√|Standardized Residuals| vs Fitted)
# 목적: 등분산성(Homoscedasticity) 검정
# 이상적 모습: 점들이 고르게 흩어짐 (수평선 주변에 무작위 분포)
# 위쪽으로 퍼지거나 깔때기 모양 → 이분산성 존재
# 극단값 존재 → 이상치 영향 의심
plot(model, which = 4)

# Cook’s Distance Plot
# 목적: 영향력 있는 관측치 식별
# 이상적 모습: 모든 관측치가 낮은 쿡의 거리 값
# 특정 관측치가 다른 점들보다 월등히 높은 경우 → 해당 점이 모델에 큰 영향
data(faithful)
model1<-lm(eruptions~waiting,data=faithful)
par(mflow = c(2,2))
## Warning in par(mflow = c(2, 2)): "mflow" is not a graphical parameter
plot(model1, which = 1)
# Residuals vs. Fitted Plot
# 빨간선이 휘어짐을 보이기 때문에 선형성 위배
# 잔차들이 비슷한 폭으로 퍼져있지 않기 때문에 등분산성 위배
plot(model1, which = 2)
# Normal Q-Q Plot (정규 Q-Q 플롯)
# 이상적 모습: 점들이 대각선 위에 일직선
# 꼬리가 위나 아래로 휘어짐 → 잔차가 정규분포 아님
plot(model1, which = 3)
# Scale-Location Plot (√|Standardized Residuals| vs Fitted)
# 목적: 등분산성(Homoscedasticity) 검정
# 이상적 모습: 점들이 고르게 흩어짐 (수평선 주변에 무작위 분포)
# 우측으로 치우쳐 퍼져있기 때문에 → 이분산성 존재
plot(model1, which = 4)

# Cook’s Distance Plot
# 목적: 영향력 있는 관측치 식별
# 이상적 모습: 모든 관측치가 낮은 쿡의 거리 값
# 특정 관측치(158, 197, 203)가 다른 점들보다 월등히 높은 경우
# → 해당 점이 모델에 큰 영향
dwtest(model1)
##
## Durbin-Watson test
##
## data: model1
## DW = 2.561, p-value = 1
## alternative hypothesis: true autocorrelation is greater than 0
# Durbin-Watson Test for Autocorrelation (자기상관 검정)
# p-value > 0.05 → 잔차 간에 자기상관 없음
# DW 통계량은 보통 2이상이기 때문에 이상적임
model2 <-lm(pressure~temperature, data = pressure)
plot(model2, which = 1)
# Residuals vs. Fitted Plot
# 빨간선이 U자형을 보이기 때문에 선형성 위배
# 오른쪽에서 잔차들이 비슷한 폭으로 퍼져있지 않기 때문에 등분산성 위배
plot(model2, which = 2)
# Normal Q-Q Plot (정규 Q-Q 플롯)
# 이상적 모습: 점들이 대각선 위에 일직선
# 꼬리가 위나 아래로 휘어짐 → 잔차가 정규분포가 아닐 수 있음
# 극단값 존재 → 이상치 영향 의심
plot(model2, which = 3)
# Scale-Location Plot (√|Standardized Residuals| vs Fitted)
# 목적: 등분산성(Homoscedasticity) 검정
# 이상적 모습: 점들이 고르게 흩어짐 (수평선 주변에 무작위 분포)
# 수평선 주변에 없기 때문에 → 이분산성 존재
plot(model2, which = 4)

# Cook’s Distance Plot
# 목적: 영향력 있는 관측치 식별
# 이상적 모습: 모든 관측치가 낮은 쿡의 거리 값
# 특정 관측치(1은.., 18, 19)가 다른 점들보다 월등히 높은 경우
# → 해당 점이 모델에 큰 영향
dwtest(model2)
##
## Durbin-Watson test
##
## data: model2
## DW = 0.24119, p-value = 6.249e-10
## alternative hypothesis: true autocorrelation is greater than 0
# Durbin-Watson Test for Autocorrelation (자기상관 검정)
# p-value < 0.05 → 잔차 간에 자기상관 있음 → 독립성 가정 위반
# DW 통계량은 보통 2에 가까우면 이상적 (1보다 작으면 양의 자기상관 의심)
data(women)
model3 <- lm(weight~height, data = women)
dwtest(model3)
##
## Durbin-Watson test
##
## data: model3
## DW = 0.31538, p-value = 1.089e-07
## alternative hypothesis: true autocorrelation is greater than 0
# Durbin-Watson Test for Autocorrelation (자기상관 검정)
# p-value < 0.05 → 잔차 간에 자기상관 있음 → 독립성 가정 위반
# DW 통계량은 보통 2에 가까우면 이상적 (1보다 작으면 양의 자기상관 의심)
plot(model3, which = 1)
# Residuals vs. Fitted Plot
# 빨간선이 U자형을 보이기 때문에 선형성 위배
# 잔차들의 분포는 좋음 등분산성 위배안함
plot(model3, which = 2)
# Normal Q-Q Plot (정규 Q-Q 플롯)
# 이상적 모습: 점들이 대각선 위에 일직선
# 꼬리가 위나 아래로 휘어짐 → 잔차가 정규분포가 아닐 수 있음
# 극단값 존재 → 이상치 영향 의심
plot(model3, which = 3)
# Scale-Location Plot (√|Standardized Residuals| vs Fitted)
# 목적: 등분산성(Homoscedasticity) 검정
# 이상적 모습: 점들이 고르게 흩어짐 (수평선 주변에 무작위 분포)
# 수평선 주변에 없기 때문에 → 이분산성 존재
plot(model3, which = 4)

# Cook’s Distance Plot
# 목적: 영향력 있는 관측치 식별
# 이상적 모습: 모든 관측치가 낮은 쿡의 거리 값
# 특정 관측치(1, 14, 15)가 다른 점들보다 월등히 높은 경우
# → 해당 점이 모델에 큰 영향