Diebold–Mariano 검정: 두 예측의 정확도 비교 방법
Diebold–Mariano 검정으로 예측 손실 차이를 비교하는 방법, 겹치는 다기간 예측의 자기상관 처리, 거래 성과 해석의 한계를 살펴봅니다.
이 글에서 다루는 내용백테스트 오차가 더 작다고 우수한 예측이라고 단정할 수는 없습니다
짧은 요약
Diebold–Mariano 검정은 같은 결과값을 예측한 두 모형의 손실 차이를 시점별로 비교합니다. 결과는 어떤 손실함수를 선택했는지, 평가 시점과 예측 기간이 어떻게 정렬되는지, 손실 차이의 불확실성을 어떻게 계산했는지에 따라 달라집니다. 표본의 오차가 작다는 사실만으로 더 정확한 모형이라고 단정할 수 없고, 예측 정확도가 높아져도 거래전략의 수익성이 입증되는 것은 아닙니다.
백테스트 오차가 더 작다고 우수한 예측이라고 단정할 수는 없습니다
두 모형이 같은 기간의 수익률, 변동성, 거시지표 등을 예측한다고 가정해 보겠습니다. 평가표에서 A의 평균 오차가 B보다 작을 수 있습니다. 이는 해당 표본에서 관측된 차이를 설명하지만, 그 차이가 반복해서 나타날 정도로 안정적인지, 아니면 우연히 선택된 날짜들이 만든 결과인지는 말해 주지 않습니다.
Diebold–Mariano(DM) 검정은 이 질문을 시점별 손실 차이의 시계열로 바꿉니다. 각 예측 시점에서 두 예측값을 같은 실현 결과와 비교하고, 미리 정한 손실함수로 점수화한 다음, 손실 차이가 시간에 따라 어느 쪽에 유리하게 나타나는지 살핍니다. 같은 날짜의 결과를 짝지어 비교하기 때문에 시장 급변일에 두 모형의 손실이 함께 커지는 공통 효과와, 한 모형이 상대적으로 더 크게 틀리는 현상을 구분할 수 있습니다.
원래의 DM 틀은 제곱오차나 정규분포를 전제로 한 검정에 한정되지 않습니다. 예측 질문과 잘 맞는 손실함수라면 비대칭 손실도 비교할 수 있습니다. 다만 비교 표본을 정당하게 설계하고 평균 손실 차이의 불확실성을 추정해야 합니다. Diebold와 Mariano(1995)는 두 예측의 정확도가 같은지 검정하는 방법을 제시했고, Harvey, Leybourne, Newbold(1997)00719-4)는 소표본 보정을 분석했습니다.
통계를 계산하기 전에 같은 조건의 예측끼리 맞춥니다
자료의 각 행은 서로 비교할 수 있는 하나의 예측 시점을 나타내야 합니다. 두 모형이 같은 목표변수와 예측기간을 대상으로, 각 시점에 이용 가능했던 정보만 사용해 만든 예측이어야 합니다. 실현값, 시각, 통화나 단위, 자료의 개정 시점, 결측 관측 처리도 일치시킵니다. 한 모형은 다음 날 종가를 예측하고 다른 모형은 향후 5일 평균을 예측한다면 두 오차는 서로 다른 질문에 답합니다.
미래 정보가 섞이지 않은 예측을 사용합니다. 시간순 홀드아웃이나 롤링 방식의 표본외 평가가 이런 설계를 도울 수 있지만, 같은 홀드아웃 결과를 보고 특성, 임계값, 모형 후보를 계속 고쳤다면 분리만으로 충분하지 않습니다. 각 과거 시점에 실제로 만들어진 예측과 그때 사용한 자료 및 모형 버전을 보존해야 합니다. 개정된 거시자료, 생존편향 제거 필터, 미래 기업행동을 반영한 수정값을 나중에 과거 입력처럼 쓰면 평가 결과가 사후적으로 달라질 수 있습니다.
두 모형은 같은 예측 시점 집합으로 평가합니다. 한쪽 모형에서 어려운 날짜만 제외하면 짝지은 비교가 깨집니다. 예측 누락이 있다면 공통 표본을 사용하거나 결측 예측을 다룰 근거를 밝히고, 모형마다 서로 다른 시장 국면을 비교하지 않도록 합니다. 어느 표본 구간에서 원하는 결론이 나오는지 살핀 뒤 시작일과 종료일을 골라서는 안 됩니다.
손실함수가 ‘더 정확하다’의 뜻을 정합니다
시점 t의 실현값을 yₜ, 모형 A와 B의 예측을 ŷA,ₜ와 ŷB,ₜ라고 하겠습니다. 오차는 eA,ₜ = yₜ − ŷA,ₜ, eB,ₜ = yₜ − ŷB,ₜ입니다. 손실함수 L은 각 오차에 낮을수록 좋은 점수를 부여합니다. 제곱손실 L(e) = e²은 큰 오차에 더 큰 벌점을 줍니다. 절대손실 L(e) = |e|은 오차 크기에 비례해 증가합니다. 분위수 예측에서는 과소·과대 예측의 비용이 다를 수 있으므로 비대칭 핀볼 손실을 쓸 수 있습니다.
어떤 점수를 고르는지에 따라 우수해 보이는 모형이 달라질 수 있습니다. 단위를 동일하게 맞춘 두 번의 가상 오차를 보겠습니다. A의 오차가 0과 2이고, B의 오차가 1과 1이라면 평균 제곱손실은 각각 2와 1이므로 B가 낮습니다. 절대손실은 두 모형 모두 평균 1입니다. 어느 계산이 항상 옳은 것은 아닙니다. 오차 중 무엇을 중요하게 볼지 서로 다른 질문을 던집니다.
수익률 예측의 조건부 평균을 볼 때 제곱오차가 유용할 수 있지만, 변동성 예측에는 목표에 맞는 별도 점수가 필요합니다. VaR 같은 분위수 예측에는 분위수 손실이나 위험에 맞춘 백테스트가 더 적절할 수 있습니다. 승자를 확인한 뒤 손실함수를 고르면 검정이 또 다른 탐색이 됩니다. 비교를 보기 전에 사용할 점수와 더 나은 쪽의 부호를 정해 두어야 합니다.
VaR 예측은 일반적인 점예측이 아니라 손실분포의 꼬리 분위수를 대상으로 합니다. VaR 백테스트 안내는 이처럼 별도의 위험예측에서 예외 빈도와 발생 순서를 어떻게 점검하는지 설명합니다.
시점별 손실 차이를 만들고 귀무가설을 명시합니다
낮은 손실이 좋은 손실함수라면 시점 t의 차이를 다음과 같이 둡니다.
dₜ = L(eA,ₜ) − L(eB,ₜ)
이 부호 규칙에서는 dₜ가 양수일 때 A의 손실이 더 커서 B가 해당 시점에서 유리하고, 음수일 때는 A가 유리합니다. 표본 평균은 d̄ = (1/n) Σ dₜ입니다. 두 모형의 평균 손실이 같다는 무조건부 귀무가설은 E[dₜ] = 0입니다. 양측 대립가설은 어느 쪽이든 평균 손실이 다른지 묻습니다. 사전에 정한 단측 가설은 특정 모형의 평균 손실이 낮은지 검정할 수 있습니다.
기본 통계량은 다음과 같습니다.
DM = d̄ / √(Ŝd / n)
Ŝd는 두 모형 각각의 오차분산이 아니라 손실차 시계열의 장기분산을 추정합니다. 귀무가설 아래 적절한 정규조건이 성립하면 통계량은 점근적으로 표준정규분포를 따릅니다. 위 부호 규칙에서 큰 양수는 B, 큰 음수는 A 쪽에 유리합니다. p값은 정한 귀무가설과 표본추출 가정에 자료가 얼마나 부합하는지를 표현할 뿐, 어느 모형이 참일 확률을 뜻하지 않습니다.
시점별 차이를 짝지으면 두 모형의 전체 오차 크기 차이를 비교에서 일부 통제할 수 있지만, 손실차 시계열이 독립적으로 바뀌는 것은 아닙니다. 모수 추정의 불확실성이 자동으로 사라지지도 않고, 여러 목표와 설정 중 반복해서 고른 과정도 보정하지 않습니다. 이런 문제는 자료와 검정 설계에 별도로 반영해야 합니다.
단일 기간 예측의 예시로 표본 차이와 근거를 구분합니다
서로 짝지은 가상 1기간 예측이 100개 있다고 가정하겠습니다. 제곱 퍼센트포인트 단위로 A의 평균 제곱손실은 0.26, B는 0.23입니다. 평균 손실 차이는 d̄ = 0.26 − 0.23 = 0.03으로, 표본에서는 B가 더 낮습니다. 산술을 간단히 보이기 위해 손실 차이의 추정 장기분산이 0.04이고 시점 사이 자기공분산은 없다고 가정합니다.
평균 차이의 표준오차는 √(0.04 / 100) = 0.02입니다. 보정 전 검정통계량은 0.03 / 0.02 = 1.50입니다. 예측기간 h = 1, 관측 수 T = 100일 때 Harvey–Leybourne–Newbold 소표본 보정계수는 √[(T + 1 − 2h + h(h − 1)/T) / T] = √0.99 ≈ 0.995입니다. 이를 곱한 통계량은 약 1.49이고, 자유도 t₉₉를 기준으로 한 양측 p값은 약 0.14입니다.
B의 관측 평균 제곱오차가 낮지만, 이 예시는 통상적인 유의수준에서 같은 기대 정확도라는 가설을 기각할 강한 근거를 제공하지 않습니다. 기각하지 못했다고 두 모형의 정확도가 같다고 증명된 것은 아닙니다. 기각하더라도 선택한 점수, 시점, 가정에 조건부인 결론입니다. 손실과 분산 값은 계산 방법을 설명하기 위한 가상 입력이며 실증 결과가 아닙니다.
이 두 평균 제곱오차의 제곱근인 RMSE는 각각 약 0.510과 0.480퍼센트포인트로, 표본에서 약 0.030포인트 차이가 납니다. 다만 DM 통계량은 두 제곱근의 차이를 직접 검정하는 것이 아니라 시점별 제곱손실 차이를 사용합니다.

