R 에서 다중회귀분석 결과 보는 법

R 에서 다중회귀분석 결과 보는 법

데이터 탐색

tail(attitude)

R에서 내장데이터 attitude를 불러와 tail() 함수를 통해 확인해보자.

20180825\_144319.png

우리는 rating을 종속변수로 두고 다른 독립변수들이 rating에 어떤 영향을 얼마나 미치는지에 관심이 있다. 데이터만 봐서는 rating과 다른 변수들 사이에 선형관계가 있는지 확인하기 어려우므로 그림을 그려 확인해보자.

win.graph()
plot(attitude)

그냥 plot() 함수에 데이터를 넣고 실행시키면 각 변수별로 비교한 점 도표를 출력해준다.

20181226\_134511.png

일단 그림으로 보기에 ratingcomplaints과는 확실히 선형관계가 있어보인다. 그 외에는 learning, raises와 선형관계를 이루는 것 같기는 한데 complaints에 비해서는 흩어진 정도가 심한 것으로 나타난다. 단순회귀분석과 마찬가지로 lm() 함수에 선형모형을 입력하고 summary() 함수를 통해 결과를 볼 수 있다.

결과 해석

아래 코드에서 1~2열과 3열은 완전히 같은 표현으로, 선형모형을 입력할 때 찍힌 점(.) 은 ‘그 외의 모든 변수’를 의미한다. [ NOTE: 한편 여기서 rating~.-privileges 와 같이 입력해서 privileges만을 제외하는 식으로도 쓸 수 있다. ]

out<-lm(rating~complaints+privileges+learning
   +raises+critical+advance,data=attitude)
out<-lm(rating~.,data=attitude)
 
summary(out)

20180825\_150719.png

주의할 것은 이렇게 결과를 볼 수 있게 되었다고 끝난 게 아니라는 점이다. 다중회귀분석이 단순회귀보다 훨씬 어려운 것은 독립변수가 늘어나면서 단순회귀분석에는 없었던 문제가 생기기 때문이다. 수치적인 계산만으로는 설명하기 어려운 여러가지 확인 절차가 남아있으며, 사실 이것을 잘 하는 게 통계를 잘 하는 것이다.

코드

아래는 전체 예제코드다.

tail(attitude)
 
win.graph()
plot(attitude)
 
out<-lm(rating~complaints+privileges+learning
   +raises+critical+advance,data=attitude)
out<-lm(rating~.,data=attitude)
 
summary(out)

같이보기

댓글