캡스톤 III: 부동산 가격 예측기
실거래가 기반 완전 예측 파이프라인
지금까지 배운 모든 것을 동원합니다
Part III에서 회귀분석의 기본(14장), 다중회귀(15장), 모델 진단(16장), 변수 선택(17장), 정규화(18장)까지 단계별로 쌓아 올렸습니다. 이 캡스톤에서는 그 모든 도구를 하나의 파이프라인으로 엮어, 서울 아파트 실거래가를 예측하는 완전한 모델을 직접 만듭니다.
데이터 탐색부터 특성 선택, 학습/검증 분할, 모델 비교, 잔차 진단, 그리고 최종 예측까지 -- 실무에서 데이터 분석가가 매일 반복하는 작업 흐름 전체를 경험합니다.
(1) 데이터 탐색(EDA): 데이터의 분포, 이상치, 변수 간 관계를 눈으로 확인합니다. 데이터를 모르면 모델도 모릅니다.
(2) 특성 선택: 모델에 넣을 변수를 고릅니다. 재료가 너무 많으면 맛이 섞입니다.
(3) 학습/검증 분할: 데이터의 일부를 시험용으로 남겨둡니다. 시험 문제를 미리 보여주면 실력을 알 수 없습니다.
(4) 모델 학습 및 비교: 같은 재료로 다른 요리사(OLS, Ridge, Lasso)가 만든 결과를 비교합니다.
(5) 잔차 진단: 모델이 놓친 패턴이 있는지 점검합니다. 요리 후 맛보기와 같습니다.
(6) 새 데이터 예측: 검증된 모델로 실전 예측을 수행합니다.
각 단계를 완료하면 상단 진행 표시줄이 갱신됩니다. 모든 회귀 모델은 경사하강법(Gradient Descent)으로 학습합니다.
| 번호 | 구 | 면적(m2) | 층 | 건축년도 | 역거리(m) | 학군지수 | 실거래가(만원) |
|---|
Step 1 탐색적 데이터 분석 (EDA)
요약 통계량
| 통계량 | 값 |
|---|
산점도: 선택 변수 vs 실거래가 (구별 색상)
상관계수 히트맵
빨간색이 강한 양의 상관, 파란색이 강한 음의 상관입니다.
- 변수의 분포가 치우쳐 있지는 않은가? (로그 변환이 필요할 수 있음)
- 이상치(극단값)가 있는가? (한 건의 이상치가 회귀선을 크게 왜곡할 수 있음)
- 변수 간 상관이 높은 쌍이 있는가? (다중공선성 가능성)
- 범주형 변수의 빈도가 균등한가? (특정 범주에 데이터가 편중되면 예측이 불안정)
Step 2 특성 선택 워크벤치
어떤 변수를 모델에 포함할지는 분석가의 판단입니다. 변수가 너무 많으면 과적합, 너무 적으면 과소적합.
Step 3 학습/검증 데이터 분할
모델의 진짜 성능은 한 번도 본 적 없는 데이터에서 측정해야 합니다.
Step 4 모델 비교: OLS vs Ridge vs Lasso
세 가지 회귀 모델을 경사하강법으로 학습합니다. OLS는 제약 없는 최소제곱(14장), Ridge는 L2 페널티(18장), Lasso는 L1 페널티로 계수를 축소합니다.
Ridge Loss: L + lambda * sum( beta_j^2 ) [L2 penalty]
Lasso Loss: L + lambda * sum( |beta_j| ) [L1 penalty, proximal gradient]
Step 5 잔차 진단
모델이 학습을 마쳤다고 끝이 아닙니다. 잔차(실제값 - 예측값)의 패턴을 점검해야 모델 가정이 충족되는지 확인할 수 있습니다 (16장 복습).
Step 6 가격 예측 도구
드디어 최종 단계입니다. 학습된 모델에 새로운 아파트 정보를 입력하면 예측 가격과 95% 예측 구간을 보여줍니다.
이 장에서 만든 파이프라인은 직방, 호갱노노, 아실 등 부동산 플랫폼의 추정가 산출 방식과 원리가 같습니다. 실무에서는 여기에 거래 시점(시계열), 재건축 가능성, 인근 개발 호재 등 변수를 추가합니다. 중요한 것은 어떤 변수를 넣느냐보다, 모델을 체계적으로 검증하는 과정 자체입니다.
- EDA로 데이터의 분포, 이상치, 변수 간 상관관계를 먼저 파악한다.
- 특성 선택 시 R-제곱뿐 아니라 수정 R-제곱과 VIF를 함께 본다.
- 학습/검증 분할로 모델의 일반화 성능을 측정한다.
- Ridge와 Lasso는 과적합을 막는 정규화 도구이며, lambda 조절이 핵심이다.
- 잔차 진단으로 모델 가정(선형성, 등분산성, 정규성)을 점검한다.
- 최종 예측 시 점추정과 함께 예측 구간을 반드시 제공한다.
다음 장 예고: Part IV에서는 분류(classification) 문제로 넘어갑니다. 연속값 예측이 아닌, "이 고객이 이탈할 것인가?"와 같은 이진 판단의 세계입니다.