是否有标准(或可用)方法在R中导出时间序列模型?PMML可以工作,但当II尝试使用pmml库时,可能不正确,我收到一个错误:
例如,我的代码看起来类似于:
require(fpp)
library(forecast)
library(pmml)
data <- ts(livestock, start = 1970, end = 2000,frequency=3)
model <- ses(data , h=10 )
export <- pmml(model)
Run Code Online (Sandbox Code Playgroud)
而我得到的错误是:
Error in UseMethod("pmml") : no applicable method for 'pmml' applied to an object of class "forecast"
Run Code Online (Sandbox Code Playgroud)
我可以告诉的是:
当您使用 时ses()
,您并不是在创建模型;而是在创建模型。您正在使用模型来查找预测(特别是通过时间序列的指数平滑进行预测)。您的结果不是预测模型,而是模型针对特定数据集的特定预测。虽然我对 PMML 不太熟悉,但据我所知,它并不适合您尝试使用它来完成的工作。
如果您想导出时间序列和结果,我认为最好的选择是导出.csv
包含数据的文件;几乎任何东西都可以读取的.csv
。对象ts
只不过是一个美化的向量,因此您可以导出数据和时间。此外,model
只是一个包含数据的表。所以试试这个:
write.csv(model, file="forecast.csv")
Run Code Online (Sandbox Code Playgroud)
如果您想写入该ts
对象,请尝试以下操作之一:
write.csv(data, file="ts1.csv") # No dates for index
write.csv(cbind("time" = time(data), "val" = data), file = "ts2.csv") # Adds dates
Run Code Online (Sandbox Code Playgroud)