我有275行销售数据。我想根据此时间序列数据创建ACF。 ACF应该在1到69之间(书籍中为275/4)
par(mfrow=c(2,1), mar=c(3,3,1,0)+.5, mgp=c(1.6,.6,0))
ts.plot(sales_ts_ohne_na,col="blue")
acf(sales_ts_ohne_na)
答案 0 :(得分:1)
您需要牢记时间序列的采样频率。我假设是12,因为您有每月的数据。
在acf()
中,如果设置lag.max=69
,则滞后的acf最高为69。但是,由于以周期为单位计算持续时间,因此它将扩展到5.75,即69/12 。如果要让X轴对样本计数,则只需将采样频率设置为1。
set.seed(1)
x <- sin(seq(0, pi*2*25, by=pi/(12/2)))
x.ts <- ts(x + rnorm(length(x)), f=12)
par(mfrow=c(3, 1))
acf(x.ts)
acf(x.ts, lag.max=69)
acf(ts(x.ts, f=1), lag.max=69)