時系列予測の性能検証#
Back-testing#
同じデータセットで訓練と評価を行うこと(train error)
性能を過大評価しがち
Walk forward testing#
test setはtrain setより新しい時間軸のデータを使う。
Scikit-learnのTimeSeriesSplitみたいなやつ。
data_period = [1, 2, 3, 4, 5, 6]
Fold 0:
Train: index=[0]
Test: index=[1]
Fold 1:
Train: index=[0 1]
Test: index=[2]
Fold 2:
Train: index=[0 1 2]
Test: index=[3]
Fold 3:
Train: index=[0 1 2 3]
Test: index=[4]
Fold 4:
Train: index=[0 1 2 3 4]
Test: index=[5]
pros:
back-testingのような過大評価をする可能性は低め
cons:
サンプル数が少なくなりがち
関連文献#
Combinatorial Purged Cross-Validation (CPCV)#
組み合わせパーシング交差検証(Combinatorial Purged Cross-Validation: CPCV)
\(_M C_K\)通りのtrainとtestの組み合わせにする
データセットの部分集合の数を\(M\)とすると、そのうち\(K\)個をtest setにする
pros:
metricsのサンプル数を増やせる