모델 생성
선형 회귀는 lm( ) 함수를 사용하여 만들 수 있다.
lm : 선형 회귀를 수행한다. |
lm( formula, # 종속 변수 ~ 독립 변수 형태로 지정한 포뮬러 data # 포뮬러를 적용할 데이터. 보통 데이터 프레임 ) 반환 값은 선형 회귀 모델 클래스 lm의 인스턴스다. |
선형 회귀의 예로 사용할 cars 데이터를 살펴보자. 이 데이터는 1920년대에 측정한 데이터로 자동차의 주행 속도 speed와 브레이크를 밟았을 때의 제동 거리 dist를 저장하고 있다.
> data(cars) > head(cars) speed dist 1 4 2 2 4 10 3 7 4 4 7 22 5 8 16 6 9 10
주행 속도와 제동 거리 간에 간단히 다음과 같은 모델을 생각해보자.
dist = β0 + β1 × speed + ε (식 8-2)
이를 포뮬러로 표시하면 dist ~ speed가 된다. 절편에 해당하는 β0는 굳이 쓰지 않아도 항상 존재하는 것으로 취급된다. 다음은 이 포뮬러를 lm( )에 사용한 선형 회귀의 예다.
> (m <- lm(dist ~ speed, cars))
Call:
lm(formula = dist ~ speed, data = cars)
Coefficients:
(Intercept) speed
-17.579 3.932
수행 결과 dist와 speed 간의 관계는 다음과 같이 구해졌다.
dist = −17.759 + 3.932 × speed + ε (식 8-2)