Skip to content
所有選擇權指南
預測評估14 min read

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

了解 Diebold–Mariano 檢定如何比較成對預測損失、處理重疊預測期,以及為何較低的 p 值不能證明交易能力。

本指南內容回測誤差較低,還不足以證明預測較好

簡短摘要

Diebold–Mariano 檢定會比較兩個預測在相同實際結果上的損失差異。結果取決於損失函數、評估樣本、預測期間,以及不確定性的估計方式。樣本誤差較低本身並不能證明期望預測準確度較高;預測較準確也不等於交易策略能獲利。

回測誤差較低,還不足以證明預測較好

假設兩個模型在相同日期預測同一個報酬率、波動度或經濟變數。在評估樣本中,模型 A 的平均誤差低於模型 B。這只描述該樣本觀察到的差異,不能說明 A 是否穩定地更準,也無法排除差距是由剛好納入測試的日期所產生的一般波動。

Diebold–Mariano(DM)檢定會將比較轉換為一組成對時間序列。在每個預測起點,兩個預測都會與同一個實際值比較,使用事先選定的損失函數評分,再檢視損失差序列。成對比較很重要:市場波動較大的某一天可能同時提高兩個模型的損失;這項比較要問的是,在同一天上,哪個模型通常損失較少。

原始架構不限於平方誤差,也不要求預測誤差服從常態分配。只要評分符合預測問題,就能比較不同損失函數,包括非對稱損失。不過,仍需要合理的評估設計,並估計平均損失差的不確定性。Diebold 與 Mariano(1995)提出預測準確度相等檢定;Harvey、Leybourne 與 Newbold(1997)00719-4)則研究小樣本修正。

計算統計量前,先確保比較條件一致

每一列都應代表一個可比較的預測起點。兩個模型必須預測相同目標、相同期間,並只使用該起點當時已知的資訊。比較損失前,請對齊實際值、時間戳記、幣別或衡量單位、資料版本和缺漏值規則。如果一個模型預測隔日收盤價,另一個預測未來五日的平均值,兩者的誤差回答的是不同問題。

請使用沒有偷看未來資訊所產生的預測。依時間順序保留測試資料,或採用滾動式偽樣本外設計,可能有助於達成這點;但若同一測試資料被反覆用來調整特徵、門檻或模型變體,單靠切分資料並不足夠。保存每個歷史起點實際產生的預測,以及當時使用的資料與模型版本。否則,事後修訂的總體經濟資料、存活者篩選,或依據未來公司行動所作的調整,都可能回頭改變評估結果。

兩個模型應以同一組預測起點進行評估。只替其中一個模型排除較困難的日期,會破壞成對比較。若有預測缺漏,請採用共同樣本,或說明處理缺漏預測的理由;不要悄悄讓模型面對不同的市場情勢。應在查看哪個樣本會得到偏好結果之前,先訂定評估區間的起訖日期。

損失函數決定「更準確」的意義

令 t 時點的實際值為 yₜ,模型 A 和 B 的預測分別為 ŷA,ₜ 與 ŷB,ₜ。誤差為 eA,ₜ = yₜ − ŷA,ₜ 與 eB,ₜ = yₜ − ŷB,ₜ。損失函數 L 會將每個誤差轉成一個分數,分數越低越好。平方損失 L(e) = e² 對較大的誤差懲罰較重;絕對損失 L(e) = |e| 則隨誤差大小線性增加。分位數預測可以使用非對稱的 pinball 損失,因為高估與低估的成本可能不同。

選擇的評分方式可能改變看起來較好的模型。假設兩組誤差使用相同單位:模型 A 的誤差是 0 和 2;模型 B 的誤差是 1 和 1。採用平方損失時,平均損失分別是 2 和 1,因此 B 的評分較好。採用絕對損失時,兩個模型的平均值都是 1。沒有哪一種計算在所有情況下都最正確;不同評分回答的是哪些誤差更重要。

