Skip to content
所有選擇權指南
以相同實際結果的損失比較兩種預測13 分鐘閱讀

Diebold–Mariano 檢定:如何比較預測準確度

了解 Diebold–Mariano 檢定比較的內容、損失差與序列相關如何影響統計量,以及為什麼預測準確度不等於交易獲利。

本指南內容檢定比較的是預測的期望損失

簡短摘要

Diebold–Mariano(DM)檢定會判斷:針對相同實際結果進行配對評估時,兩種預測程序的期望損失是否相同。它使用逐期損失差的序列,因此損失函數、預測期距與日期間的相依性都會影響結果。拒絕虛無假設只能支持指定評估設計下存在差異,不能證明某個模型會持續勝出,也不能證明交易策略扣除成本後會獲利。

檢定比較的是預測的期望損失

Diebold–Mariano 檢定會比較兩個模型在相同評估日期對同一目標所做的預測。每個預測起點都必須使用相同的實際結果、預測期距與資訊截點。接著,檢定評估其中一種程序的平均損失是否系統性地異於另一種,同時允許損失差隨時間變化。

Diebold 與 Mariano 的原始論文以一般損失函數提出競爭預測具有相同預測準確度這項虛無假設的檢定,而非只限於均方誤差(Diebold and Mariano, 1995)。此處的「準確度」是指依據比較所選的損失函數,期望損失較低。它不表示預測為真、能說明因果關係、在分配各部分都校準良好,或能用於所有決策。

假設模型 A 與 B 在同一時間預測相同的未來報酬。DM 檢定不會檢驗任一模型的係數是否為零,也不會檢驗兩模型在估計樣本中的配適值是否相同。它比較兩者的預測誤差在評估樣本中依所選損失如何計分。

解讀統計量前,先明確訂定設計。預測目標、起點、期距、損失函數、缺漏結果的處理方式、重新估計時程,以及單尾或雙尾對立假設,共同決定檢定問題。若模型間的選擇不同,損失差就不再代表條件相同的比較。

定義配對預測與損失差

令 $y_t$ 為預測起點 $t$ 的實際目標值,$\hat y_{A,t}$ 與 $\hat y_{B,t}$ 分別為 A、B 模型的預測。其預測誤差為 $e_{A,t}=y_t-\hat y_{A,t}$、$e_{B,t}=y_t-\hat y_{B,t}$。對損失函數 $L$ 而言,日期 $t$ 的損失差定義為:

$$ 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))。

兩模型必須使用相同預測起點及實際結果。如果某模型剛好缺少困難日期的預測,只對該模型默默略過該日,會改變比較樣本。若實際部署會每月用新資料重新估計模型,評估預測也應依相同規則產生;固定參數的預測實驗回答的是另一個問題。[Walk-forward 驗證](/zh-TW/learn/walk-forward-validation-expanding-vs-rolling-windows-explained)說明如何依時間順序產生不使用未來資料的預測。

四個預測起點的例子說明平均差

假設有四個預測起點,目標與預測誤差都以百分點衡量。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 的 MSE 低了 0.25 平方百分點。

逐期損失差 $d_t=L(e_{A,t})-L(e_{B,t})$ 為 $[-3,3,-1,0]$,平均為 $(-3+3-1+0)/4=-0.25$,正好等於 A 的平均 MSE 減去 B 的平均 MSE。依此慣例,負號有利於 A。但這尚未說明差異是否大於抽樣雜訊;只有四組預測不足以構成有說服力的統計證據。

損失定義也會改變「較佳」的意思。另一個假設例子中,C 的絕對誤差是 $[0,0,0,3]$,D 是 $[1,1,1,1]$。採絕對損失時,C 的平均為 0.75、D 為 1,所以 C 較佳;採平方損失時,C 的平均為 2.25、D 為 1,因此換成 D 較佳。沒有先決定哪些預測錯誤較重要,檢定就無法替你解決這項分歧。

<!-- Illustration placement: after this section; text-free conceptual scene showing two forecast paths against one realized path, with visibly different miss distances and no labels or numerical claims. -->

DM 統計量以不確定性標準化平均損失差

樣本平均損失差為 $\bar d=T^{-1}\sum_{t=1}^{T}d_t$,其中 $T$ 是配對預測結果數。其標準誤取決於 $d_t$ 的長期變異數,而不只是單一日期的變異數。檢定統計量的一般形式為:

$$ DM=\frac{\bar d}{\sqrt{\widehat{\Omega}/T}} $$

$\widehat{\Omega}$ 是損失差序列長期變異數的估計值。若日期彼此獨立,依選定的估計方法,它會接近 $d_t$ 的變異數。不過預測損失常會群聚:高波動期間可能同時放大兩個模型的誤差;$h$ 期目標也可能使相鄰誤差區間共享實際報酬。忽略正向相依性可能低估標準誤,讓證據看起來比實際更強。

常見的 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 標準誤指南](/zh-TW/learn/robust-standard-errors-heteroskedasticity-hac-finance-explained)說明更廣泛的共變異數估計問題。

在符合檢定正則條件時,標準 DM 統計量會與漸近標準常態分配比較。絕對值大表示觀察到的平均損失差相對於估計不確定性較大。符號會依定義的順序指出哪個模型損失較低;p 值不衡量差異大小或經濟價值,也不是虛無假設為真的機率,更不是預測在未來奏效的機率。

