Q

PRIVATE NAVIGATION MODE

ML4T_S 탭 잠금 해제

패스워드를 확인하면 이 브라우저에서 ML4T_S 탭과 검색 결과를 표시합니다.

STUDY SEARCH

학습 자료 검색

제목과 설명, 키워드, 학습 본문에서 찾습니다.

검색 범위

검색어를 입력해 주세요.

SEARCH THE NOTEBOOK

찾고 싶은 금융·통계·전략 개념을 입력해 보세요.

CHAPTER 08 / SECTION 04

8.4 SHAP으로 예측의 근거 분해하기

한 종목의 예측을 분해하고 여러 시점에서 같은 근거가 유지되는지 확인합니다.

8장. The ML Pipeline(머신러닝 파이프라인)초급 학습 노트

높은 점수를 받은 ETF의 근거를 분해한다

Ridge가 한 ETF에 +1.2% 수익률을 예측했다고 하자. 연구자가 처음 확인하는 값은 비교의 출발점이다. 모델이 과거의 대표적인 입력에 매긴 점수가 +0.5%였다면, 이번 예측은 거기서 0.7%p 올라갔다. 모멘텀과 변동성 중 어떤 입력이 그 차이를 만들었는지 알아야 데이터 공급사 변경, 특성의 고장, 시장 관계의 변화를 각각 조사할 수 있다.

SHapley Additive exPlanations(섀플리 가산 설명, SHAP)은 모델 출력과 기준 출력 사이의 차이를 입력별 기여로 나눈다. Baseline Prediction(기준 예측)은 모델이 참조 데이터에 낸 평균 출력이다. 같은 예측도 참조 데이터가 바뀌면 출발점과 각 기여가 달라질 수 있다. 그래서 어느 훈련창을 참조했는지, 설명하는 출력이 수익률·로그 오즈·확률 중 무엇인지 기록한다. 이 기록은 운용 중 문제가 생겼을 때 당시 판단을 재현하고 검토하는 Model Governance(모델 관리 체계)에도 쓰인다.

어떤 특성을 먼저 보여 주느냐에 따라 기여가 달라질 수 있다

모델에 모멘텀만 알려 줬을 때 기준에서 +0.4%p, 변동성만 알려 줬을 때 +0.1%p, 둘 다 알려 줬을 때 +0.7%p라고 가정하자. 모멘텀을 먼저 넣으면 기여는 +0.4%p다. 변동성이 이미 들어 있다면 +0.7%p에서 +0.1%p를 뺀 +0.6%p다. 두 순서를 평균해 모멘텀에 +0.5%p를 배정한다. 변동성은 먼저 넣을 때 +0.1%p, 나중에 넣을 때 +0.3%p이므로 평균 +0.2%p다.

이처럼 협력 게임에서 여러 참여자가 만든 결과를 나누는 규칙이 Shapley Value(섀플리 값)다. 가능한 입력 순서마다 해당 특성을 넣기 전후의 점수 차이를 재고 평균한다. 같은 게임에서 두 입력의 역할이 같으면 같은 기여를 받고, 어느 순서에서도 출력을 바꾸지 않는 입력은 0을 받는다. 모든 기여를 더하면 예측과 기준의 차이가 된다. 같은 참조와 게임 정의에서 두 모델 출력의 합을 설명하면 기여도 각각 더할 수 있다.

정확히 계산하려면 입력의 포함·제외 조합 수가 특성 수에 따라 지수적으로 늘어난다. LinearSHAP(선형 모델용 SHAP)은 선형 모델에서 빠른 해를 쓸 수 있다. 빠진 입력을 독립적으로 배경 평균에 대해 적분하는 방식에서는 특성의 평균 대비 차이에 계수를 곱하면 된다.

