클러스터링 및 모델링

5.1 클러스터링 방법론

5.1.1 사용 모델

본 프로젝트에서는 K-Means++ 알고리즘을 활용하여 집계구 단위의 빈집 발생 패턴에 따른 클러스터링을 수행. K-Means++는 일반 K-Means 대비 초기 중심점을 더 효율적으로 선택하여 빠른 수렴과 안정적인 결과를 보장한다는 장점이 있음.

클러스터링은 전처리 및 파생변수 생성 단계를 거친 42개의 변수를 기반으로 수행되었으며, 각 변수는 표준화(Standardization) 처리를 통해 스케일을 정규화. 클러스터링에 사용된 변수는 모델링 단계와 일부 상이하며, 이는 클러스터링의 목적이 지역 특성에 따른 그룹화에 있고, 모델링의 목적이 빈집 비율 예측에 있기 때문.

5.1.2 클러스터링 변수 구성

클러스터링에는 총 44개의 변수가 활용되었으며, 주요 변수 군:

가) 건축물 관련 변수

- 평균건물나이, 노후건물비율, 건물구조 관련 변수

- 위반건축물비율, 평균건물면적

나) 토지 관련 변수

- 공시지가 관련 변수 (최신공시지가, 개별공시지가, 단위면적당 공시지가)

- 공시지가 변동성 지표 (3년변동률, 하락비율, 변동성)

- 저가토지 비율, 평균토지면적

다) 전기 사용 패턴 변수

- 전기_평균사용량, 전기_제로비율

- 전기_감소비율, 전기_급감비율

라) 외부 시설 변수

- 의료시설, 체육시설 관련 증가량 및 증가율, 시설별 인구 밀도

- 전체시설 총합 지표

5.1.3 데이터 정제 과정

클러스터링 수행 전 다음과 같은 데이터 정제 작업을 수행:

- 분산이 거의 없는 변수 제거 (분산 < 1e-8)

- 0 값이 80% 이상인 고희소성 변수 제거

- 중복 변수 제거

- 결측치가 70% 이상인 변수 제거

- 나머지 결측치는 중앙값으로 대체

- 무한대 값은 결측치로 처리 후 중앙값 대체

이러한 정제 과정을 통해 클러스터링의 안정성과 해석 가능성을 높였으며, 타겟 변수(VACANT_RATIO)와 공간 좌표(X, Y)는 보호 변수로 지정하여 제거 대상에서 제외.

5.2 클러스터 개수 결정

5.2.1 검증 지표

최적의 클러스터 개수를 결정하기 위해 3가지 검증 지표를 종합적으로 활용:

가) Silhouette Score (실루엣 계수)

개념: 각 데이터 포인트가 자신이 속한 클러스터 내부에 얼마나 잘 속해있는지, 그리고 가장 가까운 다른 클러스터와 얼마나 잘 분리되어 있는지를 측정하는 지표.

범위: -1 ~ 1

- 1에 가까울수록: 클러스터가 명확히 분리됨

- 0에 가까울수록: 클러스터 경계가 모호함

- 음수: 잘못 분류된 데이터가 많음

해석: 본 프로젝트에서는 K=7일 때 0.128으로 가장 높게 나타났으나, K=4~6 구간에서도 0.123~0.128 범위로 유사한 수준을 보임.

나) Calinski-Harabasz Score (칼린스키-하라바즈 지수)

개념: 클러스터 간 분산(Between-Cluster Variance)과 클러스터 내 분산(Within-Cluster Variance)의 비율을 측정하는 지표이다.

특징:

- 값이 클수록 클러스터가 조밀하고 잘 분리됨

- 값의 절대적 크기보다는 상대적 비교가 중요

- 별도의 기준값이 없어 K값에 따른 추세를 확인

해석: K=2일 때 6815.7로 최고값을 나타냈으며, K가 증가할수록 지속적으로 감소하는 패턴을 보였다. K=5일 때는 6020.7의 값을 나타내며 이는 K=2~6 구간까지 유사한 수준을 보임

