회귀분석의 주된 목적

  • 예측(prediction): 데이터 과학에서 회귀분석의 주된 목적
    • 전통적인 통계학에서의 회귀는 예측보다는 설명을 위한 모델링을 위주
  • 예측구간(prediction interval): 개별 예측값 주위의 불확실한 구간
  • 외삽법(extrapolation): 모델링에 사용된 데이터의 범위를 벗어난 부분까지 모델을 확장하는 것

외삽의 위험

  • 회귀모델을 데이터 범위를 초과하면서까지 외삽하는 데 사용해서는 안 된다.
  • 회귀모델은 충분한 데이터 값이 있는 예측변수에 대해서만 유효
    • 충분한 데이터가 있다 하더라도 다른 문제가 있을 수 있다.
    • 극단적으로 model_lm을 가지고 5 000제곱피트의 공터 가격을 예측하는 데 사용한다고 하자.
    • 이때 건물과 관련된 모든 예측변수의 값은 0이 되고, 회귀식의 결과는 다음과 같이 황당한 예측 결과가 나온다.
\begin{eqnarray} 521,900 + 5,000 \times - 0.0605 = -\$522 , 202\end{eqnarray}
    • 왜 이런 일이 발생할까?
      • 데이터에는 건물이 있는 구획만 포함되어 있다.
      • 빈 땅에 해당하는 데이터는 없다.
      • 결과적으로 이 모델에는 공터 가격을 예측히는 방법을 알려줄 정보가 없다.


신뢰구간과 예측구간

  • 통계학은 변동성(불확실성)을 이해하고 측정하는 것을 포함
  • 회귀분석 결과에 나오는 \(t\)-통계량과 \(p\)-값은 이 변동성을 다루는 아주 일반적인 방법으로 종종 변수 선택을 위해 활용
  • 회귀 매개변수에 대한 신뢰구간(confidence interval)을 생성하기 위한 부트스트랩 알고리즘
  1. 각 행 (결과변수를 포함)을 하나의 티켓으로 생각하고 개수가 모두 \(n\)개인 티켓을 박스에 넣었다고가정하자.
  2. 무작위로 티켓을 뽑아 값을 기록하고 다시 박스에 넣는다.
  3. 2번 과정을 \(n\)번 빈복한다. 이를 통해 부트스트랩 재표본을 하나 만든다.
  4. 이 부트스트랩 표본을 가지고 회귀모형을 구한다. 그리고 추정된 계수들을 기록한다.
  5. 2∼4번 과정을 1,000번 반복한다.
  6. 이제 각 계수에 대해 1,000개의 부트스트랩 값을 갖게 된다. 각각에 대해 적합한 백분위수를 구한다(90% 신뢰구간을 위해 5번째에서 95번째 백분위수를 구한다).
  • R의 Boot 함수를 시용하면 계수에 대한 실제 부트스트랩 신뢰구간을 구하거나 일반적인 R의 출력 결과같이 신뢰구간을 간단하게 구할 수 있다.
  • 우리의 관심은 예측된 \(y\) 값(\(\hat{Y}\))의 구간, 즉 예측구간으로 이 값의 불확실성의 원인은 다음과 같음
    • 무엇이 적합한 예측변수인지, 그리고 계수가 얼마인지에 따른 불확실성
    • 개별 데이터 값에 존재하는 추가적인 오류
      • (예를 들면 엄청난 수의 데이터가 있어) 회귀방정식이 무엇인지 정확히 알았다하더라도
      • 주어진 예측변수 값에 대한 실제 결과값은 달라질 수 있다.
  • 예를 들면 방이 8개, 실제 크기 6, 500제곱피트, 욕실 3개, 그리고 지하실까지 있는 주택들이 여러 채 있다고 했을 때, 이들의 값은 서로 다를 수 있다.
  • 우리는 이 개별 오차를 적합값으로부터의 잔차로 모델링할 수 있다.
  • 회귀모델에 따른 오차와 개별 데이터 값에 따른 오차를 모두 모델링하기 위한 부트스트랩 알고리즘은 디음과 같다.
  1. 데이터로부터 부트스트랩 표본을 뽑는다.
  2. 회귀모델을 찾고 새로운 값을 예측한다.
  3. 원래의 회귀 적합도에서 임의로 하나의 잔치를 취하여 예측값에 더하고 그 결과를 기록한다.
  4. 1 ∼3단계를 1,000변 반복한다.
  5. 결과의 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

+ Recent posts