前回ARIMAモデルのJava実装を紹介しましたが、モデルのパラメータp,d,qを自動で決めることができませんでした。
元のライブラリのforkを確認したこころ自動パラメータ割り当てのコードがありました。\n内容を確認しましたが、クラスの欠損、参照先ライブラリが無いなど動作できないものだったので修正しました。
修正したコードは以下にあります。
https://github.com/garakutanokiseki/timeseries-forecast
このコードを使うと以下のようにパラメータを求めます。
// Prepare input timeseries data.
double[] dataArray = new double[] {2, 1, 2, 5, 2, 1, 2, 5, 2, 1, 2, 5, 2, 1, 2, 5};
// Set ARIMA model parameters.
int max_p = 5;
int max_d = 2;
int max_q = 5;
int max_P = 2;
int max_D = 1;
int max_Q = 2;
//default seasonal is true , default maxIterations is 100.
final ArimaParams paramsForecast = ArimaAutoFit.autoFit(dataArray, maxp, maxd, maxq, maxP, maxD, maxQ, m, seasonal, maxIterations);
0 件のコメント :
コメントを投稿