콘텐츠로 이동

LOWESS의 직관적 이해

4.1 핵심 본질: Weight & Smoothing

미니모델링이라는 이름이 거창하지만, LOWESS의 본질은 "weight를 주어서 smoothing한다" — 이것이 전부다.

  1. 각 점 주변의 이웃 데이터를 빌려오고 (bandwidth)
  2. 가까운 데이터에 높은 가중치를 부여하고 (weight)
  3. 가중 회귀로 짧은 직선을 긋고, 그 점의 추정값 하나만 취한다 (smoothing)

이를 모든 고유 x값에 반복하면 부드러운 곡선이 된다. 본질적으로 가중 최소자승(WLS)의 반복 적용이며, 대역폭 하나만 정하면 나머지는 기계적으로 수행된다.


4.2 KNN과의 비교: 이웃의 정의

LOWESS의 이웃 선택은 KNN과 유사하지만 핵심적인 차이가 있다.

KNN LOWESS
이웃 기준 \((x, y)\) 공간의 유클리드 거리 x축 거리만 (y는 보지 않음)
이웃 활용 이웃의 y값 평균/투표 이웃으로 가중 회귀선을 그음
가중치 동일 가중 또는 거리 반비례 Tricube 함수로 차등 부여

Bandwidth \(f = 0.4\)이면 전체 관측치의 40%를 x값이 가까운 순서대로 이웃으로 선택한다. "bandwidth"라는 이름은 x축 위에서의 "폭"을 의미한다.

왜 이웃을 빌려오는가 — 샘플 수 확보

이 이웃 선택이 중요한 이유는 회귀에 필요한 샘플 수 확보 때문이다.

예를 들어 부채비율 50%인 관측치만으로는 x가 하나이므로 회귀선을 그을 수 없다. 48%~52% 범위의 관측치까지 끌어와야 x에 변동이 생기고, 그제야 "이 구간에서 부채비율이 올라가면 부도율이 얼마나 변하는가"를 추정할 수 있다.

Tricube 가중함수는 이렇게 빌려온 데이터에 차등 가중치를 부여한다. k개 범위 안에서 가까울수록 가중치가 크고, k번째 경계에 가까울수록 가중치가 0에 수렴한다. 범위 밖은 가중치 = 0이므로 자동으로 제외된다.


4.3 회귀선을 몇 번 긋는가

전체 관측치 수(N)만큼이 아니라, 고유한(unique) x값의 수만큼 회귀를 수행한다.

부채비율 50%인 관측치가 1,000개 있어도 x = 50% 지점에서 회귀는 한 번만 긋고, 그 \(\hat{y}\)를 1,000개에 동일하게 적용한다. 재무비율이 소수점 첫째 자리까지 존재하고 0~200% 범위라면, 회귀 횟수는 최대 약 2,000회 수준이다.

각 회귀에서 필요한 것은 해당 점에서의 \(\hat{y}\)하나뿐이다. 개별 회귀는 짧은 직선(1차 WLS)이지만, 포인트마다 이웃 구성과 기울기가 조금씩 달라지므로 이 \(\hat{y}\)들을 이어붙이면 부드러운 곡선이 된다. 원을 아주 짧은 직선 조각으로 이어 그리는 것과 같은 원리다.


4.4 산출물의 본질: Lookup Table

LOWESS로 smoothing 곡선을 한 번 추정하면, 그 결과는 x → T(x) 매핑 테이블이 된다:

부채비율 단변량 부도확률
48% 0.028
49% 0.029
50% 0.030
51% 0.032
52% 0.035
... ...

실제 운영(scoring) 시점에서는 LOWESS를 다시 돌리지 않는다. 개발 단계에서 추정해둔 이 테이블에서 해당 비율값에 대응하는 변환값을 참조(lookup)하기만 하면 된다. 소매 CSS의 WoE 테이블과 본질적으로 같은 구조다 — 차이라면 WoE는 구간이 이산적이고, LOWESS는 연속적인 곡선이라 해상도가 더 촘촘하다는 점이다.


4.5 Smoothing 곡선과 실제 불량률의 괴리 — 의도된 설계

LOWESS smoothing 곡선은 구간별 실제 불량률(raw default rate)과 정확히 일치하지 않는다. 이 괴리는 결함이 아니라 의도된 것이다.

구간별 실제 불량률에는 두 가지가 섞여 있다:

  • 신호(signal): 비율이 높아지면 부도율이 올라가는 진짜 패턴
  • 노이즈(noise): 특정 구간에 관측치가 적어서 우연히 튀는 값

LOWESS의 smoothing이 하는 일이 바로 이 둘의 분리다. 곡선이 실제 불량률을 정확히 따라가면 노이즈까지 학습한 것이고(과적합), 너무 동떨어지면 신호까지 놓친 것이다(과소적합). 대역폭(bandwidth)은 이 균형점을 조절하는 유일한 손잡이다.

소매 CSS와의 대응

소매 CSS의 WoE 변환에서도 동일한 원리가 작동한다. Fine classing 단계의 구간별 불량률은 들쭉날쭉하지만, coarse classing에서 구간을 합치면서 노이즈를 눌러준다. 합친 구간의 WoE와 원래 fine 구간 불량률 사이에 괴리가 발생하는 것은 정상이며, 이것이 곧 smoothing이다. LOWESS는 이 과정을 구간 합치기 대신 연속적인 가중 회귀로 수행하는 것뿐이다.