【问题标题】:Decompose time series using R使用 R 分解时间序列
【发布时间】:2016-12-09 00:41:41
【问题描述】:

我是 R 新手。

我想要做的是分解一个时间序列,它以小时分辨率给出。

我的数据如下所示:

Time    traffic
6/7/2005 7:00   56718587433
6/7/2005 8:00   76456162968
6/7/2005 9:00   82534038485
6/7/2005 10:00  88796995092

 ...

7/28/2005 10:00 51528036132
7/28/2005 11:00 69610584123
7/28/2005 12:00 76364975533
7/28/2005 13:00 81281257078

为了将我的数据分解为趋势、季节性和固定分量,我尝试了以下方法:

library(xts)
library(forecast)
data<-read.csv("my_file.csv")
data<-ts(data[,2],frequency = 24*365, start=c(2005,6,7,7))
decompose(data)

但这是我得到的错误:

Error in decompose(data): time series has no or less than 2 period

我做错了什么?

【问题讨论】:

    标签: r time-series forecasting


    【解决方案1】:

    当您使用frequency = 24*365 时,您表示您希望时间单位为年。由于您的数据少于两个月,因此您没有 2 个时期(年)。尝试使用天作为您的基本单位 - 即尝试frequency = 24

    【讨论】:

    • 你是个天才!谢谢!
    【解决方案2】:

    我认为您的意思是将频率设置为 24,然后将预测每小时数据。如果你想确定多个影响,即每小时、每天、每周、每月等,那么你可以探索预测包中的 tbats() 函数,它可以检测多个季节性,或者你也可以使用傅立叶模型来提取不同的影响潜在的周期性。

    包括与使用傅立叶进行预测相关的代码:

    http://robjhyndman.com/hyndsight/tbats-with-regressors/

    关于如何设置频率的信息:

    http://robjhyndman.com/hyndsight/seasonal-periods/

    【讨论】:

      猜你喜欢
      • 2012-11-22
      • 2018-05-27
      • 1970-01-01
      • 2013-09-08
      • 2021-05-17
      • 1970-01-01
      • 2019-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多