主要内容

预测时变扩散状态空间模型

此示例演示如何从已知模型生成数据,将漫反射状态空间模型拟合到数据,然后从拟合模型预测状态和观测状态。

假设一个潜在过程包含一个AR(2)和一个MA(1)模型。共有50个周期,而MA(1)过程在最后25个周期退出模型。因此,前25个周期的状态方程为

数组$ $ \开始{}{1}& # xA;{间{1,t}} = 0.7{间{1,t - 1}} - 0.2{间{1,t - 2}} + {u_ {1, t}} \ \ & # xA;{间{2,t}} = {u_ {2, t}} + 0.6 {u_ {2, t - 1}}, & # xA; \{数组}$ $

在过去的25年里,确实如此

$ ${间{1,t}} = 0.7{间{1,t - 1}} - 0.2{间{1,t - 2}} + {u_ {1, t}} $ $

在哪里u_ {1, t} $美元$ u_ {2, t} $均为高斯分布,平均值为0,标准偏差为1。

假设该序列分别从1.5和1开始,产生一个随机序列,由50个观察值组成$x{1,t}$间的美元$ {2,t}

T=50;ARMdl=arima(基于“增大化现实”技术的{0.7, -0.2},“常数”,0,“方差”1);MAMdl = arima (“妈妈”,0.6,“常数”,0,“方差”,1); x0=[1.51;1.51];rng(1);x=[模拟(ARMdl,T,“Y0”,x0(:,1)),...模拟(MAMdl T / 2,“Y0”,x0(:,2));nan(T/2,1)];

模拟MA(1)数据的最后25个值为值。

潜在过程是使用

$ $ {y_t} = 2 \离开({{间{1,t}} +{间{2,t}}} \右)+ {\ varepsilon _t} $ $

前25期,以及

${y_t} = 2{x_{1,t}} + {\varepsilon _t}$

在过去的25个时期\ varepsilon_t美元为高斯分布,平均值为0,标准偏差为1。

使用随机潜在状态过程(x)和产生观测值的观测方程。

