问:在给定一组日期的情况下,在<{1}}对象中设置频率的正确方法是什么?理想情况下,调用此xts
对象的auto.arima()
将产生与在类似的xts
对象上调用时相同的结果。
详细信息:根据我是否通过ts
或auto.arima()
对象,我很惊讶地发现ts
拟合的结果不同。我发现差异与xts
有关(在frequency
的情况下,尽管我在构造中将其设置为12,但仍被重置为1)。下面,设置xts
并估算预期模型相对简单。但在我最初尝试使用sim_ts_12
(xts
和sim_xts
)时,我估计错误的模型。我最终使用sim_xts_not
(xts
,sim_xts_12
)估算了正确的模型,但这两种方法在某种程度上似乎都是错误的。我希望与sim_ts2xts
合作比xts
更简单。但这似乎并非如此。我错过了什么吗?
ts
更新,而不是重复:可能重复的问题/答案并未解决sim <- scan(file="./sim.dat")
sim_ts_12 <- ts(sim, start=c(2016,1), frequency=12)
sim_ts2xts_12 <- as.xts(sim_ts_12)
sim_xts <- xts(x=sim, order.by=seq.Date(from=as.Date("2016-01-01"), by="month", length.out = length(sim)))
sim_xts_12_not <- xts(x=sim, order.by=seq.Date(from=as.Date("2016-01-01"), by="month", length.out = length(sim)), frequency=12)
sim_xts_12 <- sim_xts
attr(sim_xts_12, 'frequency') <- 12
auto.arima(sim_ts_12) # ARIMA(0,1,1)(0,1,0)[12]
auto.arima(sim_ts2xts_12) # ARIMA(0,1,1)(0,1,0)[12]
auto.arima(sim_xts) # ARIMA(0,1,1) with drift
auto.arima(sim_xts_12_not) # ARIMA(0,1,1) with drift
auto.arima(sim_xts_12) # ARIMA(0,1,1)(0,1,0)[12]
txt <- "0.04767597 0.07217235 0.03954613 0.03698637 0.04283896
0.03534811 0.04198519 0.04129214 0.04576022 0.03966146
0.03656881 0.04396736 0.04459328 0.07062732 0.03477407
0.0340033 0.039136 0.0347761 0.03819997 0.03634627
0.03966617 0.03455635 0.03009606 0.03927688 0.03959629
0.06554147 0.02908742 0.02619443 0.03179742 0.02468108
0.02612955 0.02300656 0.02988827 0.01878513 0.01399028
0.02601922 0.0250159 0.05610426 0.01537538 0.01231939
0.01330564 0.008744173 0.01296571 0.005741129 0.01674992
0.003210812 -0.007936987 0.01018758"
sim.dat <- scan(text=txt, what=numeric() )
中处理频率的最佳做法。问题不是要求它,答案也没有解决它。答案处理xts
。