【问题标题】:ts object not recognised in hybridModel of forecastHybrid packagets 对象在 predictHybrid 包的混合模型中无法识别
【发布时间】:2017-08-01 04:38:07
【问题描述】:

数据是这样的:

df <- tribble(
    ~y,~timestamp

    18.74682, 1500256800,

    19.00424, 1500260400,

    18.86993, 1500264000,

    18.74960, 1500267600,

    18.99854, 1500271200,

    18.85443, 1500274800,

    18.78031, 1500278400,

    18.97948, 1500282000,

    18.86576, 1500285600,

    18.55633, 1500289200,

    18.79052, 1500292800,

    18.74790, 1500296400,

    18.62743, 1500300000,

    19.04696, 1500303600,

    18.97851, 1500307200,

    18.70956, 1500310800,

    18.92302, 1500314400,

    18.91465, 1500318000,

    18.61556, 1500321600,

    19.03535, 1500325200 )

我正在尝试对时间序列数据应用 hybridModel 来执行集成。下面是我的代码:

library(tidyquant)

library(forecast)

library(timetk)

library(sweep)

library(forecastHybrid)

df <- mutate(df, timestamp = as_datetime(timestamp))

tk_ts_df <- tk_ts(df, start = 1, freq = 3600, silent = TRUE)

fit <- hybridModel(tk_ts_df)

关于将时间序列对象 tk_ts_df(ts 对象)拟合到混合模型;它给出了错误:“时间序列必须是数字,并且不能是矩阵或数据框对象。”

但在链接上:https://cran.r-project.org/web/packages/forecastHybrid/vignettes/forecastHybrid.html

明确提到:包的主力函数是 hybridModel(),该函数结合了“预测”包中的几个组件模型。至少,用户必须为 y 提供一个 ts 或数字向量

请指出我做错了什么。

【问题讨论】:

  • @Gilles 你能检查一下吗。错误是可重现的

标签: r time-series forecasting hybrid ensemble-learning


【解决方案1】:

“forecastHybrid”要求输入时间序列是数值向量或ts 类型。虽然“timekit”包确实返回了ts 对象,但它还添加了常规ts 对象中没有的其他属性,因此输入检查失败。 见讨论here。以及修复提交here。

可以从 Github 下载包含该修复程序的最新版本 devtools::install_github("ellisp/forecastHybrid/pkg")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-26
    • 2018-05-30
    • 1970-01-01
    • 2021-04-01
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多