予測を誠実に採点する
予測の価値は、見ていないデータでの成績で決まります。時系列での誠実な手順はウォークフォワードです。過去でモデルを当てはめ、次の値(またはブロック)を予測し、誤差を記録し、窓を進めて繰り返します。観測をシャッフルしたりランダムに分割したりしてはいけません。予測する日より後の日で学習したモデルは未来を覗いているからです。予測誤差は et=yt−y^t です。よく使う指標は平均絶対誤差 MAE=n1∑∣et∣ と、大きな誤差をより強く罰する二乗平均平方根誤差 RMSE=n1∑et2 です。
RMSE=n1t∑et2,LQLIKE=htσ~t2−lnhtσ~t2−1,ROOS2=1−∑(etB)2∑(etM)2,DM=se(dˉ)dˉ(1) 分散は観測されないので、ボラティリティ予測 ht は、リターンの二乗や実現分散といった代理 σ~t2 に対して採点します。代理にはノイズがあるため、損失関数は慎重に選ぶ必要があります。分散への二乗誤差は少数の大きな日に支配されますが、QLIKE、L=σ~2/h−ln(σ~2/h)−1 は頑健で、同じ倍率の過大予測より分散の過小予測により重い罰を課します。必ず、昨日の値や過去平均といった単純なベンチマークと比べます。標本外 ROOS2 は誤差二乗和を比べ、モデルがベンチマークに勝ったときだけ正になります。損失の差が本物か偶然かは Diebold-Mariano 統計量で判断します。dt を2つのモデルの損失差とすると、DM=dˉ/se(dˉ) はほぼ標準正規なので、∣DM∣>1.96 なら5%水準で有意です。複数ステップ先の予測では dt が重なるので、標準誤差は自己相関を考慮する必要があります。同じテストデータで多くのモデルから最良を選ぶと、その腕前は過大評価されます。
誤差と分散の損失4つの予測誤差
1,−2,0,3 から
MAE=6/4=1.5、
RMSE=(1+4+0+9)/4=3.5≈1.87 となり、3という1つの誤差が RMSE を MAE より押し上げます。ボラティリティ予測では、代理の分散を
4 とします。
h=2(半分)と予測すると QLIKE は
2−ln2−1≈0.31、
h=8(2倍)と予測すると
0.5−ln0.5−1≈0.19 です。同じ倍率の誤差でも分散を過小予測したときのほうが重く罰せられ、これはリスク枠にとって危険な方向です。誤差二乗和が
80 のモデルとベンチマークの
100 を比べると、
ROOS2=1−80/100=0.20 です。
- ウォークフォワード:過去で当てはめ、次のブロックを予測し、前に進む。時系列は決してシャッフルしない。
- QLIKE は分散予測に頑健で、過小予測をより強く罰する。単純なベンチマークと比べる。
- Diebold-Mariano:DM=dˉ/se(dˉ) は2つの予測が本当に違うかを検定する。∣DM∣>1.96 なら有意。
ラボ:採点される内容
- 平均絶対誤差10点
- 二乗平均平方根誤差15点
- QLIKE損失15点
- 標本外R二乗15点
- Diebold-Mariano統計量10点
- なぜシャッフルしないのか10点
- 用語を結び付ける15点
- 単純なベンチマークに勝つ10点