ϕj=βj(xj−x‾j)\phi_j=\beta_j(x_j-\overline x_j)
ϕj\phi_j
Feature Attribution(특성 기여). 해당 입력이 더하거나 뺀 예측 수익률, 퍼센트포인트.
jj
Feature Index(특성 번호). 단위 없음.
βj\beta_j
Feature Coefficient(특성 계수). 특성 1단위당 퍼센트포인트.
xj,x‾jx_j,\overline x_j
Feature Value and Background Mean(현재 특성값과 배경 평균). 해당 특성의 단위.

TreeSHAP(트리 모델용 SHAP)은 트리의 분기 구조를 활용한다. KernelSHAP(커널 SHAP)은 여러 특성 조합으로 모델을 호출해 기여를 근사한다. 입력에 따라 효과가 바뀌는 모델에서는 계산 방법과 빠진 특성을 취급하는 방식 모두 결과에 영향을 준다.

한 번의 예측에서 큰 기여를 찾는다

별도의 선형 예에서 기준이 +0.5%, 모멘텀 기여가 +0.8%p, 평균으로 돌아오는 성향의 기여가 −0.3%p, 변동성 기여가 +0.2%p라고 하자. 첫 번째 특성을 더하면 +1.3%, 두 번째를 반영하면 +1.0%, 마지막을 더하면 +1.2%다. Waterfall Plot(폭포 차트)은 이 순서를 누적 점수의 이동으로 보여 준다.

ETF 예측의 누적 수익률 · 기준 0.5%에서 최종 1.2%까지
가로축 예측 수익률 (%)
00.511.5모멘텀평균 회귀변동성
막대의 화살표가 각 기여의 방향을 가리킨다. 점선은 비교의 출발점이다.

모멘텀은 절대 기여의 합 1.3%p 중 0.8%p, 약 62%를 차지한다. 같은 점수라도 여러 특성이 조금씩 밀어 올린 예측과 한 특성이 대부분을 만든 예측은 입력 장애에 대한 민감도가 다르다. 사전에 정한 집중 기준을 넘으면 데이터 품질이나 주문 규모를 검토할 수 있다. 서로 비슷한 특성 여러 개가 실질적으로 같은 정보를 쓰는지도 함께 살펴야 한다.

ETF 사례의 폭포 그림은 예측 크기 상위 5%에 든 두 관측을 비교한다. 한 관측은 열 가지 입력에 기여가 분산됐고 실제 수익률은 약 +0.6%였다. 다른 관측은 하나의 유동성 관련 입력이 약 +1.8%p를 보탰지만 실제 수익률은 −11.7%였다. 막대의 끝은 모델 예측이고 실제 수익률은 나중에 확인한 값이다. 두 관측은 집중을 조사할 단서를 주며, 집중이 항상 오답을 만든다는 결론에는 더 많은 표본이 필요하다.

여러 예측을 모아 방향과 분산을 읽는다

Global Importance(전역 중요도)는 시험 표본 전체에서 특성별 절대 기여를 평균해 비교한다. +0.8%p와 −0.8%p를 그대로 평균하면 0이지만, 절댓값 평균은 0.8%p다. 크기를 기준으로 행을 정렬하는 이유다. Beeswarm Plot(벌떼 그림)은 한 행에 한 특성, 점 하나에 한 시험 관측을 둔다. 점의 가로 위치는 부호 있는 기여, 색 눈금은 입력값의 높고 낮음을 나타낸다. 가로로 넓게 퍼진 행은 관측에 따라 기여 크기가 크게 다르다.

ETF 비교에서 126거래일 변동성은 평균 절대 기여가 가장 컸다. 이 값이 높은 점들은 주로 양의 기여에, 63거래일 변동성이 높은 점들은 주로 음의 기여에 놓였다. 63거래일 위험조정 수익률이 뒤를 이었고, 중기 변동성 비율과 수익률곡선 기울기도 상위에 있었다. 계수가 큰 입력도 시험 자료에서 배경 평균 부근에만 있으면 기여가 작을 수 있다.

