Q

PRIVATE NAVIGATION MODE

ML4T_S 탭 잠금 해제

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

STUDY SEARCH

학습 자료 검색

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

검색 범위

검색어를 입력해 주세요.

SEARCH THE NOTEBOOK

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

CHAPTER 08 / SECTION 05

8.5 예측 구간과 집합으로 불확실성 표시하기

과거 예측 오차를 이용해 구간과 분류 집합을 만들고 실측 포함률을 점검합니다.

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

같은 +2% 예측에도 여유 폭이 다를 수 있다

두 ETF의 다음 달 수익률을 모두 +2%로 예상한다고 하자. 첫 ETF의 거래는 평소와 비슷하다. 둘째 ETF는 변동성이 급등했고 거래가 뜸하다. 과거에 첫째와 비슷한 조건에서는 오차가 작았고 둘째와 비슷한 조건에서는 오차가 컸다면, +2%라는 Point Forecast(점 예측)만 보고 같은 비중을 정하기 어렵다.

Prediction Interval(예측 구간)은 미래 실제 값이 들어올 범위를 준다. 예측 구간은 평균 수익률 추정치의 신뢰구간보다 넓을 수 있다. 개별 수익률에는 평균을 정확히 알아도 사라지지 않는 변동이 있기 때문이다. 정규분포 기반 방법은 일정한 오차 폭을 가정하거나 오차 분포를 적합한다. 큰 손실이 드물지만 크게 발생하고 변동성이 연달아 높아지는 시장에서는 그 가정을 따로 확인해야 한다.

Conformal Prediction(적합 예측)은 적합을 마친 모델이 새로 보는 과거 자료에서 얼마나 빗나갔는지 측정해 구간이나 집합을 만든다. 오차의 분포 모양을 정할 필요는 없지만, 보정 점수와 다음 점수의 순서를 바꾸어도 결합분포가 같다는 Exchangeability(교환 가능성)가 기본 보장의 조건이다. 이때 다음 점수의 순위는 보정 점수들과 비교해 어느 자리에나 놓일 수 있다. 자기상관, 연속된 변동성 급등, 유동성 변화가 있으면 이 가정을 그대로 적용하기 어렵다.

과거에 빗나간 폭으로 오늘 구간을 만든다

Split Conformal Prediction(분할 적합 예측)은 과거 구간을 모델 적합용과 오차 보정용으로 나눈다. 보정 자료는 모델 종류와 강도를 고르는 데 쓰지 않는다.

모델 적합에서 예측 구간 검증까지
  1. 훈련창
    특성 변환과 모델을 적합하고 하이퍼파라미터를 확정한다.
  2. 보정창
    고정 모델의 예측을 기록하고, 라벨이 확정된 뒤 절대 오차를 구한다.
  3. 미래 판단 시점
    정렬된 보정 오차에서 목표 수준의 순위를 골라 새 예측의 양옆에 더하고 뺀다.
  4. 미래 라벨 확정 후
    실제 결과가 구간에 들었는지 저장한다. 그때부터 이 결과를 다음 보정에 활용할 수 있다.

미래 보유기간이 앞선 창과 겹치는 경우 라벨 확정일을 확인하고 아직 알 수 없는 행을 제외한다.

Nonconformity Score(비적합 점수)는 실제 결과가 모델 예상과 얼마나 다른지 나타낸다. 대칭 구간에서는 절대 오차를 쓴다. 보정 오차를 작게부터 정렬하고 목표 포함률에 맞는 정수 순위를 올림으로 고른다.

si=∣yi−y^i∣k=⌈(ncal+1)(1−α)⌉q=s(k)C=[y^−q, y^+q]\begin{aligned} s_i&=|y_i-\widehat y_i|\\ k&=\left\lceil(n_{\mathrm{cal}}+1)(1-\alpha)\right\rceil\\ q&=s_{(k)}\\ C&=[\widehat y-q,\ \widehat y+q] \end{aligned}
i,ki,k
Observation Index and Order Rank(보정 행 번호와 선택 순위). 단위 없음.
si,s(k),qs_i,s_{(k)},q
Calibration Error, Ordered Error and Correction(보정 절대 오차, 정렬 오차와 보정 폭). 퍼센트포인트.
yi,y^i,y^y_i,\widehat y_i,\widehat y
Observed Return, Calibration Forecast and New Forecast(실제 수익률, 보정 예측과 새 예측). 퍼센트.
ncaln_{\mathrm{cal}}
Calibration Sample Size(보정 관측 수). 개.
α\alpha
Target Miscoverage(목표 미포함률). 0과 1 사이의 비율.
CC
Prediction Interval(예측 구간). 양끝은 수익률, 퍼센트.

보정 오차 아홉 개가 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1.0, 1.4, 2.0%p라고 하자. 90% 목표에서는 ⌈(9+1)×0.9⌉=9\lceil(9+1)\times0.9\rceil=9이므로 2%p를 쓴다. 새 예측이 +2%면 구간은 0%에서 +4%다. 오차가 여덟 개뿐이었다면 ⌈9×0.9⌉=9\lceil9\times0.9\rceil=9로 관측한 오차 수를 넘는다. 그 목표에서는 유한한 경계를 얻을 수 없고, 중간 값을 보간해 유한한 경계를 만들면 원래 순위 보장이 달라진다.

