Matlab 8时间序列ARIMA

 ARIMA : auto-regressive Moving Average

 使用estimate-数据估计系数 或者simulate-模拟模型

1.已系数的ARIMA 然后修改

AR(3):是系数

MA是阶数

比如

yt=εt+θ1εt1+θ2εt2+θ12εt12.

'MALags',[1,2,12]

yt=0.05+0.6yt1+0.2yt20.1yt3+ε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(pDq)模型的参数,返回的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'- 预采样响应数据

猜你喜欢

转载自www.cnblogs.com/zero27315/p/10605966.html