【问题标题】:minute wise time series forcasting?分钟明智的时间序列预测?
【发布时间】:2014-11-29 14:33:10
【问题描述】:

过去一周左右我一直在研究 R,这个网站对理解基础知识有很大帮助。
我正在为我的公司做一个精确的预测,
数据是这样的:

REFEE ENTRY_DATE
1.00 01-01-2011 00:00:00
2.00 01-01-2011 00:01:00
3.00 01-01-2011 00:02:00
4.00 01-01-2011 00:03:00
5.00 01-01-2011 00:04:00
6.00 01-01-2011 00:05:00
7.00 01-01-2011 00:06:00
8.00 01-01-2011 00:07:00
9.00 01-01-2011 00:08:00
10.00 01-01-2011 00:09:00
......等了四年,直到 2014 年

这大约超过 133921*12 个样本。我已经尝试了所有的预测代码,HoltWinters()forecast() 和所有其他预测方法......

问题是,每次我尝试这些功能时,应用程序都会挂起; R 不支持这么多数据进行预测吗?
有没有其他软件包可以帮助我对如此大量的数据进行预测?

【问题讨论】:

    标签: r time-series forecasting


    【解决方案1】:

    这实际上相当多的数据,至少对于 R 而言。您可以查看 forecast 包中的 ets()。我喜欢推荐同一作者的this free online forecasting textbook

    您当然可以考虑您的数据。您是否真的期望只能在此级别上看到的动态,例如,次小时模式?您是否真的需要按分钟进行预测,例如,用于运营决策? (据我所知,即使是短期电力预测也是在 15 分钟内完成的——如果你真的从事高频交易,你的时间可能会更短。)

    如果是,您可能应该研究可以实际模拟多种类型的季节性的具体方法。电力负荷预测可能是一个很好的起点,因为这些人确实要处理多种重叠的季节性模式。

    如果不是,您可以考虑聚合您的数据,比如几天,然后预测聚合和分类,例如,使用几天内分钟的历史比例。这至少会使预测不再是数据问题。

    【讨论】:

      【解决方案2】:

      对于大型数据集,我建议使用 R 基础中的 predict(),而不是 forecast()。虽然forecast() 提供更多信息(predict() 仅提供预测误差和标准误差),但将rbenchmark 用于这两个函数表明predict() 更快。

      此外,forecast() 在其预测的ts 对象的日期中删除了世纪,这很烦人...

      正如 Stephan Kosla 所说,拥有如此精细的数据可能是个问题。通过在执行预测之前获取数据的每日/每周/每月平均值,可以发现加速。您可以使用其中一个应用函数、lubridate 和一点独创性来做到这一点。我已经在下面展示了如何执行此操作的示例:

      library(lubridate)
      
      # Create dataframe for AirPassengers dataset (frome base)
      df <- data.frame(data=as.vector(AirPassengers),
                       date=as.Date((time(AirPassengers))),
                       year=year(as.Date((time(AirPassengers)))))
      
      # Split by year, then take average
      average.by.year <- unsplit(lapply(split(df$data,df$year),mean), #lapply takes the mean
                                 df$year)
      

      【讨论】:

        猜你喜欢
        • 2020-07-27
        • 2019-05-21
        • 1970-01-01
        • 2015-09-21
        • 1970-01-01
        • 2020-10-05
        • 2021-06-12
        • 1970-01-01
        相关资源
        最近更新 更多