교환 가능성과 분리된 적합·보정 조건 아래에서는 반복된 미래 관측 전체의 적어도 목표 비율이 구간에 든다. 이를 Marginal Coverage(주변 포함률)라고 한다. 특정 ETF나 급변장에서 그 비율이 유지된다는 뜻까지 담지는 않는다. 이 예에서 같은 보정창의 모든 예측은 4%p 폭을 받으므로 관측별 변동성 차이는 폭에 반영되지 않는다.

보정 자료가 낡았는지 판단한다

  • Rolling Calibration(이동 보정)은 최근 250거래일처럼 고정 길이의 창을 앞으로 옮긴다. 최근 오차가 빨리 반영되지만 점수가 적어 상위 순위가 크게 움직일 수 있다.
  • Weighted Conformal Calibration(가중 적합 보정)은 최근 또는 더 유사한 행에 가중치를 준다. 시간 감쇠는 실무적 방법이다. 정식 가중 보장은 입력 분포 변화와 가중치 추정에 별도 조건이 필요하다.
  • Regime-conditional Calibration(국면별 보정)은 예측 당시 알 수 있는 변동성이나 유동성 구간을 먼저 정하고 구간마다 다른 오차 폭을 쓴다. 급변장 표본이 적다면 높은 분위수 하나가 몇 건에 좌우될 수 있다.
  • Online Coverage Feedback(온라인 포함률 피드백)은 실현값이 도착할 때마다 다음 구간의 폭에 반영한다. 장기 평균이 맞아도 급변 구간의 포함률은 낮을 수 있다.

최근에 놓쳤다면 다음 구간의 폭을 키운다

Adaptive Conformal Inference(적응형 적합 추론, ACI)는 목표 미포함률은 고정하고 구간 계산에 쓰는 미포함률을 갱신한다. 실제 결과를 놓쳤으면 다음 구간에 더 높은 순위의 오차를 사용한다.

αt+1=αt+γ(α−mt)\alpha_{t+1}=\alpha_t+\gamma(\alpha-m_t)
tt
Feedback Step(결과를 반영하는 순번). 단위 없음.
αt,αt+1\alpha_t,\alpha_{t+1}
Effective Miscoverage(현재와 다음 계산에 쓰는 미포함률). 비율.
α\alpha
Target Miscoverage(목표 미포함률). 비율.
γ\gamma
Learning Rate(갱신 속도). 한 번의 반영 폭을 정하는 무차원 값.
mtm_t
Miss Indicator(미포함 표시). 실제값이 구간 밖이면 1, 안이면 0. 단위 없음.

현재와 목표가 0.10이고 갱신 속도가 0.01이라고 하자. 한 번 놓치면 0.10+0.01(0.10−1)=0.0910.10+0.01(0.10-1)=0.091이다. 다음 구간은 90.9% 수준을 사용하므로 폭이 넓어지거나 정수 순위가 같아 그대로다. 결과가 구간에 들면 그때는 0.001을 더한다. 속도가 크면 급변에 민감하지만 폭이 크게 움직인다. 예를 들어 검증에서 0.005–0.05를 비교할 수 있다. 구현에서 미포함률을 일정 범위로 제한하면 극단 구간을 피하기 쉬우나, 경계 처리와 라벨 도착 지연에 따라 장기 포함률 결과도 달라진다. 21거래일 라벨은 결과가 확정된 뒤에만 갱신한다.

입력별로 폭을 다르게 시작한다

Conformalized Quantile Regression(적합화 분위수 회귀, CQR)은 먼저 비슷한 입력에서 실제 수익률의 하단과 상단을 각각 예측한다. 90% 중앙 구간이라면 5%와 95% 분위수다. 보정 자료에서 두 경계 중 더 많이 위반한 방향의 차이를 기록한다. 실제값이 양쪽 경계 안에 있으면 두 차이 모두 음수다. 이 점수의 보수적인 정렬 순위를 앞 절과 같은 방식으로 고르고, 새 하단에서 빼고 상단에 더한다.

si=max⁡(ℓi−yi, yi−ui)C=[ℓ−q, u+q]\begin{aligned} s_i&=\max(\ell_i-y_i,\ y_i-u_i)\\ C&=[\ell-q,\ u+q] \end{aligned}
ii
Calibration Index(보정 관측 번호). 단위 없음.
si,qs_i,q
Calibration Score and Correction(보정 점수와 정렬 순위에서 구한 보정 폭). 퍼센트포인트.
yiy_i
Realized Return(보정 관측의 실제 수익률). 퍼센트.
ℓi,ui,ℓ,u\ell_i,u_i,\ell,u
Lower and Upper Quantiles(보정 관측과 새 관측의 하·상단 예측 분위수). 퍼센트.
CC
Prediction Interval(새 예측 구간). 양끝은 수익률, 퍼센트.

