我被告知,在使用R&C的预测包时,可以重用一个模型。也就是说,在代码x <- c(1,2,3,4); mod <- ets(x); f <- forecast(mod,h=1)
之后,可以拥有append(x, 5)
并预测下一个值而无需重新计算模型。怎么做到这一点? (据我所知,使用简单的指数平滑,只需要知道alpha,对吗?)
是否像forecast(x, model=mod)
?如果是这种情况我不得不说我正在使用Java并以编程方式调用预测代码(对于许多时间序列),所以我不认为我可以一直将模型对象保留在R环境中。是否有一种简单的方法可以将模型对象保存在Java中并在需要时将其加载到R环境中?
答案 0 :(得分:2)
这里有两个问题:
A)forecast
包可以“增长”其数据集吗?我不能详细讲这个包,你必须看看它的文件。 然而,R模型通常遵循
fit <- someModel(formula, data) estfit <- predict(fit, newdata=someDataFrame)
例如,您提供了适合对象的更新数据。
B)我可以来回传递一个模型到Java吗?是的你可以。 Rserve是一个对象,您也可以尝试基本serialize()
到(原始)字符。甚至只是`save(fit,file =“someFile.RData”)。
答案 1 :(得分:0)
关于你的第一个问题:
x <- 1:4
mod <- ets(x)
f1 <- forecast(mod, h=1)
x <- append(x, 5)
mod <- ets(x, model=mod) # Reuses old mod without re-estimating parameters.
f2 <- forecast(mod, h=1)