회귀분석의 주된 목적
- 예측(prediction): 데이터 과학에서 회귀분석의 주된 목적
- 전통적인 통계학에서의 회귀는 예측보다는 설명을 위한 모델링을 위주
- 예측구간(prediction interval): 개별 예측값 주위의 불확실한 구간
- 외삽법(extrapolation): 모델링에 사용된 데이터의 범위를 벗어난 부분까지 모델을 확장하는 것
외삽의 위험
- 회귀모델을 데이터 범위를 초과하면서까지 외삽하는 데 사용해서는 안 된다.
- 회귀모델은 충분한 데이터 값이 있는 예측변수에 대해서만 유효
- 충분한 데이터가 있다 하더라도 다른 문제가 있을 수 있다.
- 극단적으로 model_lm을 가지고 5 000제곱피트의 공터 가격을 예측하는 데 사용한다고 하자.
- 이때 건물과 관련된 모든 예측변수의 값은 0이 되고, 회귀식의 결과는 다음과 같이 황당한 예측 결과가 나온다.
521,900+5,000×−0.0605=−$522,202
- 왜 이런 일이 발생할까?
- 데이터에는 건물이 있는 구획만 포함되어 있다.
- 빈 땅에 해당하는 데이터는 없다.
- 결과적으로 이 모델에는 공터 가격을 예측히는 방법을 알려줄 정보가 없다.
신뢰구간과 예측구간
- 통계학은 변동성(불확실성)을 이해하고 측정하는 것을 포함
- 회귀분석 결과에 나오는 t-통계량과 p-값은 이 변동성을 다루는 아주 일반적인 방법으로 종종 변수 선택을 위해 활용
- 회귀 매개변수에 대한 신뢰구간(confidence interval)을 생성하기 위한 부트스트랩 알고리즘
- 각 행 (결과변수를 포함)을 하나의 티켓으로 생각하고 개수가 모두 n개인 티켓을 박스에 넣었다고가정하자.
- 무작위로 티켓을 뽑아 값을 기록하고 다시 박스에 넣는다.
- 2번 과정을 n번 빈복한다. 이를 통해 부트스트랩 재표본을 하나 만든다.
- 이 부트스트랩 표본을 가지고 회귀모형을 구한다. 그리고 추정된 계수들을 기록한다.
- 2∼4번 과정을 1,000번 반복한다.
- 이제 각 계수에 대해 1,000개의 부트스트랩 값을 갖게 된다. 각각에 대해 적합한 백분위수를 구한다(90% 신뢰구간을 위해 5번째에서 95번째 백분위수를 구한다).
- R의 Boot 함수를 시용하면 계수에 대한 실제 부트스트랩 신뢰구간을 구하거나 일반적인 R의 출력 결과같이 신뢰구간을 간단하게 구할 수 있다.
- 우리의 관심은 예측된 y 값(ˆY)의 구간, 즉 예측구간으로 이 값의 불확실성의 원인은 다음과 같음
- 무엇이 적합한 예측변수인지, 그리고 계수가 얼마인지에 따른 불확실성
- 개별 데이터 값에 존재하는 추가적인 오류
- (예를 들면 엄청난 수의 데이터가 있어) 회귀방정식이 무엇인지 정확히 알았다하더라도
- 주어진 예측변수 값에 대한 실제 결과값은 달라질 수 있다.
- 예를 들면 방이 8개, 실제 크기 6, 500제곱피트, 욕실 3개, 그리고 지하실까지 있는 주택들이 여러 채 있다고 했을 때, 이들의 값은 서로 다를 수 있다.
- 우리는 이 개별 오차를 적합값으로부터의 잔차로 모델링할 수 있다.
- 회귀모델에 따른 오차와 개별 데이터 값에 따른 오차를 모두 모델링하기 위한 부트스트랩 알고리즘은 디음과 같다.
- 데이터로부터 부트스트랩 표본을 뽑는다.
- 회귀모델을 찾고 새로운 값을 예측한다.
- 원래의 회귀 적합도에서 임의로 하나의 잔치를 취하여 예측값에 더하고 그 결과를 기록한다.
- 1 ∼3단계를 1,000변 반복한다.
- 결과의 2.5번째 백분위수와 97.5번째 백분위수를 찾는다.
- 예측구간: 하나의 값에 대한 불확실성과 관련
- 신뢰구간: 여러 값으로 계산한 평균이나 다른 통계량과 관련
- 예측구간은 일반적으로 같은 값에 대해 신뢰구간보다 훨씬 넓다
'Predictive Analytics' 카테고리의 다른 글
회귀식 해석 (0) | 2019.09.27 |
---|---|
회귀에서의 요인변수 (0) | 2019.09.27 |
가중회귀 (0) | 2019.09.26 |
모델 선택 및 단계적 회귀 (0) | 2019.09.24 |
모델 평가 (0) | 2019.09.24 |