회귀 직선의 시각화

    데이터의 산점도와 회귀 직선은 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 회귀 직선과 신뢰 구간
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.