使用 R 分解时间序列
Decompose time series using R
我是 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
我做错了什么?
当您使用 frequency = 24*365
时,您表示您希望时间单位为年。由于您的数据少于两个月,因此您没有 2 个期间(年)。尝试使用天作为基本单位 - 即尝试 frequency = 24
我想你的意思是将频率设置为24,然后将预测每小时的数据。如果你想确定多个影响,即每小时、每天、每周、每月等,那么你可以探索 forecast 包中的 tbats() 函数,它可以检测多个季节性,或者你也可以使用傅里叶模型来提取不同的影响潜在的周期性。
包括与使用傅立叶进行预测相关的代码:
http://robjhyndman.com/hyndsight/tbats-with-regressors/
关于如何设置频率的信息:
我是 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
我做错了什么?
当您使用 frequency = 24*365
时,您表示您希望时间单位为年。由于您的数据少于两个月,因此您没有 2 个期间(年)。尝试使用天作为基本单位 - 即尝试 frequency = 24
我想你的意思是将频率设置为24,然后将预测每小时的数据。如果你想确定多个影响,即每小时、每天、每周、每月等,那么你可以探索 forecast 包中的 tbats() 函数,它可以检测多个季节性,或者你也可以使用傅里叶模型来提取不同的影响潜在的周期性。
包括与使用傅立叶进行预测相关的代码:
http://robjhyndman.com/hyndsight/tbats-with-regressors/
关于如何设置频率的信息: