2017-08-01 47 views
0

数据是这样的:TS对象不forecastHybrid包hybridModel认可

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) 

我想对时间序列数据进行ensemble.Below申请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对象)拟合到hybridModel;它给出错误:“时间序列必须是数字,可能不是矩阵或数据框对象。”

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

这显然提到:包的主力作用是hybridModel(),它结合了多种组件模型,从“预测”包的功能。至少,用户必须提供一个ts或数字向量为y

请建议我做错了什么。

+0

@Gilles下载,你可以请this.Error是可重复的 – Ashag

回答

2

“forecastHybrid”要求输入时间序列是数字向量或ts类型。虽然“timekit”包确实返回了一个对象,但它还添加了其他属性,这些属性并不在常规对象中,因此输入检查失败。 查看讨论here。和修复承诺here

从GitHub结合修复最新的版本可以与 devtools::install_github("ellisp/forecastHybrid/pkg")