设置每小时臭氧数据的多年平均值的参数“频率”

时间:2018-11-24 20:48:09

标签: r time-series ozone

我正在尝试分解time series,这是每小时臭氧数据的每月多年平均值。有288个数据点(24小时* 12个月)。 STL需要ts对象来提取时间序列的成分。 ts的参数为“频率”。据我所知,这是一个时期的观察次数。例如,月平均温度数据为12。 自从我使用288以来,我的案件的发生频率是多少

data_ts=stl(ts(data,frequency = 288),s.window = "per"))

如预期的那样,它引发错误“序列不是周期性的或具有少于两个周期”。 顺便说一句,我知道其他提取季节性的方法,但是我还需要使用STL检查结果。

最佳

2 个答案:

答案 0 :(得分:1)

假设您有每小时的数据,则每天有24个时段,平均每年有24 * 365.25个时段。几个月似乎与诸如臭氧之类的自然现象无关。同样,星期也无关紧要。因此,您只需要24和24 * 265.35的季节性时段即可。

mstl()软件包中的forecast函数可以处理多个季节。

library(forecast)
data_ts <- mstl(msts(data, seasonal.periods = c(24, 24*365.25)))

但是,如果您实际上有每月的数据,则频率为12。

data_ts <- mstl(ts(data, frequency = 12))

答案 1 :(得分:0)

正如您在图片ACF中所看到的那样,数据的ACF清楚地显示了年度季节性趋势。 它以每年的滞后时间在大约12、24等处达到峰值。

如果我代表您,我将使用freq = 12分解时间序列数据。