時系列の値を持っているので、これらの値を機械学習アルゴリズムの入力値と出力値として使用する目的で、nx4 行列 [X y] に再形成したいと思います。
X(i) は 1x3 の入力ベクトルで、y は出力スカラー値です。
このアルゴリズムは、4 番目の値を予測するために、2 番目のシーケンス値 (3 つの値) ごとに入力として受け取ります。
実用的な例を挙げるために、シーケンスがあるとしましょう
[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]
[X y] 行列は次のようになります。
[1 3 5 7; 2 4 6 8; 9 11 13 15; 10 12 14 16]
2 行おきに取得するために、次のコードを記述しました。
vec1 = timeSeries(1:2:end);
XyVec1 = reshape(vec1,4,[])'
同様に、偶数を取得するように書くこともできます:
vec2 = timeSeries(2:2:end);
XyVec2 = reshape(vec2,5,[])'
方法がわからないのは、行列 vec1 と vec2 行をインターリーブして取得することです
[vec(1,:); vec2(1,:);vec1(2,:), vec2(2,:)...]
2 つ (またはそれ以上) の行列の行をインターリーブする方法を知っている人はいますか?