我正在尝试构建ARIMA模型,我在标准化时间序列中有144个术语,它们表示原始时间序列中的残差。当我从原始时间序列中减去线性趋势和周期分量时,得到了我想建立ARIMA模型的残差,因此残差是随机分量。
由于该减法,我模拟了像平稳序列(d = 0)这样的残差,因此模型是ARIMA(p,d,q)= ARIMA(?,0,?)。
我的残差的ACF和PACF函数不像文献中用于识别ARIMA模型的情况那么清楚,当我根据它们是置信区间之外的最后值的标准选择参数p和q时,我得到值p = 109 ,q = 97。 Matlab给了我这个案子的错误:
使用arima / estimate时出错(第386行)
输入回复系列的观察数量不足。
另一方面,当我只查看用于识别p和q参数的N / 4长度的时间序列时,我得到p = 36,q = 34。 Matlab给了我这个案例的错误
警告:非线性不等式约束有效;标准错误可能不准确。
在1113的arima.estimate
使用arima / validateModel时出错(第1306行)
非季节性自回归多项式不稳定。
arima / setLagOp中的错误(第391行) Mdl = validateModel(Mdl);
arima / estimate中的错误(第1181行) Mdl = setLagOp(Mdl,' AR',LagOp([1 -coefficients(iAR)'],' Lags',[0 LagsAR]));
我如何纠正识别p和q参数以及这里有什么问题?在这个部分自相关图中,它意味着什么,为什么最后的值如此之大?
答案 0 :(得分:1)
此guide包含大量有关正确估算ARIMA p
和q
参数的有用信息。
只要我记得从我的学习开始,ACF
在滞后q - p
之后关闭PACF
并且在p - q
之后关闭p
,因此正确识别q
1}}和AIC
订单并不总是直截了当,即使上述指南提供的最佳做法也不足以指向正确的方向。
通常,防范方法是将信息标准(例如BIC
,FPE
或p
)应用于具有q
和{{1}的不同订单的多个模型}}。呈现标准的最小值的模型是最好的。假设您的最大q
和p
所需订单为6
,而k
是观察次数,您可按以下步骤操作:
ll = zeros(6);
pq = zeros(6);
for p = 1:6
for q = 1:6
mod = arima(p,0,q);
[fit,~,fit_ll] = estimate(mod,Y,'print',false);
ll(p,q) = fit_ll;
pq(p,q) = p + q;
end
end
ll = reshape(ll,36,1);
pq = reshape(pq,36,1);
[~,bic] = aicbic(ll,pq+1,k);
bic = reshape(bic,6,6);
完成此操作后,请使用min
函数返回的索引,以便找到最佳的q
和p
订单。
另一方面,关于你的错误是什么......好吧,第一个是非常简单的,并且是不言自明的。第二个基本上意味着不可能进行正确的模型估计。