對報酬率預測而言,平方誤差可能適用於條件平均數預測;波動度預測需要符合目標的評分,而 Value-at-Risk(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 值衡量資料與指定的虛無假設及抽樣假設有多相容,不代表其中一個模型為真的機率。

成對差異能在一定程度上消除兩個模型整體誤差尺度中不相關的差異,範圍取決於各期差值能反映多少。它不會讓損失序列變成獨立,不會自動納入參數估計的不確定性,也不會修正搜尋多個目標與設定造成的影響。這些事項應在研究設計和不確定性計算中另外處理。

單步範例:區分樣本差異與證據

假設有 100 組配對的假設單步預測。以百分點平方為單位,模型 A 的平均平方損失為 0.26,模型 B 為 0.23。因此平均差 d̄ = 0.26 − 0.23 = 0.03,樣本結果有利於 B。對應的均方根誤差(RMSE)約為 0.510 與 0.480 個百分點,描述性差距約為 0.030。不過,DM 統計量檢定的是成對平方損失差,不是兩個平方根之間的差。為了簡化這個教學範例,假設 dₜ 的估計長期變異數為 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 的觀察平均平方誤差較低,但此範例沒有提供足夠強的證據,無法在一般顯著水準下拒絕期望準確度相等的假設。未能拒絕不代表證明兩個模型一樣準確;即使拒絕,結論仍取決於選定的評分、預測起點和假設。這裡的變異數與所有損失值都是用於說明的假設輸入,不是實證結果。

三欄概念示意圖:兩條預測線與同一條實際路徑對照,依預測起點標示成對損失,再以附有不確定性範圍的長條圖顯示圍繞平均值的正負損失差。圖中沒有文字或數字,也不代表真實市場資料。
示意圖呈現 DM 比較的流程:共用同一條實際序列、逐一配對預測損失,再檢視圍繞平均值並附有不確定性的正負差異。這是概念圖,不是實證檢定結果。

重疊預測期間會讓損失差彼此相依

如果每天都發布五日後的預測,相鄰預測會共用五個目標日中的四天。因此,誤差、損失和損失差可能一起變動。若把每日 100 個預測起點當成 100 次獨立比較,可能會低估不確定性,使統計量看起來偏大。

長期變異數會納入 dₜ 的序列共變異。常見的異質變異與自我相關一致(HAC)估計式如下:

Ŝd = γ̂₀ + 2 Σₖ₌₁ᵐ wₖ γ̂ₖ

其中 γ̂ₖ 是 d 在第 k 階落後期的樣本自共變異,wₖ 是核權重,m 是選定的頻寬。Newey 與 West(1987)提出一種正半定的 HAC 共變異數估計量。在相關假設成立時,理想的 h 步預測誤差因重疊通常至少會相依到 h − 1 階落後期;原始 DM 架構針對此情況討論了截斷估計。實際資料可能因目標具有持續性、採用滾動估計或策略建構而有更長的相依性,因此 h − 1 不是通用的頻寬規則。

請說明預測期間、核函數、頻寬及是否採用小樣本修正。不要只為了得到偏好的 p 值而挑選頻寬;請呈現合理的相依設定下,結論是否會改變。如果拉開預測起點以避免重疊,請說明這項選擇,以及因此犧牲哪些資訊或樣本數。考量相依性的變異數估計是檢定的一部分,不是可有可無的顯示設定。

巢狀模型與預測能力隨時間改變,需要不同問題

在預測準確度相等的虛無假設下,一般 DM 比較較容易用於彼此不巢狀的預測。如果較大的模型包含較小的基準模型,即使新增係數的真實值為零,額外估計的係數仍可能使預測帶有雜訊。在這個虛無假設下,常見的平均平方預測誤差差異可能不服從標準分配。比較巢狀模型的樣本外 MSPE 時,可以使用 Clark–West 修正來處理估計雜訊的影響;但它不是適用於所有模型設計的一般 DM 替代方法。請參閱 Clark 與 West(2007)。

一般 DM 虛無假設關注整個評估樣本的無條件平均損失,可能掩蓋時間變化:A 在平穩期間可能較好,B 在波動期間可能較好,但整體平均相近。若問題是相對準確度是否取決於預測日已知的資訊,條件預測能力檢定會將損失差與事先指定的工具變數搭配使用。Giacomini 與 White(2006)建立了這套架構。假設與評估期間的設計仍然重要;看過結果後任意加入指標並不是有效的捷徑。

檢定選擇應符合比較結構:獨立預測、巢狀模型、條件預測能力變化,或從眾多候選項中選出的模型群,都是不能互換的情況。對最後一種情況,White’s Reality Check 與 Hansen’s SPA 指南說明搜尋多項交易規則之後的整體修正方式。

預測損失較低,不代表策略可以獲利

預測在統計上比較準確,仍可能無法改善淨交易結果。策略必須將預測轉成部位、決定交易時機,並承擔買賣價差、手續費、滑價、市場衝擊、資金費用、借券成本和風險限制。平均報酬平方誤差略有改善,可能對決策沒有實際影響;平均誤差稍高的模型,反而可能較能辨識特定規則所關注的尾端事件。

請將預測評估和投資組合評估分成不同步驟。首先,以符合預測任務的目標和損失檢驗預測。接著,使用沒有用於選擇預測的資料,評估定義完整的交易規則,並採用實際的執行與融資假設。預測檢定的 p 值不是回測報酬、夏普比率,也不是未來獲利的機率。

反覆嘗試模型、目標、預測期間、損失函數和樣本區間會造成選擇偏誤,即使每次 DM 計算都正確。記錄完整的搜尋過程;如果研究問題是多個候選項中是否有任何一個通過搜尋,就使用整體假設族的修正方法。區塊自助法指南說明如何在保留相依性的情況下,估計事先選定統計量的不確定性;它本身無法修正未記錄的模型搜尋。

提供足夠細節,讓其他研究者可以重現

列出兩個預測模型及其與基準模型的關係、目標、預測期間、預測起點排程、評估日期、資訊集合、資料版本和共同樣本規則。以數學方式定義損失,並說明 dₜ 為正時有利於 A 還是 B。報告 n、各模型的平均損失、d̄、長期變異數估計量、HAC 核函數與頻寬、小樣本修正、參考分配、檢定方向和 p 值。

也要說明模型是否巢狀、參數如何估計、比較是在查看結果之前還是之後選定,以及另外測試過哪些變體。如果樣本曾用於模型選擇,請標示這項檢定屬於搜尋流程的一部分,不要稱為未曾使用過的樣本外證據。清楚的報告能讓讀者看出檢定實際比較的內容,以及尚未處理的變異數或選擇問題。

常見問題

Q1Diebold–Mariano 檢定要求預測誤差服從常態分配嗎?

不要求。此架構可以處理非常態的預測誤差;但仍需適當估計損失差變異數,並滿足支持參考分配的正則條件。

Q2可以比較預測期間不同的兩個模型嗎?

不應將結果解讀為相同條件下的準確度比較。請先對齊目標和預測期間,否則每個模型回答的是不同的預測問題。

Q3DM 結果達顯著,就足以選擇交易模型嗎?

不夠。這只是指定比較下期望預測損失不同的證據。仍需考量模型搜尋、決策規則、執行與融資成本,以及樣本外策略表現。 主要研究 - 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 才會收到你的回報

快速檢查

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

問題 1 / 3

問題 01

若 dₜ = L(eA,ₜ) − L(eB,ₜ),樣本平均值為正代表哪個模型較有利?

選擇答案即可查看解釋

期權術語表