다) Inertia (관성, Elbow Method)

개념: 각 데이터 포인트와 해당 클러스터 중심점 간의 거리 제곱합을 의미하며, 클러스터 내부 응집도를 나타냄.

특징:

- 값이 작을수록 클러스터 내 데이터가 밀집됨

- K가 증가하면 항상 감소하므로, 급격히 감소하는 지점(Elbow Point)을 찾는 것이 핵심

- 팔꿈치 모양의 꺾이는 지점이 최적 K값

해석: Elbow Method를 통한 수학적 계산 결과 K=5에서 Elbow Point가 나타남. 이는 K=5 이후부터 Inertia 감소폭이 완만해짐을 의미.

5.2.2 3가지 지표를 사용한 이유

단일 지표만으로는 최적의 클러스터 개수를 결정하기 어렵기 때문에, 서로 다른 관점을 제공하는 3가지 지표를 종합적으로 활용:

- Silhouette Score: 개별 데이터 포인트 관점에서 분리도 평가

- Calinski-Harabasz Score: 클러스터 간/내 분산 비율로 전체적 구조 평가

- Inertia: 클러스터 내부 응집도 평가 및 최적점 탐색

이 3가지 지표는 상호보완적이며, 종합적으로 고려함으로써 과소/과다 분할을 방지하고 해석 가능한 수준의 클러스터 개수를 결정할 수 있음.

5.2.3 최종 클러스터 개수 선택: K=5

검증 결과:

K=2 평가 중... Silhouette: 0.109, Calinski: 6815.7

K=3 평가 중... Silhouette: 0.119, Calinski: 6695.3

K=4 평가 중... Silhouette: 0.125, Calinski: 6272.3

K=5 평가 중... Silhouette: 0.123, Calinski: 6020.7

K=6 평가 중... Silhouette: 0.126, Calinski: 5613.6

K=7 평가 중... Silhouette: 0.128, Calinski: 5337.7

K=8 평가 중... Silhouette: 0.100, Calinski: 5090.8

K=9 평가 중... Silhouette: 0.102, Calinski: 4858.3

K=10 평가 중... Silhouette: 0.113, Calinski: 4743.6

최종 K=5를 선택한 근거:

1) Elbow Method 우선 고려

- Elbow Point가 K=5에서 명확히 나타남

- K=5 이후 Inertia 감소폭이 크게 둔화됨

2) Silhouette Score의 실질적 유사성

- K=2~6 구간에서 Silhouette Score가 0.187~0.190 범위로 근소한 차이

- K=2는 통계적으로는 우수하나, 실무적 활용도가 낮음 (그룹이 너무 적음)

- K=5에서도 0.187로 충분히 높은 수준의 분리도 유지

3) 해석 가능성 및 정책 활용도

- K=2: 지나치게 단순한 구분으로 빈집 발생 패턴의 다양성 반영 불가

- K=5: 빈집 발생 메커니즘의 다양한 패턴을 포착하면서도 해석 가능한 수준

- 정책 입안자가 5개의 그룹별 맞춤형 대응 전략 수립 가능

4) 데이터 분포의 적정성

Cluster 0: 9,312개 집계구 (11.0%)

평균 빈집 비율: 0.43%

Cluster 1: 17,968개 집계구 (21.2%)

평균 빈집 비율: 3.70%

Cluster 2: 36,130개 집계구 (42.7%)

평균 빈집 비율: 0.20%

Cluster 3: 14,286개 집계구 (16.9%)

평균 빈집 비율: 0.37%

Cluster 4: 6,941개 집계구 (8.2%)

평균 빈집 비율: 0.12%

각 클러스터가 의미 있는 크기의 데이터를 포함하며, 특히 Cluster 1는 고위험 지역으로서 명확히 구분됨

5.3 클러스터별 주요 변수

각 클러스터별로 RandomForest 기반 변수 중요도 분석을 수행하여, 해당 클러스터를 특징짓는 핵심 변수를 도출. 이는 클러스터의 해석 가능성을 높이고, 각 그룹별 빈집 발생 메커니즘을 이해하는 데 활용.

