2017-11-16 19 views
1

R에서 ROBETS를 사용하여 예측을하고 있습니다. 장기간에 걸쳐 모델을 다시 훈련해야합니다.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을 추가

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에 표시됩니다.