CHAPTER 09
9.7 예측의 기여도와 변화 읽기
TreeSHAP으로 개별 예측, 특성 상호작용과 기여도 변화를 살핍니다.
종목 하나의 점수를 기준값에서부터 읽기
ETF 한 종목의 예측 수익률이 1.2%이고 기준 표에서의 평균 예측이 0.5%라고 하자. 금리 관련 입력이 0.5 퍼센트포인트, 변동성이 0.3 퍼센트포인트를 더하고 다른 입력이 0.1 퍼센트포인트를 낮췄다면, 합계는 0.5 + 0.5 + 0.3 − 0.1로 1.2%다. SHapley Additive exPlanations(섀플리 가법 설명, SHAP)은 기준 예측과 개별 예측의 차이를 특성별 몫으로 나눈다. 여러 순서에서 어떤 특성을 새로 알게 됐을 때 달라지는 예측을 계산해 그 기여를 배분한다.
TreeSHAP은 나무를 따라 내려가는 경로를 활용해 가능한 입력 조합을 하나씩 돌리지 않고도, 선택한 기준과 특성 처리 가정 아래 섀플리 값을 계산한다. 계산량은 나무 수와 잎 수가 늘면 커지고, 깊이의 제곱에도 영향을 받는다. 수백 그루의 모델도 검증 구간마다 계산할 수 있어 전체 검증 절차에 넣기 쉽다. KernelSHAP(커널 섀플리 설명) 같은 모델 독립 방법은 일부 입력 조합을 평가해 몫을 근사하므로 더 오래 걸리거나 표본에 따라 결과가 달라질 수 있다. 분류 모델에서는 기여도 합이 확률인지 로그 오즈인지 확인하고 같은 단위로 읽는다.
특성 하나의 값과 두 특성이 만날 때의 효과
장기 금리에서 단기 금리를 뺀 차이가 평소보다 높은 ETF 거래일을 모아 보자. SHAP Dependence Plot(SHAP 의존도 그래프)은 가로축에 이 금리 차의 표준 점수, 세로축에 그 입력에 배정한 기여를 놓는다. 비슷한 가로 위치에서도 위아래로 값이 퍼져 있으면 같은 금리 차에 대한 점수가 다른 조건에 따라 달라질 수 있다. 점의 색이나 기호를 단기 변동성 비율로 구분하면 어떤 조건에서 위아래가 갈리는지 찾을 수 있다.
ETF 실험에서 금리 곡선의 표준 점수와 단기 변동성 비율의 조합은 상호작용을 재는 H-statistic(H 통계량)이 약 0.43이었다. 조사에서 강하게 나타난 29개 조합 중 상위 조합이었다. 단기 변동성이 긴 기간의 평소 수준과 크게 달랐을 때 금리 차의 기여가 특히 달라졌고, 국면에 따라 조합 기여의 부호도 바뀔 수 있었다. 중요도 표에서 금리 차가 상위라는 사실만으로는 이 조건을 읽기 어렵다.
두 특성이 함께 들어갈 때 추가로 바뀌는 몫은 SHAP Interaction Value(SHAP 상호작용 값)로 나눠 볼 수 있다. 위 1.2% 예측을 주효과와 조합 효과로 다시 표현해 보자. 금리 0.3, 변동성 0.1, 기타 −0.1에 금리·변동성 조합 0.4 퍼센트포인트를 더하면 기준 0.5%에서 같은 1.2%가 된다. 상호작용 행렬의 대각선은 주효과이고, 대칭인 두 칸은 한 쌍의 기여를 나눠 갖는다. 쌍 전체를 보고할 때는 두 칸을 합산하고 중복해서 더하지 않는다.
수익률 라벨이 도착하기 전에 달라진 기여 찾기
모델이 같은 변동성 특성에 평소 0.20 퍼센트포인트의 평균 절대 기여를 주다가 최근 0.32 퍼센트포인트를 준다고 하자. 절댓값을 먼저 취해 양의 기여와 음의 기여가 상쇄되지 않게 한다. 증가는 0.12 퍼센트포인트이며 기준 대비 60%다. 변화율 50%를 알림 기준으로 삼는 설정이면 확인할 후보가 된다.
최근 막대가 기준보다 60% 길다. 기준값이 거의 0인 특성은 작은 절대 변화에도 변화율이 커질 수 있다.
이런 변화를 SHAP Drift(SHAP 기여도 이동)라고 부른다. 모델이 그대로여도 최근 자료에 급등일이 많아지면 평균 기여 크기가 달라질 수 있다. 입력과 결과의 관계 자체가 달라지는 Concept Drift(개념 이동)를 확인하려면 실제 수익률이 들어온 뒤 순위 성능이나 잔차를 같이 본다. 모델 버전이나 기준 표도 같이 바뀌었다면 그 영향을 먼저 분리한다.
비슷한 점수의 모델들이 다른 이유를 들 때
부스팅과 랜덤 포리스트가 모두 IC 0.05를 내는데 하나는 금리 차를, 다른 하나는 변동성을 주로 쓸 수 있다. 함께 움직이는 특성은 서로 대신할 수 있고, 비슷한 예측을 만드는 규칙도 여러 개다. 여러 설명이 가능한 현상을 Rashomon Effect(라쇼몽 효과)라 한다. 예측 차이가 약 1.3%인 비교에서도 상위 세 기여 특성이 달라졌다. 설명이 포지션 배분이나 보고에 쓰인다면, 모델 종류나 시드와 기간을 바꿔 공통으로 남는 특성이 무엇인지 확인한다. 공통된 설명도 인과관계의 증거로 쓰려면 별도 검증이 필요하다.
설명을 특성 제거 실험에 쓰기
각 학습 구간에서 평균 절대 SHAP 값으로 특성을 정렬한다. 여러 구간에서 기여가 0에 가까운 열을 뺀 작은 표로 재학습하고 이후 구간의 점수와 처리 시간을 비교한다. 평소에는 조용하지만 급변기에 중요했던 특성은 평균만으로 제거하면 위험 구간의 성능을 잃을 수 있다.
Permutation Feature Importance(순열 특성 중요도, PFI)는 한 열의 대응을 섞었을 때 검증 성능이 얼마나 떨어지는지 본다. Mean Decrease in Impurity(평균 불순도 감소, MDI)는 트리 분할이 훈련 표를 얼마나 더 잘 나눴는지 집계한다. 세 중요도 순위가 갈리는 이유를 보면 대체 특성이 있는지, 분할 후보가 많아 이득이 높게 잡혔는지 살필 수 있다. 같은 기여 배분 방식은 FinBERT의 뉴스 감성 점수에서 단어 조각마다 기여를 읽는 데도 쓸 수 있다.
기여도가 달라진 뒤 예측 범위 점검하기
오늘 점수가 1%라도 최근 비슷한 입력에서 오차가 커졌다면 같은 비중을 맡기기 어렵다. Split Conformal Prediction(분할 적합 예측)은 학습에 쓰지 않은 보정 구간에서 예측과 실제의 절대 차이를 모으고, 목표 포함률에 맞는 경계를 골라 새 점수 양옆에 붙인다. 보정 사례와 새 사례의 순서를 바꿔도 통계적 성질이 유지되는 Exchangeability(교환 가능성)가 성립하면 유한 표본의 주변 포함률을 보장할 수 있다. 시간 의존과 국면 변화가 강하면 이 조건을 따로 점검한다.
| 구간 방식 | 구간을 얻는 과정 | 달라지는 조건 |
|---|---|---|
| 분할 적합 예측 | 보정 잔차 경계를 양쪽에 더함 | 큰 오차가 양쪽에 비슷하게 발생하는지 |
| Quantile Regression(분위수 회귀) | 하단과 상단 분위수를 따로 예측 | 조건별 폭은 달라질 수 있으나 실제 포함률은 따로 확인 |
| Conformalized Quantile Regression(적합 보정 분위수 회귀, CQR) | 분위수 경계 밖으로 벗어난 정도로 두 경계를 보정 | 비대칭을 살리면서 교환 가능성 아래 포함률 보정 |
| Adaptive Conformal Inference(적응형 적합 추론, ACI) | 라벨이 들어올 때마다 놓친 비율에 따라 다음 포함 목표를 갱신 | 변화에 대응하되 개별 날짜의 포함을 보장하는 방식은 아님 |
예를 들어 새 종목의 점수가 1%이고 보정 표에서 선택한 절대 잔차 경계가 2 퍼센트포인트라면 분할 적합 구간은 −1%부터 3%까지다. 반면 두 분위수 예측이 −2%와 2%이고 보정 경계를 0.5 퍼센트포인트만큼 밖으로 늘려야 한다면 CQR은 −2.5%부터 2.5%까지를 준다. 두 번째 구간은 점수 1%에서 하방으로 더 멀리 열린다.
변화 경보가 발생하면 구간 폭과 실제 포함률도 확인한다. 오차가 커지면 보정 구간이 넓어질 수 있다. 예측 구간이 넓어진 이유를 점검한 뒤, 같은 순위에 얼마나 큰 비중을 줄 수 있는지 판단한다.