더북(TheBook)

회귀 직선의 시각화

데이터의 산점도와 회귀 직선은 plot( )을 사용해 그릴 수 있다. 다음 코드에서 coef( )는 선형 회귀 모델의 절편과 기울기를 추출하는 함수며, abline( )은 주어진 절편과 기울기로 그래프를 그리는 함수임을 기억하기 바란다.

> plot(cars$speed, cars$dist)
> abline(coef(m))
그림 8-4 Cars 데이터의 산점도와 회귀 직선
그림 8-4 Cars 데이터의 산점도와 회귀 직선

그래프에 추정값의 신뢰 구간을 포함하는 방법은 다음과 같다. 먼저 speed의 최솟값, 최댓값을 찾는다.

> summary(cars$speed)
   Min.  1st Qu. Median   Mean 3rd Qu.  Max.
    4.0    12.0    15.0   15.4   19.0   25.0

이 값의 범위에 대해 신뢰 구간을 구한다.

> predict(m,
+         newdata=data.frame(speed=seq(4.0, 25.0, .2)),
+         interval="confidence")
         fit        lwr       upr
1 -1.8494599 -12.329543  8.630624
2 -1.0629781 -11.391450  9.265494
3 -0.2764964 -10.453842  9.900849
4  0.5099854  -9.516740 10.536711
5  1.2964672  -8.580168 11.173102
6  2.0829489  -7.644150 11.810048
...

마지막으로 ‘6.7 행렬에 저장된 데이터 그리기(matplot, matlines, matpoints)’ 절에서 설명한 matplot( ), matlines( )를 사용해 차트를 그린다. 아래에 이 모든 단계를 한 번에 보였다.

> speed <- seq(min(cars$speed), max(cars$speed), .1)
> ys <- predict(m, newdata=data.frame(speed=speed), interval="confidence")
> matplot(speed, ys, type='n')
> matlines(speed, ys, lty=c(1, 2, 2), col=1)  # 선형 회귀 식은 직선, 신뢰 구간은 점선
그림 8-5 회귀 직선과 신뢰 구간
그림 8-5 회귀 직선과 신뢰 구간
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.