主要内容

隐式创建时变扩散状态空间模型

这个例子展示了如何创建一个扩散状态空间模型,其中一个状态变量在一段时间后退出模型。

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

数组$ $ \开始{}{1}& # xA;{间{1,t}} = \ phi_1{间{1,t - 1}} - \ phi_2{间{1,t - 2}} + {u_ {1, t}} \ \ & # xA;{间{2,t}} = {u_ {2, t}} + \ theta_1 {u_ {2, t - 1}}, & # xA; \{数组}$ $

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

$ ${间{1,t}} = \ phi_1{间{1,t - 1}} - \ phi_2{间{1,t - 2}} + {u_ {1, t}} $ $

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

潜过程是用

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

前25节课

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

在过去的25个时期\ varepsilon_t美元为高斯分布,均值为0,标准差为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个阶段,

数组$ $ \开始{}{1}& # xA;左\[{\开始数组{}{* {20}{c}} & # xA;{{间{1,t}}} \ \ & # xA;{{间{2,t}}} & # xA;结束\{数组}}\右]左= \[{\开始数组{}{* {20}{c}} & # xA;{{\φ_1}}和{{\φ_2}}& # 38;0 & # 38;0 \ \ & # xA; 1 & # 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}}}
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
1\\
0
\end{array}} \right]{u_{1,t}}\\
{y_t} = b{x_{1,t}} + {\varepsilon _t}
\end{array}$$

第26期

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

在过去的24个时期。

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

版权所有2015 The MathWorks, Inc.函数[A, B, C, D, Mean0 Cov0, StateType] = diffuseAR2MAParamMap (params, T)%diffuseAR2MAParamMap时变扩散状态空间模型参数%映射函数%这个函数将向量参数映射到状态空间矩阵(A, B,% C,和D)和状态类型(StateType)。从周期1到T/2状态模型为AR(2)和MA(1)模型,观测模型为两种状态之和。从周期T/2 + 1到T,状态模型是%只是AR(2)模型。AR(2)模型是漫反射的。A1 = {[params(1) params(2) 0 0;1 0 0 0;0 0 0 params(3);0 0 0};B1 = {[10 0;0 0;0 1;0 1]};C1 = {params(4)*[1 0 1 0]};Mean0 = []; Cov0 = []; StateType = [2 2 0 0]; A2 = {[params(1) params(2) 0 0; 1 0 0 0]}; B2 = {[1; 0]}; A3 = {[params(1) params(2); 1 0]}; B3 = {[1; 0]}; C3 = {params(5)*[1 0]}; A = [repmat(A1,T/2,1);A2;repmat(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;结束

将此代码保存为一个名为diffuseAR2MAParamMap在您的MATLAB®路径。

通过传递函数创建扩散状态空间模型diffuseAR2MAParamMap的函数句柄dssm.本例使用了50个观察结果。

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

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

dssm含有未知参数。您可以模拟数据,然后使用估计

另请参阅

||

相关的例子

更多关于