Skip to main content

단계적 회귀분석

단계적 회귀분석 (Stepwise Regression)

  • 독립변수의 후보가 k개 있으면 가능한 독립변수의 조합은 2k2^k
  • 독립변수의 후보가 많으면 모든 조합으로 회귀분석을 실시하는 것은 현실적으로 불가능
  • 단계적 회귀분석(stepwise regression): 독립변수를 하나씩 추가/제거 하여 종속변수를 잘 예측하는 변수들을 선택하는 기법
  • 예측력이 (통계적으로) 유의한 예측변수들만을 골라줌
  • 오직 자료만으로 변수를 선택하기 때문에 이상한 결과가 생길 수 있음
  • 단계적 회귀분석은 탐색적으로 주요 변수를 파악하는 목적으로만 실시해야

전진 선택 (Forward Selection)

  • 독립변수를 하나씩 추가
  • 예) A, B, C, D를 가지고 Y를 예측하는 전진 방식의 단계적 회귀분석을 한다면,
    • A, B, C, D 중 설명력이 제일 큰 예측변수? A
    • A+B, A+C, A+D 중에 설명력이 가장 큰 조합은? A+B
    • A와 A+B의 설명력이 유의하게 차이가 나지 않으면 중단
    • 설명력이 유의하게 차이가 나면 A+B+C, A+B+D 중에 설명력이 가장 큰 조합을 찾음
    • 이상의 과정을 계속

💾 varsel.py 다운로드

import varsel
m = varsel.forward_selection(
'price ~ year + mileage + model + my_car_damage + other_car_damage', df)
m.summary()

후진 선택 (Backward Selection)

  • 독립변수를 하나씩 제거
  • 예) A, B, C, D를 가지고 Y를 예측하는 후진 방식의 단계적 회귀분석을 한다면,
    • A+B+C+D에서 설명력이 가장 적게 줄어드는 변수를 제거 (D라고 하자)
    • A+B+C와 A+B+C+D 설명력이 유의하게 차이가 나면 중단
    • 차이가 나지 않으면 A+B+C에서 설명이 가장 적게 줄어드는 변수를 제거
    • 이상의 과정을 반복
m = varsel.backward_selection(
'price ~ year + mileage + model + my_car_damage + other_car_damage', df)
m.summary()

단계적 회귀분석 주의점

  • 변수를 순서대로 선택하기 때문에 검토하지 못하는 조합이 생김
    • A -> A+B -> A+B+C ... 순으로 탐색을 하면 B+C는 검토할 기회가 없음
  • 전진 방식과 후진 방식의 결과가 항상 같은 건 아님
    • 대체로 전진 방식이 후진 방식보다 적은 변수를 선택하는 경향이 있음

퀴즈

사용자 정보 입력
퀴즈를 시작하기 전에 이름과 소속을 입력해주세요.

Q&A