主要内容

隐式创建包含回归组件的扩散状态空间模型

这个例子展示了如何隐式地创建一个在观测方程中包含回归组件的扩散状态空间模型。状态模型包含ARMA(1,1)状态和随机游走。

写一个函数来指定参数的输入方式参数个数映射到状态空间模型矩阵、初始状态值和状态类型。通过压缩函数内的观察值来指定回归组件。象征性地,模型为:

数组$ $ \开始{}{1}& # xA;左\[{\开始数组{}{* {20}{c}} & # xA;{{间{1,t}}} \ \ & # xA;{{间{2,t}}} \ \ & # xA;间{3 t} & # xA;结束\{数组}}\右]左= \[{\开始数组{}{* {20}{c}} & # xA;{{\φ_1}}和{{\θ_1}}& # 38;0 \ \ & # xA; 0 & # 38; 0 & # 38; 0 \ \ & # xA; 0 & # 38; 0 & # 38; 1 & # xA;结束\{数组}}\右]\离开[{\开始{数组}{* {20}{c}} & # xA;{{间{1,t - 1}}} \ \ & # xA;{{间{2,t - 1}}} \ \ & # xA;间{3 t - 1} & # xA;结束\{数组}}\右]+左\[{\开始数组{}{* {20}{c}} & # xA;{{\σ_1}}& # 38;0 \ \ & # xA; 1 & # 38;\ \ & # xA; 0 & # 38;结束\ sigma_3& # xA; \{数组}}\右]\离开[{\开始{数组}{* {20}{c}} & # xA; {u_ {1, t}} \ \ & # xA; {u_ {3 t}} & # xA;结束\{数组}}\右]\ \ & # xA; {y_t} -β\ {z_t} = a_1{间{1,t}} + a_2x_ {3 t} + {\ sigma_2} {\ varepsilon _t} # xA;公司\{数组}$ $

版权所有The MathWorks, Inc.函数[A,B,C,D,Mean0,Cov0,StateType,DeflateY] = diffuseRegressionParamMap(params,y,z)带有回归组件参数映射的扩散状态空间模型函数示例。这个函数将向量参数映射到状态空间%矩阵(A, B, C和D),并指示状态类型(StateType)。状态模型包含一个ARMA(1,1)模型和一个随机游走。Varu1 = exp(参数(3));正方差约束Vare1 = exp(参数(5));A = [params(1) params(2);0 0];B =[√(varu1) 0;1 0];C = [varu1 0];D =平方根(vare1);Mean0 = [];让软件推断Mean0Cov0 = [];让软件推断Cov0StateType = [0 0 2];DeflateY = y - params(6)*z;结束

将此代码保存为一个名为diffuseRegressionParamMap.m到MATLAB®路径上的文件夹。

通过传递创建弥漫状态空间模型diffuseRegressionParamMap的函数句柄dssm

Mdl = dssm(@(params)diffuseRegressionParamMap(params,y,z));

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

在创建模型之前,确保变量y而且z存在于你的工作空间中。

另请参阅

相关的话题