重用R的预测包中的模型

时间:2012-09-23 20:37:29

标签: r time-series package

我被告知,在使用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环境中?

2 个答案:

答案 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)