多期預測會重疊,因此有限樣本的處理也很重要

若每期都預測多期後的目標,評估期間會重疊。例如,每月預測未來三個月的累積報酬,會和一個月後發布的預測共用三個月報酬中的兩個。即使月報酬彼此獨立,重疊也可能讓預測誤差與損失差出現序列相關。

在基本的 $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 個觀測對特定模型已足夠,也不表示假設成立。修正只處理特定有限樣本問題,不能補救資料洩漏、不恰當目標、未建模相依性、重複模型選擇或錯誤指定的損失函數。

嵌套模型需要不同的預測比較論證

模型 A 可能是模型 B 的受限版本,例如 B 比 A 多了預測變數。即使新增變數在虛無假設下沒有母體預測價值,估計係數仍可能讓 B 的預測加入雜訊。因此,即使額外變數沒有改善底層預測過程,較大的模型也可能有較高的觀察 MSE。原本為非嵌套模型設計的等準確度邏輯,不能直接套用而不加調整。

Clark 與 West 針對嵌套模型提出近似常態的預測精度相等檢定,並調整平方誤差比較,以反映較大模型的估計雜訊 (Clark and West, 2007)。此調整不是所有 DM 檢定的通用替代品,而是針對特定的嵌套模型問題、損失函數與漸近設定。先確認模型間的包含關係,再選用虛無分配符合設計的檢定。不要假設軟體提供的標準 DM p 值適用於所有模型關係。

其他差異也值得留意。MSE 較低的預測,不一定改善區間涵蓋率、機率校準、方向準確度或後續決策。即使比較採樣本外方式,開發模型期間反覆查看的留出集仍可能不適合作為獨立驗證。請說明模型關係、估計方式、預測期距,以及產生每個預測時使用的資料。

預測準確度不等同於交易優勢

DM 結果評估預測損失,交易決策則評估報酬與風險過程。下一期報酬 MSE 較低,不保證訊號能足夠準確地判斷交易方向、妥善設定部位,或承受換手率、價差、市場衝擊、手續費、借券成本、資金費與執行延遲。相反地,若預測在策略曝險較高時更準確,即使平均平方誤差稍高,也可能改善決策。此類主張的損失函數可能要反映實際決策,而不是方便的一般預測指標。

統計上顯著的差異在經濟上也可能很小。除了 p 值或勝出標籤,也應以可解讀的單位報告平均損失差及其不確定性。若主張投資組合績效,應在適當的後續資料上以合理交易假設重新執行整套固定決策規則,並分別呈現淨結果。除非損失明確依此設計,DM 不會計算投資組合損益或納入成本。

此檢定也不會修正研究者搜尋大量模型、目標、期距、損失函數、日期區間或交易規則,再只報告最有利比較的問題。反覆進行成對檢定會形成另一種選擇問題。保留搜尋記錄,並依主張的候選集合採用合適的多重檢定方法。[多重檢定與偽發現率指南](/zh-TW/learn/multiple-testing-false-discovery-rate-finance-explained)解釋廣泛搜尋後沿用一般門檻為何可能誤導。DM 是評估工具,不是資料窺探修正。

提供足夠細節,讓比較能被重現

清楚的報告會列出預測目標與單位、資訊截點、預測起點、期距、重新估計時程,以及共用的評估樣本。報告損失函數與 $d_t$ 的符號、每個模型的平均損失及其平均差、事先選定的單尾或雙尾假設,並提供變異數估計量、核心函數、頻寬、檢定統計量、參考分配、p 值,以及適當的信賴區間或不確定性估計。

也應揭露模型是否嵌套、如何處理缺漏結果與極端值、檢視過多少替代規格,以及評估期間是否影響模型選擇。呈現差異的大小,不要只說是否超過門檻。$d_t$ 的時間序列或累積損失差圖表可以顯示總平均遮住的市場狀態變化;但圖表不能取代考量相依性的推論。

量化交易還要交代預測如何轉為行動:訊號門檻、部位大小、再平衡時點、風險控管、執行價格與成本假設。DM 只比較輸入的預測損失序列,無法驗證資料管線、使不同評估樣本變得可比較、證明因果,或保證歷史排名延續。應將它作為模型評估中透明的一環,並搭配依時間順序建構的預測設計與明確的決策層級評估。

常見問題

Q1Diebold–Mariano 檢定會比較模型係數嗎?

不會。它比較兩種預測程序針對配對結果所產生誤差的期望損失。係數檢定探討的是模型參數,回答不同問題。

Q2可以用這項檢定比較多期預測嗎?

可以,但目標區間重疊可能讓相鄰損失差出現序列相依性。請採用符合預測期距與模型設計的變異數估計,並在適用時進行有限樣本修正,同時記錄選擇。

Q3顯著結果代表較佳預測會帶來獲利嗎?

不代表。它只支持指定評估設計下所選預測損失存在差異。是否獲利仍取決於預測如何轉成部位、承擔的風險,以及實際執行與交易成本。

資料來源與延伸閱讀

回報問題

我們會準備一封包含本文連結的電子郵件。寄出後,Mark 才會收到你的回報

快速檢查

讀完指南後,用 3 道題檢查一下

問題 1 / 3

問題 01

基本 Diebold–Mariano 比較的虛無假設是什麼?

選擇答案即可查看解釋

期權術語表