상위 입력전역 그림에서 확인하는 관계
126거래일 변동성높은 입력값이 양의 기여 쪽에 모인다.
63거래일 변동성높은 입력값이 음의 기여 쪽에 모인다.
63거래일 위험조정 수익률높은 입력값이 양의 기여 쪽에 놓인다.

Dependence Plot(의존도 그림)은 한 입력에 집중한다. 가로축은 입력값, 세로축은 그 입력의 기여다. 다른 특성 값에 따라 점 모양이나 색을 구분하면 같은 모멘텀에서도 변동성이 높을 때 효과가 달라지는지 살펴볼 수 있다. 독립 배경을 쓴 선형 모델에서는 입력과 기여가 직선 관계다. 비선형 모델에서는 특정 값부터 기여가 커지거나 더 이상 늘지 않는 패턴이 나타날 수 있다.

폴드와 국면이 바뀌면 근거도 다시 검사한다

예를 들어 최신 창에서 모멘텀의 기여가 줄었다면 입력 산출 방식이 바뀌었는지, 급변장에서 모멘텀의 방향이 뒤집혔는지, 단지 이번 창의 관측 수가 적었는지 구분해야 한다.

  1. 부호와 크기를 살핀다. 변동성 하나가 월간 수익률 전망을 5%p 움직이는데 관측 수익률 중앙값이 0.8%라면, 그 특성이 훈련 범위를 벗어났는지 확인한다.
  2. 시간 안정성을 본다. 각 훈련 폴드에서 고정한 배경으로 다음 시험 폴드를 설명한다. 폴드별 상위 특성의 평균 절대 기여를 같은 척도로 그린다. ETF의 여덟 폴드 그림에서 상위 변동성 특성의 크기는 뒤쪽 폴드에서 더 컸다. 한 폴드 안에서도 연속 날짜 묶음을 다시 뽑아 표본의 흔들림을 추정하면 변화의 크기를 비교할 기준이 생긴다.
  3. 국면별 차이를 본다. 판단 당시 알 수 있던 변동성으로 시험 표본을 세 묶음으로 나눈다. 급변장에서만 평균 회귀 기여가 커졌다면 여러 급변 구간에서도 반복되는지 본다.
  4. 큰 점수의 정답과 오답을 나눠 본다. 오답 그룹에서만 한 입력의 평균 절대 기여가 높다면 해당 입력의 시점과 결측 처리부터 조사한다. 부호 있는 평균도 함께 보면 점수를 어느 방향으로 밀었는지 알 수 있다.

상관된 입력은 기여의 배분도 바꾼다

비슷한 두 모멘텀 지표에서 하나는 급등하고 다른 하나는 급락하는 조합이 실제로는 드물 수 있다. 빠진 입력을 독립적으로 바꾸는 방식은 이런 조합에서도 모델을 평가한다. Conditional SHAP(조건부 SHAP)은 이미 아는 입력에 맞춰 빠진 입력의 분포를 정한다. 현실의 조합을 더 잘 반영할 수 있지만 조건부 분포를 추정하기 어렵고, 모델이 직접 쓰지 않은 상관 특성에도 정보 기여가 돌아갈 수 있다.

Permutation Importance(순열 중요도)는 한 특성을 섞었을 때 성능이 얼마나 달라지는지 재므로 대체 입력이 있는 경우 순위가 달라질 수 있다. Local Interpretable Model-agnostic Explanations(국소 해석 가능 모델 독립 설명, LIME)은 한 관측 주변을 단순 모델로 근사하므로 기여의 합이 원래 예측과 정확히 맞는다는 보장이 없다.

SHAP은 모델이 어떤 입력에 반응했는지를 기록한다. 중요한 특성이 누락 변수의 대리일 수도 있고 데이터 연결 문제를 반영할 수도 있다. 값만 바꿨을 때 실제 수익률이 바뀐다는 인과 주장은 별도의 식별 근거가 필요하다. 순차 전진 검증에서는 시험 IC와 함께 배경 데이터, 설명한 출력, 기여의 부호와 집중도, 폴드·국면별 변화를 저장한다.