我有跨越17年的数据,想用ts()
制作年度时间序列。对于1、3和6个月的间隔,它运行得非常好,但是当我尝试每年一次时,就会出错。
这是我的示例:
date <- c("2000-01-01", "2001-01-01", "2002-01-01", "2003-01-01", "2004-01-01", "2005-01-01", "2006-01-01", "2007-01-01", "2008-01-01", "2009-01-01", "2010-01-01", "2011-01-01", "2012-01-01", "2013-01-01", "2014-01-01", "2015-01-01", "2016-01-01")
var <- c(1:17)
df <- data.frame(as.Date(date), var)
ts_df <- ts(df$var,start=c(2000,1),frequency=1)
stl_df <- stl(ts_df, s.window = "periodic")
有没有解决这个问题的方法?
我读到过,对于月份,你需要至少24个月的数据来建模。那么对于年份,我是否也需要相同数量的数据?如果有其他工具可以帮助解决这个问题,我也很愿意尝试。
我的最终目标是使用:
autoplot(cbind(Data=ts_df,Seasonal=seasonal(stl_df),
Trend=trendcycle(stl_df)),
facets=TRUE)
date <- c("2000-01-01", "2001-01-01", "2002-01-01", "2003-01-01", "2004-01-01", "2005-01-01", "2006-01-01", "2007-01-01", "2008-01-01", "2009-01-01", "2010-01-01", "2011-01-01", "2012-01-01", "2013-01-01", "2014-01-01", "2015-01-01", "2016-01-01")
var <- c(1:17)
df <- data.frame(as.Date(date), var)
ts_df <- ts(df$var,start=c(2000,1),frequency=1)
stl_df <- stl(ts_df, s.window = "periodic")