機械学習で得た回帰曲線を延長させたい(外挿したい)
時系列データを用いて将来の予測(1週間程度)を行うシステムを作っています。
現状内挿はできており、カーネルの選択により回帰式の変更はできています。
しかし、最終的な目標は将来予測であり、将来値を出すことができていない為、別で準備しているテスト用のデータ(学習に使った範囲のあとのデータ)に合うカーネルの選択はできていません。
MatlabのHP等でも検索し調べてみましたが、内挿・外挿の差が出るようなコマンドや説明は出てこず、何が原因であるのかが自分では解明できていません。
わかる方、ご教授いただけますと幸いです。
matlabソースコード
addpath '/Users/XXX/Documents' T=readtable('ファイル名.txt') gprMdl = fitrgp(T,'w_s','KernelFunction','ardsquaredexponential',... 'FitMethod','sr','PredictMethod','fic','Standardize',1) ypred = resubPredict(gprMdl); figure(); plot(T.date,T.w_s,'r.'); hold on plot(T.date,ypred,'b'); xlabel('x'); ylabel('y'); legend({'data','predictions'},'Location','Best'); axis([0 1000 0 0.05]); hold off;
現状の結果
試したこと
他カーネルの選択(結果内挿しか出ませんでしたが...)
参照
MathWork社:カーネル (共分散) 関数のオプション
補足情報(FW/ツールのバージョンなど)
使用ソフト:MATLAB_R2020b
そもそも何でガウス過程回帰を使っているのでしょうか?
他の時系列解析によく使われている手法、たとえば状態空間モデルとかを使う、という選択肢は無いのでしょうか?
あと数日程度の外挿が出せれば解決というところまでこれたので、他のモデルを試すにしろ一度このモデルで検証してみたい。というのが私の考えです。
ガウス過程回帰自体が将来予測に使えないのなら潔く断念できるのですが、他分野とはできているのでそこまでした上で他も。と考えています。
マルチポストについて知りませんでした。
少しでも早く解決したいと思い調べたところmatlabanswersが出てきたため利用してしまいました。
申し訳ございません、以後気をつけます。