Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

training

時系列交差検証用の学習インデックス

R2022b 以降

    説明

    idx = training(c) は、タイプ 'holdout'tspartition オブジェクト c に対する学習インデックス idx を返します。つまり、logical ベクトル idx は学習セット内の観測値を指定します。

    idx = training(c,i) は、タイプ 'expanding-window' または 'sliding-window'tspartition オブジェクト c のウィンドウ i に対する学習インデックスを返します。つまり、logical ベクトル idx は学習セット i 内の観測値を指定します。

    • c.Type'expanding-window' の場合、テスト セット サイズは固定されたままですが、学習セット サイズはウィンドウごとに大きくなります。

    • c.Type'sliding-window' の場合、学習セット サイズとテスト セット サイズはどちらも固定されます。

    すべて折りたたむ

    ホールドアウト検証のために tspartition オブジェクトの学習セット内にある観測値を特定します。

    20 個の時間依存観測値の 30% を使用してテスト セットを作成します。残りの観測値は、対応する学習セット内にあります。

    c = tspartition(20,"Holdout",0.30);

    学習セットのインデックスを特定します。値 1 (true) は、対応する観測値が学習セット内にあることを示します。値 0 (false) は、対応する観測値がテスト セット内にあることを示します。

    trainingIndices = training(c);

    ヒート マップを使用して学習セット内の観測値を可視化します。

    h = heatmap(double(trainingIndices),ColorbarVisible="off");
    h.XDisplayLabels = "";
    ylabel("Observation")
    title("Training Set Observations")

    Figure contains an object of type heatmap. The chart of type heatmap has title Training Set Observations.

    濃い青で示されている (値が 1 の) 観測値は学習セット内にあり、薄い青で示されている (値が 0 の) 観測値はテスト セット内にあります。時系列データにホールドアウト検証を使用する場合、最新の観測値 (この場合は、観測値 15 ~ 20) はテスト セット内にあります。

    エクスパンディング ウィンドウ交差検証の tspartition オブジェクトの学習セットとテスト セットに含まれる観測値を特定します。

    20 個の時間依存観測値を使用して 3 つの学習セットと 3 つのテスト セットを作成します。各学習セットとそれに対応するテスト セットの間のギャップとして 2 つの観測値を指定します。

    c = tspartition(20,"ExpandingWindow",3, ...
        GapSize=2);

    3 つのウィンドウについて学習セットのインデックスを特定します。値 1 (true) は、対応する観測値がそのウィンドウの学習セット内にあることを示します。

    trainWindow1 = training(c,1);
    trainWindow2 = training(c,2);
    trainWindow3 = training(c,3);

    3 つのウィンドウについてテスト セットのインデックスを特定します。値 1 (true) は、対応する観測値がそのウィンドウのテスト セット内にあることを示します。

    testWindow1 = test(c,1);
    testWindow2 = test(c,2);
    testWindow3 = test(c,3);

    学習セットとテスト セットのインデックスを 1 つの行列に結合します。ここで、値 1 は学習観測値を示し、値 2 はテスト観測値を示します。

    data = [trainWindow1 + 2*testWindow1, ...
        trainWindow2 + 2*testWindow2, ...
        trainWindow3 + 2*testWindow3];

    ヒート マップを使用して異なるセットを可視化します。

    colormap = lines(3);
    heatmap(double(data),ColorbarVisible="off", ...
        Colormap=colormap);
    xlabel("Window")
    ylabel("Observation")
    title("Expanding Window Cross-Validation Scheme")

    Figure contains an object of type heatmap. The chart of type heatmap has title Expanding Window Cross-Validation Scheme.

    各ウィンドウについて、赤で示されている (値が 1 の) 観測値は学習セット内にあり、黄色で示されている (値が 2 の) 観測値はテスト セット内にあり、青で示されている (値が 0 の) 観測値は無視されます。たとえば、観測値 11 は、ウィンドウ 1 ではテスト観測値、ウィンドウ 2 ではギャップ観測値、ウィンドウ 3 では学習観測値です。

    入力引数

    すべて折りたたむ

    時系列検証分割。tspartition オブジェクトとして指定します。検証分割のタイプ (Type) は、'expanding-window''holdout'、または 'sliding-window' です。

    学習セットまたはウィンドウ インデックス。正の整数スカラーとして指定します。i を指定すると、関数 training は学習セット i 内の観測値を特定します。

    データ型: single | double

    出力引数

    すべて折りたたむ

    学習セットの観測値のインデックス。logical ベクトルとして返されます。値 1 (true) は、対応する観測値が学習セット内にあることを示します。値 0 (false) は、対応する観測値がテスト セットなどの異なるセット内にあることを示します。

    バージョン履歴

    R2022b で導入