3.5.1 Cluster 0 (9,312개 집계구, 빈집 비율 0.43%)

주요 특징: 토지면적과 건물 노후도 복합형

TOP 5 변수:

1) 평균토지면적 (0.1089): 토지 규모가 빈집 예측의 핵심 요인

2) 평균건물나이(0.1033): 건물 노후도가 유사한 수준으로 중요

3) 개별공시지가_변동성 (0.0768): 지가 불안정성이 영향

4) 토지_전 (0.0449): 지목 종류

5) 평균나이 (0.0386): 거주자 평균 연령 중요하게 작용

해석: 넓은 토지면적과 건물 노후도가 동시에 작용하며, 지가 변동성이 높은 지역, 지목 종류중 “전”이 주요하게 작용함

3.5.2 Cluster 1 (17,968개 집계구, 빈집 비율 3.70%)

주요 특징: 인구 구조와 토지 가치 중심형

TOP 5 변수:

1) 평균나이 (0.1511): 거주자 평균 연령이 가장 중요

2) 평균토지면적 (0.1385): 토지 규모 영향

3) 평균 가구원 수(0.0897): 가구 규모가 주요 지표

4) 저가_토지비율(0.0617): 토지 가치 하락 지역

5) 단위면적당_공시지가 (0.0293): 토지 단가 수준

해석: 고령 인구가 거주하고 가구원수가 적은 지역에 빈집 발생 가능성이 높음, 저가 토지 비율이 높아 경제적 쇠퇴가 동반되는 전형적인 고령화 지역 패턴

3.3.3 Cluster 2 (36,130개 집계구, 빈집 비율 0.28%)

주요 특징: 건건물 노후도와 인구 밀도 중심형 (최대 클러스터)

TOP 5 변수:

1) 평균건물나이 (0.1257): 건물 노후도가 핵심 요인

2) 평균토지면적(0.0735): 토지 규모 영향

3) 인구밀도 (0.0629): 인구 집중도가 중요 지표

4) 토지_전 (0.0521): 지목 종류

5) 최신개별공시지가 (0.0488): 현재 지가 수준

해석: 전체 데이터의 42,7%를 차지하는 가장 일반적인 빈집 발생 패턴, 건물 노후도가 주요 원인이며, 인구 밀도와 결합하여 도시내 노후 주거지역의 빈집화 경향을 보임

3.3.4 Cluster 3 (14,286개 집계구, 빈집 비율 0.37%)

주요 특징: 건물 노후도 압도적 영향 + 시설 변화형

TOP 5 변수:

1) 평균건물나이 (0.2316): 건물 노후도가 핵심 요인

2) 토지_전(0.0906): 지목 유형

3) 문화시설_총합_증가량_전체 (0.0892): 문화시설 변화가 핵심 지표

4) 최신개별공시지가 (0.0674): 현재 지가 수준

5) 공시지가_하락비율(0.0488): 지가 하락 추세

해석: 건물 노후도가 23%로 압도적 영향력을 보이는 클러스터, 문화시설 증가량이 상위 변수에 포함되어 주변 환경 변화 (개발/쇠퇴)와 빈집 발생이 연관됨.

3.3.5 Cluster 4 (6,941개 집계구, 빈집 비율 0.12%)

주요 특징: 공간적 위치와 지가 변동 중심형

TOP 5 변수:

1) 토지_전(0.1237) : 지목 유형

2) 평균건물나이(0.1113) : 건물 노후도 영향

3) 개별공시지가_3년변동률(0.0830) : 중기 지가 변동이 핵심

4) 여성인구(0.0491) : 성별 인구구조 영향

5) 총인구(0.0451) : 인구 규모

해석: 3년간 지가 변동률이 높아 부동산 시장변화가 빈집 발생과 연관된 지역

3.4 예측 모델링

3.4.1 모델 아키텍처

