このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
tspartition
説明
tspartition
オブジェクトは、データ セットの指定されたサイズに基づいて、規則的にサンプリングされた時系列データのセットを分割します。このオブジェクトは、エクスパンディング ウィンドウ交差検証、スライディング ウィンドウ交差検証、またはホールドアウト検証を使って時系列回帰モデルを検証するために学習セットとテスト セットを定義するときに使用します。学習インデックスの抽出のためにオブジェクト関数 training
を使用し、テスト インデックスの抽出のためにオブジェクト関数 test
を使用します。
tspartition
を時系列予想に使用する例については、ブースティング回帰木のアンサンブルを使用した時系列予想を参照してください。
作成
構文
説明
では、前の構文におけるいずれかの入力引数の組み合わせに加えて、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、名前と値の引数 c
= tspartition(___,Name=Value
)GapSize
を使用して、各学習セットの末尾から対応するテスト セットの先頭より前までの間で除外する観測値の数を指定できます。
入力引数
n
— 観測値の数
正の整数スカラー
時系列データ セットに含まれている観測値の数。正の整数スカラーとして指定します。
例: 10000
データ型: single
| double
t
— テスト セットの数
10
(既定値) | 正の整数スカラー
作成するテスト セットの数。正の整数スカラーとして指定します。t
は観測値の総数 n
よりも小さくなければなりません。
例: 5
データ型: single
| double
p
— テスト セット内の観測値の比率または数
0.1
(既定値) | 範囲 (0,1) のスカラー | 正の整数スカラー
ホールドアウト検証に使用されるテスト セット内の観測値の比率または数。範囲 (0,1) のスカラー、または正の整数スカラーとして指定します。
p
が範囲 (0,1) にある場合、tspartition
はテスト セットとして約p*n
個の最新の観測値を選択します。p
が正の整数の場合、tspartition
はテスト セットとしてp
個の最新の観測値を選択します。
データ型: single
| double
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
例: tspartition(10000,"ExpandingWindow",5,MaxTrainSize=7500)
は、10,000 個の観測値を拡張学習セットと固定サイズのテスト セットをもつ 5 つの区画に分割します。各学習セットに 7500 個を超える観測値を含めることはできません。
Direction
— 時間枠を作成するための開始方向
"reverse"
(既定値) | "forward"
時間枠を作成するための開始方向。"forward"
または "reverse"
を指定します。
"forward"
—tspartition
では必ず、最も古い観測値が最初のウィンドウに含まれます。一部の最新の観測値が交差検証から省略される可能性があります。"reverse"
—tspartition
では必ず、最新の観測値が最後のウィンドウに含まれます。一部の古い観測値が交差検証から省略される可能性があります。
メモ
この名前と値の引数は、エクスパンディング ウィンドウ交差検証とスライディング ウィンドウ交差検証でのみ有効です。
例: Direction="forward"
データ型: char
| string
GapSize
— 各学習セットからテスト セットまでの間で除外する観測値の数
0
(既定値) | 範囲 [0,1) のスカラー | 正の整数スカラー
各学習セットの末尾から対応するテスト セットの先頭より前までの間で除外する観測値の数。範囲 [0,1) のスカラー、または正の整数スカラーとして指定します。
GapSize
の値が範囲 [0,1) にある場合、tspartition
は約GapSize*n
個の観測値を除外します。GapSize
の値が正の整数の場合、tspartition
はGapSize
個の観測値を除外します。
例: GapSize=10
データ型: single
| double
MaxTrainSize
— すべての学習セットの最大サイズ
n-1
(既定値) | 範囲 (0,1) のスカラー | 正の整数スカラー
すべての学習セットの最大サイズ。範囲 (0,1) のスカラー、または正の整数スカラーとして指定します。
MaxTrainSize
の値が範囲 (0,1) にある場合、tspartition
は各学習セットに最大MaxTrainSize*n
個の観測値を含めます。MaxTrainSize
の値が正の整数の場合、tspartition
は各学習セットに最大MaxTrainSize
個の観測値を含めます。
メモ
この名前と値の引数は、エクスパンディング ウィンドウ交差検証でのみ有効です。
例: MaxTrainSize=500
データ型: single
| double
MinTrainSize
— すべての学習セットの最小サイズ
範囲 (0,1) のスカラー | 正の整数スカラー
すべての学習セットの最小サイズ。範囲 (0,1) のスカラー、または正の整数スカラーとして指定します。
MinTrainSize
の値が範囲 (0,1) にある場合、tspartition
は各学習セットに少なくともMinTrainSize*n
個の観測値を含めます。MinTrainSize
の値が正の整数の場合、tspartition
は各学習セットに少なくともMinTrainSize
個の観測値を含めます。
他の名前と値の引数を指定しない場合、既定値は floor(n/(t+1))
です (n
と t
を参照)。
メモ
この名前と値の引数は、エクスパンディング ウィンドウ交差検証でのみ有効です。
例: MinTrainSize=100
データ型: single
| double
StepSize
— ウィンドウ間のステップ長
範囲 (0,1) のスカラー | 正の整数スカラー
連続するウィンドウ間のステップ長。範囲 (0,1) のスカラー、または正の整数スカラーとして指定します。具体的には、StepSize
の値は 2 つの連続するテスト セットの末尾間のステップ数です。
StepSize
の値が範囲 (0,1) にある場合、tspartition
は約StepSize*n
個のステップで連続するテスト セットを分割します。StepSize
の値が正の整数の場合、tspartition
はStepSize
個のステップで連続するテスト セットを分割します。
他の名前と値の引数を指定しない場合、既定値は floor(n/(t+1))
です (n
と t
を参照)。
メモ
この名前と値の引数は、エクスパンディング ウィンドウ交差検証とスライディング ウィンドウ交差検証でのみ有効です。
例: StepSize=50
データ型: single
| double
TrainSize
— すべての学習セットのサイズ
範囲 (0,1) のスカラー | 正の整数スカラー
すべての学習セットのサイズ。範囲 (0,1) のスカラー、または正の整数スカラーとして指定します。
TrainSize
の値が範囲 (0,1) にある場合、tspartition
は各学習セットに約TrainSize*n
個の観測値を含めます。TrainSize
の値が正の整数の場合、tspartition
は各学習セットにTrainSize
個の観測値を含めます。
他の名前と値の引数を指定しない場合、既定値は floor(n/(t+1))
です (n
と t
を参照)。
メモ
この名前と値の引数は、スライディング ウィンドウ交差検証でのみ有効です。
例: TrainSize=500
データ型: single
| double
TestSize
— すべてのテスト セットのサイズ
範囲 (0,1) のスカラー | 正の整数スカラー
すべてのテスト セットのサイズ。範囲 (0,1) のスカラー、または正の整数スカラーとして指定します。
TestSize
の値が範囲 (0,1) にある場合、tspartition
は各テスト セットに約TestSize*n
個の観測値を含めます。TestSize
の値が正の整数の場合、tspartition
は各テスト セットにTestSize
個の観測値を含めます。
他の名前と値の引数を指定しない場合、既定値は floor(n/(t+1))
です (n
と t
を参照)。
メモ
この名前と値の引数は、エクスパンディング ウィンドウ交差検証とスライディング ウィンドウ交差検証でのみ有効です。
例: TestSize=100
データ型: single
| double
プロパティ
Type
— 検証分割のタイプ
'expanding-window'
| 'holdout'
| 'sliding-window'
この プロパティ は読み取り専用です。
検証分割のタイプ。'expanding-window'
、'holdout'
、または 'sliding-window'
として返されます。
データ型: char
NumObservations
— 観測値の数
正の整数スカラー
この プロパティ は読み取り専用です。
観測値の数。正の整数スカラーとして返されます。
データ型: single
| double
NumTestSets
— テスト セットの数
正の整数スカラー
この プロパティ は読み取り専用です。
テスト セットの数。正の整数スカラーとして返されます。ホールドアウト検証の場合、NumTestSets
の値は 1
です。エクスパンディング ウィンドウ交差検証とスライディング ウィンドウ交差検証の場合、NumTestSets
の値は交差検証に使用するウィンドウの数を示します。
データ型: single
| double
TrainSize
— 各学習セットのサイズ
正の整数スカラー | 正の整数ベクトル
この プロパティ は読み取り専用です。
各学習セットのサイズ。ホールドアウト検証の場合は正の整数スカラー、エクスパンディング ウィンドウ交差検証とスライディング ウィンドウ交差検証の場合は正の整数ベクトルとして返されます。
データ型: single
| double
TestSize
— 各テスト集合のサイズ
正の整数スカラー | 正の整数ベクトル
この プロパティ は読み取り専用です。
各テスト セットのサイズ。ホールドアウト検証の場合は正の整数スカラー、エクスパンディング ウィンドウ交差検証とスライディング ウィンドウ交差検証の場合は正の整数ベクトルとして返されます。
データ型: single
| double
StepSize
— 連続するウィンドウ間のステップ長
正の整数スカラー | NaN
この プロパティ は読み取り専用です。
連続するウィンドウ間のステップ長。NumTestSets
の値が 1
より大きい場合は正の整数スカラー、それ以外の場合は NaN
として返されます。
データ型: single
| double
例
エクスパンディング ウィンドウ交差検証
エクスパンディング ウィンドウ交差検証の 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")
各ウィンドウについて、赤で示されている (値が 1 の) 観測値は学習セット内にあり、黄色で示されている (値が 2 の) 観測値はテスト セット内にあり、青で示されている (値が 0 の) 観測値は無視されます。たとえば、観測値 11 は、ウィンドウ 1 ではテスト観測値、ウィンドウ 2 ではギャップ観測値、ウィンドウ 3 では学習観測値です。
スライディング ウィンドウ交差検証
スライディング ウィンドウ交差検証の 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")
各ウィンドウについて、赤で示されている (値が 1 の) 観測値は学習セット内にあり、黄色で示されている (値が 2 の) 観測値はテスト セット内にあり、青で示されている (値が 0 の) 観測値は無視されます。たとえば、観測値 9 ~ 11 は、ウィンドウ 2 ではテスト観測値、ウィンドウ 3 では学習観測値です。学習セット サイズ、テスト セット サイズ、ステップ サイズ、およびスライディング ウィンドウを作成するための方向の既定値が原因で、tspartition
では一部の最も古い観測値 (1 および 2) がどのウィンドウでも使用されません。
時系列データのホールドアウト検証
ホールドアウト検証のために tspartition
オブジェクトの学習セットとテスト セット内にある観測値を特定します。
20 個の時間依存観測値の 25% を使用してテスト セットを作成します。残りの観測値は、対応する学習セット内にあります。
c = tspartition(20,"Holdout",0.25);
テスト セットのインデックスを特定します。
testIndices = test(c);
ヒート マップを使用して観測値の 2 つのセットを可視化します。
h = heatmap(double(testIndices),ColorbarVisible="off"); h.XDisplayLabels = ""; ylabel("Observation") title("Holdout Validation Scheme")
薄い青で示されている (値が 0 の) 観測値は学習セット内にあり、濃い青で示されている (値が 1 の) 観測値はテスト セット内にあります。時系列データのホールドアウト検証方式では、最新の観測値 (この場合は、観測値 16 ~ 20) はテスト セット内にあります。
バージョン履歴
R2022b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)