1

有人告诉我,在使用 R 的预测包时,可以重用模型。也就是说,在代码之后,无需重新计算模型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 环境中?

4

2 回答 2

2

您在这里有两个问题:

A)forecast包可以“增长”它的数据集吗?我无法详细说明这个包,您必须查看它的文档。但是,R 模型通常遵循以下结构

fit <- someModel(formula, data)
estfit <- predict(fit, newdata=someDataFrame)

例如,您提供给定适合对象的更新数据。

B) 我可以将模型来回序列化到 Java 吗?是的你可以。Rserve是一个对象,您也可以尝试基本serialize()到(原始)字符。甚至只是`save(fit, file="someFile.RData")。

于 2012-09-23T21:31:08.890 回答
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)
于 2012-09-24T00:38:32.273 回答