在R中分解()多变量时间序列

时间:2017-12-13 21:17:49

标签: r time-series

我有多变量的时间序列数据,我试图分解。数据每小时采样一次,每天采样六次(freq = 6),从20112017

将我的数据从xts()转换为ts()并进行绘图后,我得到了这张图:

decomposed additive ts data

我的季节性错误在哪里?如何在分解后在x轴上保留xts()format="%Y/%m/%d %H:%M"的时间戳/索引?

我的数据:

subset4 <- structure(list(DATE.AND.TIME.GMT = structure(c(1293873660, 1293888060, 
1293902400, 1293916860, 1293931260, 1293945600, 1293960060, 1293974460, 
1293988800, 1294003260, 1294017660, 1294032000, 1294046460, 1294060860, 
1294075200, 1294089660, 1294104060, 1294118460, 1294132860, 1294147260
), class = c("POSIXct", "POSIXt"), tzone = ""), EMP = c(62.4, 
61.5, 60.6, 59.5, 59.4, 59, 61, 64, 64.4, 64.4, 64.4, 64.4, 64.4, 
64.4, 64.4, 64.4, 64.4, 64.4, 64.4, 64.4)), .Names = c("DATE.AND.TIME.GMT", 
"EMP"), na.action = structure(c(606L, 9510L, 33942L, 33943L, 
51414L, 51415L, 68885L, 68886L, 86356L, 86357L, 104163L, 104164L, 
121633L, 121634L), .Names = c("606", "9510", "33942", "33943", 
"51414", "51415", "68885", "68886", "86356", "86357", "104163", 
"104164", "121633", "121634"), class = "omit"), row.names = 28584:28603, class = "data.frame")

代码:

subset4 = xts(subset4[,-1], as.POSIXct(subset4[,1], format="%Y/%m/%d %H:%M", tz="GMT")) 
class(subset4)
subset4 = ts(subset4, frequency = 6)
plot(decompose(subset4))

1 个答案:

答案 0 :(得分:0)

频率似乎是一个复杂的变量。根据其价值,做出一些假设。在实例4中,7和12应该是季度,星期和几个月。

  

频率:每单位时间的观察次数。

     

当在每个单位时间间隔中对系列进行整数采样时,使用参数频率的值。例如,当每天对数据进行采样时,可以使用值7作为频率,并且自然时间段是一周,或者当数据每月采样且自然时间段是一年时为12。在(例如)打印方法中假定值4和12分别表示季度和月度系列。

然后,由于其他值的时间单位似乎为一年,您必须将频率定义为一年的样本数:每天6个样本,一年365天。

您可以选择年份和样本数量(600 = 100天)的矢量中的第一个日期。

  

开始:第一次观察的时间。单个数字或两个整数的向量,它们指定时间单位中的自然时间单位和(基于1)个样本数。请参阅示例以了解第二种形式的使用。

subset4&lt; - ts(subset4,frequency = 365 * 6,start = c(2011,600))

enter image description here