y=2*和(x',“omitnan”)'+randn(T,1);

潜过程和观测方程共同构成状态空间模型。如果系数是未知参数,则状态空间模型为

数组$ $ \开始{}{1}& # xA;左\[{\开始数组{}{* {20}{c}} & # xA;{{间{1,t}}} \ \ & # xA;{{间{2,t}}} \ \ & # xA;{{间{3 t}}} \ \ & # xA;{{间{4 t}}} & # xA;结束\{数组}}\右]左= \[{\开始数组{}{* {20}{c}} & # xA;{{\φ_1}}和{{\φ_2}}& # 38;0 & # 38;0 \ \ & # xA; 1 & # 38; 0 & # 38; 0 & # 38; 0 \ \ & # xA; 0 & # 38; 0 & # 38; 0 &{{\θ_1}}\ \ & # xA; 0 & # 38; 0 & # 38; 0 & # 38; 0 & # xA;结束\{数组}}\右]左\ [数组{\开始{}{* {20}{c}} & # xA;{{间{1,t - 1}}} \ \ & # xA;{{间{2,t - 1}}} \ \ & # xA;{{间{3 t - 1}}} \ \ & # xA;{{间{4,t - 1}}} & # xA;结束\{数组}}\]+ \左右[{\开始{数组}{* {20}{c}} & # xA; 1 & # 38; 0 \ \ & # xA; 0 & # 38; 0 \ \ & # xA; 0 & # 38; 1 \ \ & # xA; 0 & # 38; 1 & # xA;结束\{数组}}\右]\离开[{\开始{数组}{* {20}{c}} & # xA; {{u_ {1, t}}} \ \ & # xA; {{u_ {2, t}}} & # xA;结束\{数组}}\右]\ \ & # xA; {y_t}= a({x_{1,t}} + {x_{3,t}}) + {\varepsilon _t}
\end{array}$$

前25期,,

[开始{{{{{数组数组}{{{{{{{{{}}{{{{{{{{{}}}}{{{{{{}}}}{{{{{}}}}}}{{{{{{}}}}}{{{{}}}{{{{}}}}{{{{{{}}}}}}}{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0例如,t-1}}\\\
;{{x_{4,t-1}}&{xA;\end{array}}\right]+\left[{begin{array}{20}{c}&{xA;1\\\&{xA;0&{xA;\end{array}}\right]{u{1,t}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}b}x}xA 0&{xA end{array}\xA n}{$$

第26期

[开始{{{{{数组数组}{{{{{{{{{}}{{{{{{{{{}}}}{{{{{{}}}}{{{{{}}}}}}{{{{{{}}}}}{{{{}}}{{{{}}}}{{{{{{}}}}}}}{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}2}\\\\&{xA;1&;0&{xA;\end{array}}\right]\_left[{begin{array}{{20}{c}}和{xA;{x{1,t-1}\\\\\\\\&{xA x{2,t-1}}}}和{end{array}left}{begin c}{20}{
;1\\
;0
;\end{array}\right]{u{1,t}\\\
;{y{u t}=b{x{1,t}+{\varepsilon,t}&\end{array}$$

在过去的24个时期。

编写一个函数,指定参数如何在params映射到状态空间模型矩阵、初始状态值和状态类型。

%MathWorks,Inc.版权所有2015。作用[A, B, C, D, Mean0 Cov0, StateType] = diffuseAR2MAParamMap (params, T)%DiffuseAR2Map时变漫反射状态空间模型参数%映射函数这个函数将向量参数映射到状态空间矩阵(A, B,% C,和D)和状态类型(StateType)。从周期1到T/2状态模型为AR(2)和MA(1)模型,观测模型为%两种状态的总和。从周期T/2+1到T,状态模型为%只是AR(2)模型。AR(2)模型是漫反射的。1.0 0 0元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元元A3,(T-2)/2,1)]B=[repmat(B1,T/2,1);B2;repmat(B3,(T-2)/2,1)];C=[repmat(C1,T/2,1);repmat(C3,T/2,1)];D=1;结束

将此代码另存为名为漫射ar2maparamap在您的MATLAB®路径。

通过传递函数创建漫反射状态空间模型漫射ar2maparamap作为函数句柄dssm

Mdl = dssm (@ (params) diffuseAR2MAParamMap (params, T));

dssm隐式创建扩散状态空间模型。通常,您不能验证隐式创建的扩散状态空间模型。

要估计参数,请传递观察到的响应(y)到估计.为未知参数指定一组任意的正初始值。

参数0=0.1*个(5,1);EstMdl=估计值(Mdl,y,参数0);
方法:最大似然(fminunc)有效样本量:48对数似然:-110.313 Akaike信息准则:230.626贝叶斯信息准则:240.186 | t统计概率多项式系数Std犯错  --------------------------------------------------- c (1) c(2) | | 0.44041 0.27687 1.59069 0.11168 0.03949 0.29585 0.13349 0.89380摄氏度(3)| 0.78364 1.49223 0.52515 0.59948摄氏度(4)c(5) | | 1.64260 0.66737 2.46133 0.01384 1.90409 0.49374 3.85648 0.00012 | |最终状态性病Dev t统计概率x (1) | -0.81932 - 0.46706-1.75420 0.07940 x(2) | -0.29909 0.45939 -0.65107 0.51500

EstMdl是一个dssm包含估计系数的模型。状态空间模型的似然曲面可能包含局部极大值。因此,尝试几个初始参数值,或考虑使用。完善

预测未来五个时期的观测结果和状态。此外,获取预测的可变性度量。

numPeriods=5;[fY,yMSE,FX,XMSE]=预测(EstMdl,numPeriods,y);

预测使用EstMdl。{结束}、……EstMdl.D{end}预测漫反射状态空间模型。财政年度yMSEnumPeriods-1预测观测值的数值向量和预测观测值的方差。外汇XMSEnumPeriods-状态预测和状态预测方差的by-2矩阵。列表示状态,行表示期间。对于所有输出参数,最后一行对应于最新的预测。

绘制观测值、真实状态、预测观测值和状态预测。

图;情节(T-10: T, x (T-10: T, 1),“- k”,T+1:T+numPeriods,FX(:,1),“-r”...T-10: T、y (T-10: T),“——g”,T+1:T+numPeriods,fY,“——b”...T: T + 1, y (T)财政年度(1);x (T) 1),外汇(1,1)]”,“:k”“线宽”,2);xlabel(“时间”)伊拉贝尔(“状态和观察”)传奇({“真实状态值”“国家预测”...“观察到的反应”“预测反应”});

另请参阅

||

相关的例子

更多关于