본 프로젝트에서는 앙상블 기반 회귀 모델 4종을 활용하여 집계구별 빈집 비율을 예측. 각 클러스터별로 독립적인 모델을 학습함으로써, 클러스터 특성에 최적화된 예측을 수행.

사용 모델:

1) XGBoost (eXtreme Gradient Boosting)

- Gradient Boosting 기반 앙상블 학습

- 과적합 방지를 위한 정규화 강화

- 결측치 자동 처리 가능

2) LightGBM (Light Gradient Boosting Machine)

- Leaf-wise 트리 성장 방식으로 빠른 학습 속도

- 대용량 데이터 처리에 효율적

- 범주형 변수 자동 처리

3) CatBoost (Categorical Boosting)

- 범주형 변수 처리에 특화

- Ordered Boosting으로 과적합 방지

- 하이퍼파라미터 튜닝 부담 적음

4) GWR (Geographically Weighted Regression) - 선택적 사용

- 공간적 이질성을 고려한 지리가중 회귀

- 지역별 공간 효과 반영

- 계산 비용이 높아 선택적 활용

3.4.2 클러스터링과 모델링의 변수 사용 차이

클러스터링과 모델링 단계에서 사용하는 변수는 다음과 같은 이유로 차별화된다:

클러스터링 목적:

- 유사한 지역 특성을 가진 집계구를 그룹화

- 지역의 전반적 특성을 포착하기 위한 포괄적 변수 사용

- 44개 변수 활용

모델링 목적:

- 빈집 비율을 정확히 예측

- 빈집 발생과 직접적 인과관계가 있는 변수 중심

- 클러스터 정보를 추가 변수로 활용

- 타겟 변수(VACANT_RATIO)와 고도로 상관된 변수 제외

모델링 추가 고려사항:

- VACANT 관련 변수 (VACANT, VACANT_sum, VACANT_mean)는 타겟과 직접 관련되어 제외

- 클러스터 레이블(cluster)을 범주형 변수로 추가하여 공간 패턴 반영

- X, Y 좌표는 GWR 모델에서만 활용

3.4.3 학습 및 검증 방법

가) 데이터 분할

- Train/Test Split: 80% / 20%

- Random State: 42 (재현성 확보)

- 클러스터별 독립 분할 및 학습

나) 결측치 처리

- 0으로 대체 (파생변수 생성 과정에서 대부분 처리됨)

다) 범주형 변수 처리

- 고유값이 20개 이하인 변수를 범주형으로 분류

- CatBoost는 범주형 변수 자동 처리

- XGBoost, LightGBM은 숫자형으로 변환 후 사용

3.4.4 모델 평가 지표

본 프로젝트에서는 5가지 평가 지표를 활용, 회귀 성과 지표로 3가지, 분류 성과 지표로 2가지 사용. 모델 성능을 종합적으로 평가 클러스터별 결과가 있지만, 평균 결과로 작성:

[회귀]

1) RMSE (Root Mean Squared Error)

개념: 예측값과 실제값의 차이(오차)를 제곱하여 평균한 후 제곱근을 취한 값

특징:

- 오차가 클수록 제곱으로 인해 페널티가 커짐

- 이상치에 민감

- 타겟 변수와 같은 단위 (빈집 비율)

해석:

- 0에 가까울수록 좋음

- 본 프로젝트에서는 RMSE 0.0042를 달성하여 평균 0.0442의 예측 오차 수준

2) R² (R-squared, 결정계수)

개념: 모델이 설명하는 분산의 비율

범위: 0 ~ 1 (음수도 가능하나 매우 나쁜 모델)

특징:

- 1에 가까울수록 모델의 설명력이 높음

- 0.7 이상이면 일반적으로 좋은 성능

- 변수가 많아질수록 증가하는 경향 (Adjusted R² 참고 필요)

해석:

- 본 프로젝트에서는 R² 0.1538를 달성

- 타겟 변수의 분산이 작으면 값이 낮게 나오기 낮은 값이 나옴

