ARIMA,ARMA和工商行政管理机关?
-
12-09-2019 - |
题
data <-c(88, 84, 85, 85, 84, 85, 83, 85, 88, 89, 91, 99, 104, 112, 126, 138, 146,151, 150, 148, 147, 149, 143, 132, 131, 139, 147, 150, 148, 145, 140, 134, 131, 131, 129, 126, 126, 132, 137, 140, 142, 150, 159, 167, 170, 171, 172, 172, 174, 175, 172, 172, 174, 174, 169, 165, 156, 142, 131, 121, 112, 104, 102, 99, 99, 95, 88, 84, 84, 87, 89, 88, 85, 86, 89, 91, 91, 94, 101, 110, 121, 135, 145, 149, 156, 165, 171, 175, 177, 182, 193, 204, 208, 210, 215, 222, 228, 226, 222, 220)
为什么作用在数据的第一差值的ARMA模型从相应的ARIMA模型不同?
for (p in 0:5)
{
for (q in 0:5)
{
#data.arma = arima(diff(data), order = c(p, 0, q));cat("p =", p, ", q =", q, "AIC =", data.arma$aic, "\n");
data.arma = arima(data, order = c(p, 1, q));cat("p =", p, ", q =", q, "AIC =", data.arma$aic, "\n");
}
}
同样的,在预测包Arima(data,c(5,1,4))
和Arima(diff(data),c(5,0,4))
。我可以得到所需的稠度
auto.arima(diff(data),max.p=5,max.q=5,d=0,approximation=FALSE, stepwise=FALSE, ic ="aic", trace=TRUE);
auto.arima(data,max.p=5,max.q=5,d=1,approximation=FALSE, stepwise=FALSE, ic ="aic", trace=TRUE);
,但它似乎最小AIC估计这些数据还没有被认为是由后面auto.arima算法的保持器;因此ARMA的次优选择(3,0)而不是ARMA(5,4)作用于第一差异。一个相关的问题是两个AIC估计应该有多大区别一个人认为一个模型优于其他关系不大wuth编程之前 - 最小AIC持有人至少应该被视为/报道,尽管9个系数可能有点过分从100个观测的预测。
我R课题是:
1)的双循环的矢量化的版本,所以它比较快?
2)为什么arima(5,1,4)
作用在数据从不同arma(5,4)
作用在数据的第一差异?哪一个是要报告?
3)如何排序工商输出,使得较小的先来
感谢。
解决方案
有很多在这里提出的问题和问题。我会尽力给他们每个人的回应。
Arima()
仅仅是arima()
一个包装,因此将给予相同的模型。
ARIMA()由现有使用的漫处理与差分的模型。那是不一样的拟合模型前刚刚差分数据。因此,你会得到arima(x,order=c(p,1,q))
和arima(diff(x),order=c(p,0,q))
稍有不同的结果。
auto.arima()
手柄直接差分和装配时不使用漫之前。所以,你会得到auto.arima(x,d=1,...)
和auto.arima(diff(x),d=0,...)
相同的结果。
auto.arima()
有一个参数max.order
它指定了最大P + Q的。默认情况下,max.order=5
,所以你arima(5,1,4)
不会被考虑。增加max.order
如果你要考虑这样的大型模型(虽然我不会推荐它)。
可以不向量化在每次迭代涉及非线性优化的循环。
如果您想将输出排序,则需要将其保存到一个data.frame,然后排序相关列。该代码目前刚刚吐出来的结果,因为它去,并没有什么保存,除了配备最新的模型。