Diebold–Mariano 검정이란? 예측 정확도 비교와 한계
Diebold–Mariano 검정의 귀무가설, 손실차 계산, 자기상관을 반영한 검정통계량과 중첩 모형의 주의점을 예시로 설명합니다
이 글에서 다루는 내용DM 검정은 예측 손실의 차이를 비교합니다
짧은 요약
Diebold–Mariano(DM) 검정은 동일한 결과를 예측한 두 절차가 같은 기대 손실을 갖는지 묻습니다. 매 시점의 손실 차이를 사용하므로 손실함수, 예측 기간, 날짜 사이의 의존성이 결과에 영향을 줍니다. 귀무가설을 기각해도 주어진 평가 설계에서 차이가 있다는 뜻일 뿐, 한 모형이 계속 우월하거나 매매전략이 비용 차감 후 이익을 낸다는 증거는 아닙니다
DM 검정은 예측 손실의 차이를 비교합니다
Diebold–Mariano 검정은 두 예측 모형이 같은 대상값을 같은 평가 날짜에 예측한 결과를 비교합니다. 매 예측 시점에 두 모형은 동일하게 실현된 결과를 대상으로 해야 하고, 예측 기간과 정보 기준 시각도 같아야 합니다. 검정은 각 모형의 오차를 미리 정한 손실로 바꾼 다음, 그 손실 차이가 한쪽으로 체계적으로 치우쳤는지 평가합니다
Diebold와 Mariano의 원 논문은 평균제곱오차만이 아니라 일반적인 손실함수 아래에서 경쟁 예측의 동일 정확도 귀무가설을 검정하는 방법을 제시합니다 (Diebold and Mariano, 1995). 여기서 ‘정확도’란 선택한 손실함수로 측정했을 때의 기대 손실이 작은지를 뜻합니다. 예측값이 참이라고 증명하거나 인과적으로 설명한다는 뜻도, 모든 의사결정에서 유용하다는 뜻도 아닙니다
예를 들어 A와 B가 동일한 시점에 미래 수익률을 예측한다고 합시다. DM 검정은 두 모형의 추정 계수 중 하나가 0인지 검정하지 않습니다. 추정 표본에서 적합값이 같은지도 묻지 않습니다. 평가 표본에서 실제로 나온 예측오차가 선택한 손실로 변환된 결과를 비교합니다
따라서 통계량을 해석하기 전에 연구 설계를 정해야 합니다. 예측 대상, 예측 시점, 예측 기간, 손실함수, 결측 관측치 처리, 재추정 일정, 양측 또는 단측 대립가설이 검정 질문을 결정합니다. 모형마다 이 선택을 다르게 하면 두 손실의 차이를 같은 조건의 비교로 해석하기 어려워집니다
같은 결과에 대한 예측을 짝지어 손실차를 만듭니다
예측 시점 t의 실현값을 $y_t$, 모형 A와 B의 예측값을 각각 $\hat y_{A,t}$와 $\hat y_{B,t}$라고 하겠습니다. 오차는 $e_{A,t}=y_t-\hat y_{A,t}$와 $e_{B,t}=y_t-\hat y_{B,t}$입니다. 손실함수 $L$로 바꾸면 시점별 손실차는 다음과 같습니다
$$ d_t=L(e_{A,t})-L(e_{B,t}) $$
이 부호 관례에서는 평균 $d_t$가 음수면 관측 손실이 A에서 더 작았고, 양수면 B에서 더 작았다는 뜻입니다. 모집단 귀무가설은 $E[d_t]=0$입니다. 양측 대립가설은 어느 쪽인지 구분하지 않고 기대 손실이 다른지 묻고, 단측 대립가설은 사전에 정한 방향을 묻습니다. 어느 모형이 이겼는지 본 뒤 대립가설 방향을 선택하면 안 됩니다
제곱오차 손실 $L(e)=e^2$에서는 큰 오차가 제곱되어 더 큰 영향을 줍니다. 절대오차 손실 $L(e)=|e|$는 큰 오차 하나가 순위를 좌우하는 정도가 상대적으로 낮습니다. 분위수 손실은 비대칭적인 예측 목표에 맞출 수 있습니다. 손실을 바꾸면 모형 순위도 달라질 수 있으므로 ‘가장 좋은 예측’은 손실을 정하기 전에는 하나로 확정되지 않습니다. Tashman의 표본 외 예측검정 검토도 평가 방법을 실제 예측 문제에 맞춰야 한다는 점을 다룹니다 (Tashman, 200000065-0))
두 모형은 같은 예측 시점과 실현값을 대상으로 해야 합니다. 한 모형에서 어려운 날짜의 예측이 빠졌다는 이유로 그 날짜만 비교에서 제외하면 평가 표본 자체가 달라집니다. 매월 새 자료로 모형을 다시 맞추어 실제 운영할 계획이라면 평가 예측도 같은 재추정 규칙으로 만들어야 합니다. 고정 계수를 사용한 예측 실험은 다른 질문에 답합니다. 미래 자료를 쓰지 않고 순차적으로 예측하는 설계는 워크포워드 검증 안내에서 다룹니다
가상의 네 시점으로 평균 손실 차이를 계산합니다
아래는 예측 시점 네 개를 이용한 가상 계산입니다. 실현값과 예측 오차를 퍼센트포인트 단위로 표시하고, 각 숫자는 오직 산술 예시로만 사용합니다. 모형 A의 오차는 $[1,2,0,1]$, 모형 B의 오차는 $[2,1,1,1]$이며 각 쌍은 같은 실현 수익률과 같은 예측 기간을 가리킵니다
제곱오차를 손실로 사용하면 A의 손실은 $[1,4,0,1]$이고 평균제곱오차는 $(1+4+0+1)/4=1.50$ 제곱 퍼센트포인트입니다. B의 손실은 $[4,1,1,1]$이며 평균제곱오차는 $(4+1+1+1)/4=1.75$입니다. 이 네 결과에서 A의 평균제곱오차가 0.25 제곱 퍼센트포인트 더 낮습니다
시점별 손실차 $d_t=L(e_{A,t})-L(e_{B,t})$를 적으면 $[-3,3,-1,0]$입니다. 평균은 $(-3+3-1+0)/4=-0.25$로, A 평균제곱오차에서 B 평균제곱오차를 뺀 값과 같습니다. 부호가 음수이므로 이 부호 관례에서 A가 더 낮은 손실을 보였습니다. 하지만 이 수치만으로 차이가 표본 잡음보다 크다고 말할 수는 없습니다. 예측값 네 쌍은 설득력 있는 통계적 근거라고 보기에는 너무 적습니다
손실의 선택은 ‘더 낫다’는 말의 뜻도 바꿉니다. 별도의 가상 사례에서 C의 절대오차가 $[0,0,0,3]$이고 D의 절대오차가 $[1,1,1,1]$이라면, 평균절대오차는 각각 0.75와 1이므로 C가 더 낮습니다. 같은 오차를 제곱하면 C의 평균제곱오차는 2.25이고 D는 1이어서 이번에는 D가 더 낮습니다. 어떤 실수를 더 중요하게 볼지 결정하지 않으면 검정은 이 차이를 대신 선택해주지 않습니다
<!-- 삽화 위치: 이 절 뒤. 두 예측 경로와 하나의 실현 경로를 글자나 수치 없이 배치하고, 각 예측과 실현 경로 사이의 오차 간격이 서로 다른 개념적 장면. -->
DM 통계량은 평균 손실차를 그 불확실성으로 나눕니다
표본 평균 손실차는 $\bar d=T^{-1}\sum_{t=1}^{T}d_t$이며, $T$는 짝지어진 예측 결과의 개수입니다. 평균의 표준오차는 한 시점의 분산만으로 정해지지 않고 손실차 시계열의 장기분산에도 좌우됩니다. 검정통계량의 일반적인 형태는 다음과 같습니다
$$ DM=\frac{\bar d}{\sqrt{\widehat{\Omega}/T}} $$
$\widehat{\Omega}$는 손실차의 장기분산 추정치입니다. 날짜별 관측치가 독립이라면 선택한 분산 추정 방식에서 이 값은 한 시점의 분산에 가까워집니다. 하지만 예측 손실은 군집할 수 있습니다. 변동성이 높은 시기에는 두 모형 오차가 모두 커질 수 있고, 여러 기간 앞의 목표값이 겹치면 인접한 예측이 동일한 실현 수익률을 공유합니다. 양의 의존성을 무시하면 표준오차가 작게 추정되어 근거가 실제보다 강해 보일 수 있습니다
흔한 HAC 방식 하나는 평균을 뺀 손실차의 자기공분산 $\hat\gamma_k$를 계산해 $\widehat{\Omega}=\hat\gamma_0+2\sum_{k=1}^{q}w_k\hat\gamma_k$로 합칩니다. Bartlett 가중치를 쓰면 대역폭 $q$까지 $w_k=1-k/(q+1)$입니다. Newey와 West는 이분산성과 자기상관을 함께 고려하는 양의 준정부호 공분산 추정량을 제안했습니다 (Newey and West). 커널과 대역폭은 구현 선택이므로 공개해야 하며, 선호하는 p값을 얻도록 조정하지 말고 예측 설계에 맞춰야 합니다. 더 넓은 공분산 추정 문제는 HAC 표준오차 안내를 참고하세요
일정한 정규 조건 아래 표준 DM 통계량은 점근적으로 표준정규분포와 비교합니다. 절댓값이 크면 추정된 불확실성에 비해 관측 평균 손실차가 크다는 뜻입니다. 통계량의 부호는 정한 손실 순서에서 어느 쪽의 손실이 낮은지를 보여주지만, p값은 차이의 크기나 경제적 가치를 측정하지 않습니다. p값은 귀무가설이 참일 확률도, 미래에 예측이 성공할 확률도 아닙니다. 이 구분은 p값 안내에서 설명합니다
여러 기간 앞의 예측은 겹치며 표본 보정도 필요할 수 있습니다
매 시점에 여러 기간 앞의 값을 예측하면 평가 구간이 겹칩니다. 매월 앞으로 3개월 누적수익률을 예측한다고 해보세요. 한 달 뒤에 발행한 다음 예측도 직전 예측과 3개월 중 2개월을 공유합니다. 월별 수익률이 서로 독립이어도 이런 중첩 때문에 예측오차와 손실차에 자기상관이 생길 수 있습니다
기본적인 h기간 예측 설계에서는 적어도 h−1 시차까지의 의존성을 분산 계산에 반영할 필요가 있습니다. 하지만 이를 모든 사례의 대역폭 공식으로 쓸 수는 없습니다. 이동 재추정, 지속성 있는 목표값, 변동성 군집, 선택한 손실함수가 더 긴 의존성을 만들 수 있습니다. 예측 기간, 발행 간격, HAC 절단 시차나 다른 분산 추정 방식을 택한 이유를 기록하세요. 예측 행 수가 그대로 독립된 증거의 수가 되는 것은 아닙니다
원래의 점근 검정은 중간 크기 표본에서 실제 유의수준과 맞지 않을 수 있습니다. Harvey, Leybourne, Newbold는 평균제곱 예측오차 비교를 위해 유한표본 수정 방법을 제시했습니다 (HLN, 199700719-4)). h기간과 예측치 T개를 사용하는 흔한 형태는 DM 통계량에 다음 계수를 곱합니다
$$ DM_{HLN}=DM\sqrt{\frac{T+1-2h+h(h-1)/T}{T}} $$
수정된 통계량은 보통 자유도 T−1인 t분포와 비교합니다. 예를 들어 T=60, h=5이면 곱하는 계수는 약 0.925입니다. 이는 보정 계수의 산술만 보여주는 가상 예시이며, 60개 관측치가 특정 모형에 충분하다거나 가정이 맞다는 뜻은 아닙니다. 이 보정은 정해진 표본 보정 문제를 다루지만 정보 누출, 잘못된 목표값, 모형 선택 반복, 누락된 의존성, 손실함수의 부적합을 고쳐주지는 않습니다
중첩 모형은 다른 예측 비교 논리가 필요합니다
모형 B에 모형 A의 모든 변수가 포함될 수 있습니다. 예컨대 B가 A에 추가 설명변수를 더한 형태입니다. 추가 변수의 모집단 예측값이 0이라는 귀무가설 아래에서도 추정한 계수는 B의 예측에 잡음을 더할 수 있습니다. 그러면 추가 변수가 실제 예측 과정에 가치를 보태지 않았는데도 큰 모형의 관측 평균제곱오차가 더 클 수 있습니다. 비중첩 경쟁 모형을 위해 만든 동일 정확도 논리를 그대로 적용해도 되는 것은 아닙니다
Clark과 West는 중첩 모형 비교에서 큰 모형의 추정 잡음을 조정한 제곱오차 비교와 점근 정규 검정을 설명합니다 (Clark and West, 2007). 이 조정은 모든 DM 검정을 대체하는 만능 방법이 아닙니다. 특정한 중첩 모형 질문, 손실함수, 점근 설정에 맞춰 설계된 방법입니다. 한 모형이 다른 모형에 포함되는지 확인하고 그 구조에 맞는 검정을 선택하세요. 소프트웨어에서 나온 기본 DM p값이 모든 모형 관계를 다룬다고 가정하면 안 됩니다
예측 정확도의 다른 측면도 구분해야 합니다. 평균제곱오차가 낮은 예측이 구간 포함률, 확률 보정, 방향 적중률, 후속 의사결정까지 개선하지는 않을 수 있습니다. 표본 외 예측을 했더라도 모형 개발 중 검증 구간을 계속 들여다봤다면 독립된 최종 검증이라고 부르기 어렵습니다. 두 모형의 포함 관계, 추정 방식, 예측 기간, 각 예측을 만들 때 사용한 자료 범위를 함께 밝히세요
예측 정확도와 매매 우위는 다른 결과입니다
DM 결과는 예측 손실을 평가합니다. 매매 의사결정은 수익과 위험을 평가합니다. 다음 기간 수익률의 평균제곱오차가 낮다고 해서 매매 방향을 충분히 잘 맞히거나, 포지션을 알맞은 크기로 잡거나, 회전율과 스프레드, 시장충격, 수수료, 차입·펀딩비, 체결 지연을 견딘다는 보장은 없습니다. 반대로 평균제곱오차가 조금 높아도 전략이 큰 비중을 둔 상황에서 더 유용한 예측을 할 수 있습니다. 그런 주장의 손실함수는 편리한 일반 예측 지표가 아니라 실제 의사결정의 목적에 맞아야 할 수도 있습니다
통계적으로 유의한 차이가 있어도 경제적 크기가 매우 작을 수 있습니다. 승패 표시나 p값만 보고하지 말고 해석 가능한 단위로 평균 손실차의 크기도 제시하세요. 포트폴리오 성과가 주장이라면 이후 자료에서 고정된 의사결정 절차 전체를 현실적인 매매 가정과 함께 평가하고 순성과를 따로 보고해야 합니다. DM은 입력한 손실이 매매 결과를 반영하도록 직접 설계되지 않는 한 그런 손익을 계산하거나 비용을 반영하지 않습니다
이 검정은 여러 모형, 목표 기간, 손실함수, 날짜 구간, 매매 규칙을 검색한 뒤 가장 좋은 비교만 보고하는 문제도 해결하지 않습니다. 쌍별 검정을 반복하면 별도의 선택 편향이 생깁니다. 연구 기록을 보존하고 주장한 후보군에 맞는 다중검정 방법을 적용하세요. 다중검정과 거짓발견율 안내는 넓은 검색 뒤에 일반적인 유의수준을 그대로 읽으면 왜 오해할 수 있는지 설명합니다. DM은 데이터 스누핑 보정이 아니라 예측 비교 도구입니다
재현 가능한 비교를 위해 설계와 결과를 함께 보고합니다
명확한 보고에는 예측 대상, 단위, 정보 기준 시각, 예측 시점, 기간, 재추정 일정, 공통 평가 표본이 포함됩니다. 손실함수와 $d_t$의 부호 정의, 각 모형의 평균 손실과 평균 차이, 미리 정한 단측 또는 양측 가설을 제시하세요. 분산 추정량, 커널, 대역폭, 검정통계량, 기준 분포, p값, 적절한 신뢰구간이나 불확실성도 밝혀야 합니다
모형의 포함 관계, 결측 결과와 극단값 처리법, 검토한 대안 사양의 수, 평가 구간을 모형 선택에 사용했는지도 적으세요. 기준을 통과했는지만 보여주지 말고 차이의 크기도 설명하세요. 시간에 따른 $d_t$나 누적 손실차를 그리면 전체 평균에 가려진 국면 변화를 볼 수 있습니다. 다만 그림만으로 의존성을 고려한 추론을 대신할 수는 없습니다
퀀트 매매에서는 예측을 실제 행동으로 바꾸는 방법도 연결해야 합니다. 신호 임계값, 포지션 크기, 재조정 시점, 위험 한도, 주문가격과 비용 가정을 기록하세요. DM 검정은 입력한 예측 손실 시계열만 비교합니다. 자료 파이프라인을 인증하거나 서로 다른 평가 표본을 비교 가능하게 만들거나 인과관계를 증명하거나 과거 순위가 계속 유지된다고 약속하지 않습니다. 시간 순서를 지킨 평가 설계와 의사결정 수준의 분석에 더해, 재현 가능한 모형 비교의 한 부분으로 사용하세요
자주 묻는 질문
Q1Diebold–Mariano 검정은 모형 계수를 비교하나요?
아닙니다. 동일한 결과에 대해 두 예측 절차가 만든 오차의 기대 손실을 비교합니다. 계수검정은 모형의 매개변수에 관한 다른 질문을 다룹니다
Q2여러 기간 앞의 예측에도 사용할 수 있나요?
가능하지만 목표 구간이 겹치면 연속한 손실차가 시계열 의존성을 가질 수 있습니다. 예측 기간과 모형 설계에 맞는 분산 추정 및 필요한 표본 보정을 사용하고 선택을 기록하세요
Q3유의한 결과는 더 나은 예측이 매매 이익을 낸다는 뜻인가요?
아닙니다. 주어진 설계와 손실함수에서 예측 손실이 다르다는 근거입니다. 수익성은 예측을 포지션으로 바꾸는 방법, 감수하는 위험, 실제 체결과 거래비용에도 달려 있습니다
출처와 더 읽을 자료
내용 정정 제보
이 아티클 링크를 담은 이메일 초안을 준비합니다. 직접 보내야 Mark에 제보가 접수됩니다
QUICK CHECK
글을 다 읽었다면, 3문항으로 확인해보세요
Question 01
기본적인 Diebold–Mariano 비교의 귀무가설은 무엇인가요?
정답을 고르면 바로 설명을 볼 수 있어요