2017-11-16 12 views
1

RでROBETSを使用して予測を行っています。長い時間系列でモデルを再トレーニングする必要があります。ROBETS時系列予測モデルの再学習エラーR

library(robets) 
ts.train <- ts(c(60,209,51,34,208,64,122,99,82,194,136,177,110,332,300,151,128,206,129,92,164,814,1286,826,893,949,1014,830,877,605,773,870,1610,970,1192,1222,466,1963,841), start=c(20001, 1), frequency=12) 
model.robets <- robets(ts.train) 
ts.train.dev <- ts(c(60,209,51,34,208,64,122,99,82,194,136,177,110,332,300,151,128,206,129,92,164,814,1286,826,893,949,1014,830,877,605,773,870,1610,970,1192,1222,466,1963,841,830,812,160,238,53,760), start=c(20001, 1), frequency=12) 
model.robets.retrain <- robets(ts.train.dev, model=model.robets) 

私は次のエラーを取得する:あなたの問題の簡単な解決策は、引数use.initial.values = TRUEを追加して

Error in robetsTargetFunctionInit(par = par, y = y, errortype = errortype, : 
    k Problem! 

答えて

1

下記のMWEです。この引数は、model.robets.retrainの場合と同じ初期値がmodel.robetsに使用されることを示します。デフォルトでは、両方の時系列で同じ初期起動時間で初期値が推定されるため、理にかなっています。

ソリューション:

library(robets) 
ts.train <- ts(c(60,209,51,34,208,64,122,99,82,194,136,177,110,332,300,151,128,206,129,92,164,814,1286,826,893,949,1014,830,877,605,773,870,1610,970,1192,1222,466,1963,841), start=c(20001, 1), frequency=12) 
model.robets <- robets(ts.train) 
ts.train.dev <- ts(c(60,209,51,34,208,64,122,99,82,194,136,177,110,332,300,151,128,206,129,92,164,814,1286,826,893,949,1014,830,877,605,773,870,1610,970,1192,1222,466,1963,841,830,812,160,238,53,760), start=c(20001, 1), frequency=12) 
model.robets.retrain <- robets(ts.train.dev, model=model.robets, use.initial.values = TRUE) 

しかし、あなたが記述エラーは発生しません。したがって、私はデフォルトの設定を変更し、見つけたバグを解決しました。新しいバージョンのrobetsがすぐにCRANに表示されます。

関連する問題