Python 時系列分析 1,000本ノック
– ノック77: 時系列クロスバリデーション –

Python 時系列分析 1,000本ノック– ノック77: 時系列クロスバリデーション –
次の Python コードでどのようなデータ分割をしていますか?

Python コード:

import numpy as np
from sklearn.model_selection import TimeSeriesSplit

data = np.arange(20)
for i, (tr, te) in enumerate(
    TimeSeriesSplit(n_splits=5).split(data)):
    print(
        f"Fold {i+1}  "
        f"train: {tr.tolist()}  "
        f"test: {te.tolist()}"
    )

回答の選択肢:
(A) ランダムに分割し、各Foldで訓練・テストの比率を一定にしている
(B) 時系列順に分割し、常にテストデータが訓練データより過去になるようにしている
(C) 時系列順に分割し、訓練データを拡張しながらテストデータが常に未来になるようにしている
(D) 等間隔に5分割し、1つずつテストに使うk-fold交差検証を行っている