3) MAE (Mean Absolute Error)

개념: 예측값과 실제값의 절대 차이를 평균한 값

특징:

- RMSE와 달리 모든 오차에 동일한 가중치

- 이상치에 덜 민감

- 직관적 해석 가능

해석:

- 0에 가까울수록 좋음, 본 프로젝트에서는 1.13%p

- 평균적인 예측 오차의 크기를 나타냄

4) MAPE (Mean Absolute Percentage Error)

개념: 예측값과 실제값의 차이를 실제값으로 나눈 백분율 오차의 평균

특징:

- 퍼센트 단위로 표현되어 직관적

- 다양한 스케일의 데이터 비교 가능

- 실제값이 0에 가까우면 불안정

해석:

- 0%에 가까울수록 좋음

- 10% 이하면 우수, 20% 이하면 양호한 수준

[분류]

5) Accurcy

개념: 전체 예측 중 올바르게 예측한 비율

특징:

- 직관적이고 해석이 용이

- 클래스 불균형시 다수 클래스에 편향된 결과를 보일 수 있음

해석:

- 100%에 가까울수록 좋으나 너무 높은 값이 나오면 과적합 의심

- 현 모델에서는 80% 전후의 성능을 보임

6) F1-Score

개념: Precision(정밀도) 와 Recall(재현율)의 조화 평균

특징:

- 클래스 불균형 상황에서 Accuracy보다 신뢰 할 수 있는 지표

해석:

- 이진분류 모델에선 0.90이상을 우수한 모델로 판단.

- 본 프로젝트는 4클래스 분류로 랜덤 추측 기준선이 50%에서 25%로 하락. 따라서 0.75 이상을 우수한 모델로 판단 -> 0.81정도의 값을 보임

3.4.5 좋은 성능의 기준

RMSE: 타겟 변수 범위 대비 평가

- 빈집 비율이 0~5% 범위일 때, RMSE < 0.5%p이면 우수

- 본 프로젝트: RMSE 0.0042 (0.42%p) → 우수

R²: 사회과학/정책 분야 기준

- R² > 0.7: 좋음

- R² > 0.8: 매우 좋음

MAE: 실무적 허용 오차 기준

- 정책 의사결정에 영향을 주지 않는 수준

- 빈집 비율 분류 경계(표준편차 단위) 대비 평가

MAPE: 상대적 예측 정확도

- MAPE < 10%: 매우 정확

- MAPE < 20%: 실용적 수준

- MAPE > 50%: 개선 필요

3.4.6 모델별 가중치 기반 앙상블

최종 예측은 4개 모델의 성능 기반 가중 평균으로 산출된다:

가중치 계산 방법:

- 각 모델의 R² 점수를 가중치로 활용

- R²가 높을수록 해당 모델의 영향력 증가

- 가중치 합이 1이 되도록 정규화

앙상블 장점:

- 단일 모델의 편향 완화

- 예측 안정성 향상

- 과적합 위험 감소

3.5 클러스터링 및 모델링 결과 요약

3.5.1 데이터 흐름

Step 2 출력 → Step 3 클러스터링 → Step 4 모델링

[Step 2 출력]

- 파일명: 09_final_before_clustering.parquet

- 크기: 84,637개 집계구 × 121 변수

- 포함: 내부데이터, 전기데이터, 외부데이터, 파생변수

[Step 3 클러스터링 입력]

- 파일명: 10_ready_for_clustering.parquet

- 크기: 84,637개 집계구 × 44개 변수 (정제 후)

[Step 3 클러스터링 출력]

- 파일명: 11_clustered_data.parquet

- 크기: 84,637개 집계구 × 45개 변수 (cluster 컬럼 추가)

- 클러스터 분포: 5개 클러스터 (K=5)

[Step 4 모델링 출력]

- 클러스터별 모델 파일: 13_cluster_{0~4}_models.pkl

- 변수 중요도: cluster_{0~4}_feature_importance.csv

- 평가 지표: 15_cluster_regression_metrics.csv