평상시 모델의 경계가 +1%, +3%이고 급변장의 경계가 −2%, +6%라고 하자. 보정 폭이 0.5%p면 각각 +0.5%에서 +3.5%, −2.5%에서 +6.5%가 된다. 보정 점수가 음수면 넓게 시작한 구간을 줄일 수도 있다. 하단과 상단을 따로 적합하면 비대칭 위험을 표현할 수 있지만, 분위수가 서로 뒤집히거나 창마다 크게 움직이면 먼저 모델을 점검한다.

점 예측은 +2%로 같고 조건부 구간은 다르다
가로축 다음 달 수익률 (%)
-4-202468평상시급변장
점은 같은 +2% 예측이다. 0% 점선을 지나는 급변장 구간에는 손실도 포함된다.

Allocation(자산 배분)에 폭을 반영하는 단순한 방법은 폭의 역수에 비례해 초기 비중을 계산하는 것이다. 두 폭이 3%p와 9%p라면 같은 방향·기타 조건에서 좁은 쪽의 초기 비중은 세 배다. 이는 구간 폭만 반영한 계산이다. 실제 비중을 정할 때는 자산 간 상관, 거래 비용, 최대 비중과 매우 작은 폭에 대한 하한을 함께 적용한다.

분류에서는 가능한 라벨을 집합으로 남긴다

매수·관망·매도 확률이 0.65, 0.25, 0.10이라고 하자. 보정 데이터에서는 정답 범주에 준 확률을 1에서 뺀 값을 점수로 기록한다. 실제 관망이었다면 점수는 0.75다. 점수가 클수록 모델이 정답에 낮은 확률을 줬다. 보정 순위의 점수가 0.70이었다면 새 관측에서는 점수가 0.70 이하인 범주, 즉 확률 0.30 이상인 범주를 포함한다. 이 예의 Prediction Set(예측 집합)은 매수 하나다. 경계 점수가 0.80이면 확률 0.20 이상인 매수·관망 두 범주를 남긴다.

집합이 하나일 때만 거래하면 나머지는 Abstention(판단 보류)으로 처리할 수 있다. 보정 조건의 보장은 전체 집합에 적용된다. 하나만 남은 거래 후보의 적중률은 직접 재야 한다. 단일·다중·빈 집합의 비율과 포함률, 회전율, 실현 손익을 함께 남긴다. 개별 확률을 경험적 빈도에 맞추는 확률 보정과 집합의 포함률을 맞추는 일은 별개다. 확률이 부정확해도 교환 가능성 아래 집합 포함률은 성립할 수 있지만, 집합이 불필요하게 커질 수 있다.

목표와 실측 포함률을 폭과 함께 읽는다

Calibration Curve(보정 곡선)의 가로축은 10%, 20%, …, 90% 같은 목표 포함률이다. 세로축에는 같은 시험 자료에서 그 목표로 만든 구간에 실제값이 들어간 비율을 찍는다. 대각선 아래면 목표보다 자주 빗나갔고 위면 더 많이 포함했다. 90% 목표에서 99%가 들어왔어도 구간 폭이 너무 넓으면 주문 판단에 쓸 구분이 부족하다.

아래는 ETF 99개의 일별 자료로 여덟 개 전진 폴드를 시험한 결과다. 시험 구간은 2015–2023년에 걸치고, 각 폴드의 과거 자료는 적합 80%, 보정 20%로 나뉜다. 분할 적합과 ACI의 점 예측에는 Ridge를 쓰고, CQR의 가변 폭은 별도 조건부 분위수에서 얻는다.

방법목표실측 포함률평균 구간 폭폭 표준편차
분할 적합90%88.4%16.9%p3.3%p
CQR90%89.9%15.7%p7.5%p
분할 적합 + ACI90%89.5%16.3%p6.8%p
ETF 예측 구간의 실측 포함률과 90% 목표
분할 적합88.4%
CQR89.9%
분할 적합 + ACI89.5%
점선은 90% 목표다. 분할 적합은 목표보다 1.6%p 낮고, CQR의 차이는 0.1%p다.

이 시험에서 CQR은 평균 폭이 1.2%p 더 좁으면서 포함률은 1.5%p 높았다. 폭의 표준편차가 크므로 모든 ETF에 더 좁은 구간을 줬다는 뜻은 아니다. 분할 적합의 폭은 한 폴드 안에서 일정하고 폴드 사이에서 달라진다. ACI는 결과가 들어올 때 폭을 바꿔 고정 방식과 다른 중간 결과를 보였다.

포함률 차이의 크기는 유효 표본 수와 의존성에 비춰 읽는다. 한날 여러 ETF가 함께 빗나가거나 21거래일 라벨이 겹치면 행 수만으로 불확실성을 계산하기 어렵다. 연속 날짜 블록을 다시 뽑거나 날짜 군집을 고려하고, 폴드·예측 크기·변동성·유동성·자산군별로 분리한다. 급변장에서 90% 목표가 80% 아래로 떨어졌다면 보정창의 크기와 대표성, 미래 정보 혼입, 점수 정의와 정렬 구현을 확인한다. 구간 위로만 자주 벗어나면 대칭 폭을 늘리기 전에 예측 중심이 낮게 치우쳤는지도 살핀다.