Main Content

test

時系列交差検証用のテスト インデックス

R2022b 以降

    説明

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

    idx = test(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) は、対応する観測値が学習セット内にあることを示します。

    testIndices = test(c);

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

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

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

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

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

    20 個の時間依存観測値を使用して 5 つの学習セットと 5 つのテスト セットを作成します。

    c = tspartition(20,"SlidingWindow",5);

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

    trainWindows = zeros(c.NumObservations,c.NumTestSets);
    for i = 1:c.NumTestSets
        trainWindows(:,i) = training(c,i);
    end

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

    testWindows = zeros(c.NumObservations,c.NumTestSets);
    for i = 1:c.NumTestSets
        testWindows(:,i) = test(c,i);
    end

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

    data = trainWindows + 2*testWindows;

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

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

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

    各ウィンドウについて、赤で示されている (値が 1 の) 観測値は学習セット内にあり、黄色で示されている (値が 2 の) 観測値はテスト セット内にあり、青で示されている (値が 0 の) 観測値は無視されます。たとえば、観測値 9 ~ 11 は、ウィンドウ 2 ではテスト観測値、ウィンドウ 3 では学習観測値です。学習セット サイズ、テスト セット サイズ、ステップ サイズ、およびスライディング ウィンドウを作成するための方向の既定値が原因で、tspartition では一部の最も古い観測値 (1 および 2) がどのウィンドウでも使用されません。

    入力引数

    すべて折りたたむ

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

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

    データ型: single | double

    出力引数

    すべて折りたたむ

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

    バージョン履歴

    R2022b で導入