다양한 독립변수들을 가지고 종속변수를 예측하는 것이다. 변수들간의 상관관계를 통해 종속변수의 값이 예측된다.
방법1. 데이터 세트 분리하여 모델 적용
가지고 있는 데이터를 모두 사용해서 다중선형회귀 모델을 만들 수도 있지만, 우리는 실제로 생성한 모델이 잘 예측하는지 테스트를 해보기 위해 학습(train) 데이터와 시험(test) 데이터를 분리
데이터 세트 분리는 sklearn에서 train_test_split을 통해 손쉽게 할 수 있다.
아래와 같이 8:2 정도의 비율로 나눠보자.
학습데이터인 train데이터를 가지고 모델을 생성
키에 대한 6개의 항목값을 넣어주면 키가 몇인지 예측해주는 것
- 여기에서 6개의 항목값은 위 x값에 넣어준 항목!
x 시험 데이터 x_test를 넣어 예측한 y 값들을 y_predict라고 저장하기
- 추후에 시험 데이터에 있는 실제 정답, 즉 y_test와 비교해보기 위함이다.
y_predict = linear.predict(x_test)
x축은 실제 키, y축은 예측한 키
- 예측을 정확히 했다면 정확한 선으로 일치되어 나올 것이다.
결정계수 R²가 클수록 실제값과 예측값이 유사함을 의미하며, 데이터를 잘 설명
방법2. OLS
R-squred, Adj.R-squred: 보통 설명력이라고 말하는 값인데 주어진 데이터를 현재 모형이 얼마나 잘 설명하고 있는지를 나타내는 지수입니다. 단 R-squared는 독립변수가 추가될 수 록 증가하는 값이라 Adj.R-squared 값을 더 많이 봅니다. 보통 0.7이상인 경우 설명력이 높다고 봅니다.
Prob(F-statistics): 모형에 대한 p-value 로 통상 0.05이하인 경우 통계적으로 유의하다고 판단합니다.
P>[t]: 각 독립변수의 계수에 대한 p-value로 해당 독립변수가 유의미한지 판단합니다.
👏 Adj.R-squared는 0.421, 모형의 P-value는 0.05이하로 통계적으로 유의미하다고 볼 수 있지만 아래 ‘diastolic’, 'systolic', 'temperature’ 은 0.05이상이라 유의미하지 않다고 말씀드릴 수 있습니다. 즉 위 3개의 변수는 키(종속변수인 height)의 영향을 주는 변수라고 볼 수 없습니다.
2-2. VIF를 통한 다중 공선성 확인
VIF는 variance inflation factor의 줄임말로, 다중공선성을 확인할 때 쓰는 지표 중 하나다. variance inflation factor는 말그대로 "분산팽창요인"이다. 보통은 VIF가 10보다 크면 다중공선성이 있다고 판단한다. 하지만, 다른 과정을 함께 거쳐주는 것이 다중공선성 문제 확인의 신뢰성을 높인다.
👏 vif가 높은 변수가 하나씩 줄어들면 다른 변수들의 vif에도 영향을 미친다. 그래서 변수들을 한 번에 다 제거하기보다는 하나씩 제거하면서 확인해 나아가는 것이 바람직하다.