Matlab 8时间序列ARIMA
ARIMA : auto-regressive Moving Average
使用estimate-数据估计系数 或者simulate-模拟模型
1.已系数的ARIMA 然后修改
AR(3):是系数
MA是阶数
比如
yt=εt+θ1εt−1+θ2εt−2+θ12εt−12.
'MALags',[1,2,12]
yt=0.05+0.6yt−1+0.2yt−2−0.1yt−3+εt
\Mdl = arima('Constant',0.05,'AR',{0.6,0.2,-0.1},...
'Variance',0.01)
Md1.Distribution = tdist
tdist = struct('Name','t',"DoF":10)
2.使用estimate
EstMd1 = estimate(Md1,y) 使用最大似然估计
文档解释:在给定观察到的单变量时间序列的情况下,使用最大似然估计 ARIMA(p,D,q)模型的参数,返回的EstMd1是储存的结果
[EstMdl,EstParamCov
,logL
,info
] = estimate(Mdl,y)
EstParamCov: 与估计参数相关的方差-协方差矩阵
logL,优化的loglikelihood目标函数,info,一个汇总信息的数据结构。
3.使用forecast
[Y,YMSE,U] = forecast(Mdl,numperiods,Name,Value)
w_Forecast = forecast(EstMd1,10,'Y0',da) %计算10步预报值
NAME :
'U0' Presample无条件扰动
'X0"预采样预测器数据
'XF' 预测或未来预测数据
'Y0'
- 预采样响应数据