겹치는 예측기간에서는 손실 차이의 의존성을 반영합니다
매일 5일 뒤를 예측하면 이웃한 예측 두 개는 목표로 삼는 5일 중 4일을 공유합니다. 오차와 손실, 손실 차이가 함께 움직일 수 있습니다. 이를 100개의 독립 비교처럼 다루면 평균 손실의 불확실성을 작게 추정해 검정통계량이 실제보다 커 보일 수 있습니다.
장기분산은 dₜ의 시차별 자기공분산을 반영합니다. 이분산·자기상관에 강건한 대표 추정량은 다음 형태를 갖습니다.
Ŝd = γ̂₀ + 2 Σₖ₌₁ᵐ wₖ γ̂ₖ
여기서 γ̂ₖ는 시차 k에서의 표본 자기공분산이고, wₖ는 커널 가중치, m은 선택한 대역폭입니다. Newey와 West(1987)는 양의 준정부호를 보장하는 HAC 공분산 추정량을 제시했습니다. 적절한 가정 아래 최적의 h기간 예측오차가 MA(h − 1)를 따르는 경우에는 최소한 h − 1시차까지 의존이 나타날 수 있으며, 원래 DM 설정은 이 경우 절단 추정량을 논의합니다. 실제 자료에는 지속성이 큰 목표변수, 롤링 추정, 전략 구성 때문에 더 긴 의존이 있을 수 있으므로 h − 1이 언제나 맞는 대역폭은 아닙니다.
예측기간, 커널, 대역폭, 소표본 보정 여부를 보고합니다. 선호하는 p값을 얻으려고 대역폭을 고르기보다 타당한 의존성 설정에서 결론이 얼마나 달라지는지 제시합니다. 겹침이 없도록 예측 시작점을 띄웠다면 그 사실과 줄어든 표본 또는 정보의 손실을 함께 설명해야 합니다. 의존성을 고려한 불확실성 추정은 선택적 표시 기능이 아니라 검정의 일부입니다.
중첩모형과 시기별 예측력에는 다른 검정 질문이 있습니다
귀무가설 아래 두 모형이 서로 중첩되지 않는 비교에서는 기본 DM 해석이 비교적 단순합니다. 큰 모형이 작은 기준 모형을 포함한다면, 귀무가설이 참이어도 추가로 추정한 계수가 표본오차를 더할 수 있습니다. 그러면 평균 제곱오차 차이의 표준 귀무분포가 달라질 수 있습니다. 중첩모형의 표본외 MSPE 비교에는 이런 추정 잡음을 조정하는 Clark–West 방식이 쓰이지만, 모든 설계에서 DM을 대체하는 일반 공식은 아닙니다. 자세한 내용은 Clark와 West(2007)를 참고할 수 있습니다.
일반적인 DM 귀무가설은 평가 표본 전체에서 평균 손실이 같은지 묻습니다. A가 안정기에는 유리하고 B는 변동성이 큰 시기에 유리해도 전체 평균은 비슷할 수 있습니다. 예측 시점에 알 수 있었던 정보에 따라 상대 정확도가 달라지는지가 질문이라면, 조건부 예측 능력 검정은 손실 차이와 사전에 정한 도구변수를 함께 사용합니다. Giacomini와 White(2006)는 이러한 틀을 제시합니다. 이 검정도 평가창 설계와 가정이 중요하므로, 결과를 확인한 뒤 임의의 변수를 덧붙이는 지름길로 쓸 수 없습니다.
비교 구조가 무엇인지 먼저 정해야 합니다. 비중첩 예측 비교, 중첩모형, 조건부 예측력, 많은 후보 중 고른 모형은 같은 문제가 아닙니다. 후자의 다중 탐색은 White Reality Check와 Hansen SPA 검정 안내에서 별도로 다룹니다.
예측 손실이 낮아져도 거래 수익이 입증되지는 않습니다
예측이 통계적으로 더 정확해져도 순거래 성과가 개선되지 않을 수 있습니다. 예측값을 포지션으로 바꾸는 규칙, 거래 시점, 호가 스프레드, 수수료, 슬리피지, 시장충격, 펀딩, 차입비용, 위험한도를 거쳐야 합니다. 평균 제곱오차의 작은 개선은 실제 의사결정에 영향을 주지 않을 수도 있고, 평균 오차가 조금 더 큰 모형이 특정 규칙에 중요한 꼬리 사건을 더 잘 포착할 수도 있습니다.
예측 평가와 포트폴리오 평가는 서로 다른 단계로 둡니다. 먼저 목표변수와 손실을 예측 질문에 맞추어 평가합니다. 다음으로 예측에서 포지션을 정하는 완전한 전략을 표본 밖 자료에서 검증하고, 현실적인 체결·금융 가정을 반영합니다. 예측 검정의 p값은 백테스트 수익률, 샤프비율, 미래 수익의 확률이 아닙니다.
여러 모형, 목표, 예측기간, 손실함수, 표본구간을 반복해서 시험하면 각각의 DM 계산이 맞더라도 선택 편향이 남습니다. 탐색한 전체 후보를 기록하고, 질문이 그 중 하나라도 남았는지를 묻는다면 계열 전체를 위한 방법을 사용합니다. 블록 부트스트랩 안내는 사전에 정한 통계량의 시계열 의존을 보존하는 불확실성 추정을 다룹니다. 기록되지 않은 모형 탐색에 대한 보정까지 대신하지는 않습니다.
다른 연구자가 재현할 수 있도록 비교 조건을 보고합니다
두 모형의 이름과 기준모형 관계, 목표변수, 예측기간, 예측 시작점 간격, 평가일, 정보집합, 자료 개정 시점, 공통 표본 규칙을 밝힙니다. 손실함수를 식으로 정의하고, 양의 dₜ가 어느 모형에 유리한지 적습니다. 표본 수 n, 두 모형의 평균손실, d̄, 장기분산 추정량, HAC 커널과 대역폭, 소표본 보정, 참조분포, 단측·양측 여부, p값도 보고합니다.
모형이 중첩되는지, 모수를 어떻게 추정했는지, 비교 대상을 결과 확인 전후 어느 시점에 골랐는지, 다른 후보를 얼마나 시도했는지도 남깁니다. 모형 선택에 쓴 표본으로 계산했다면 이를 독립된 표본외 근거라고 부르지 말고 탐색 과정의 일부로 표시합니다. 이렇게 기록하면 어떤 예측을 어떻게 비교했는지, 남은 불확실성과 선택 문제가 무엇인지 독자가 확인할 수 있습니다.
자주 묻는 질문
Q1Diebold–Mariano 검정은 예측오차의 정규분포를 가정하나요?
아닙니다. 정규분포가 아닌 오차도 검정 틀에서 다룰 수 있습니다. 다만 손실차의 분산을 적절히 추정하고 참조분포를 뒷받침하는 정규조건이 필요합니다.
Q2서로 다른 기간을 예측하는 두 모형을 비교해도 되나요?
동일한 정확도 비교로 해석하기 어렵습니다. 목표와 예측기간을 먼저 맞춰야 합니다. 그렇지 않으면 두 모형이 서로 다른 예측 질문에 답합니다.
Q3유의한 DM 결과만으로 거래 모형을 선택할 수 있나요?
그렇지 않습니다. 정해진 비교에서 기대 예측손실이 다르다는 근거입니다. 모형 탐색, 의사결정 규칙, 체결·금융 비용, 표본외 전략 성과는 별도로 살펴야 합니다. 주요 연구 - Diebold와 Mariano, “Comparing Predictive Accuracy” (1995) - Harvey, Leybourne, Newbold, “Testing the Equality of Prediction Mean Squared Errors” (1997)00719-4) - Giacomini와 White, “Tests of Conditional Predictive Ability” (2006) - Clark와 West, “Approximately Normal Tests for Equal Predictive Accuracy in Nested Models” (2007) - Newey와 West, “A Simple, Positive Semi-Definite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix” (1987)
출처와 더 읽을 자료
내용 정정 제보
이 아티클 링크를 담은 이메일 초안을 준비합니다. 직접 보내야 Mark에 제보가 접수됩니다
QUICK CHECK
글을 다 읽었다면, 3문항으로 확인해보세요
Question 01
dₜ = L(eA,ₜ) − L(eB,ₜ)로 정의했을 때 표본 평균이 양수이면 어느 쪽에 유리한가요?
정답을 고르면 바로 설명을 볼 수 있어요