这个例子展示了如何隐式地创建一个状态空间模型,该模型在观察方程中包含一个回归组件。状态模型是ARMA(1,1)。
写一个函数来指定参数如何参数个数
映射到状态空间模型矩阵、初始状态值和状态类型。通过缩小函数内的观察值来指定回归组件。象征性地,模型是:
%版权所有The MathWorks, Inc.函数[A, B, C, D, Mean0 Cov0, StateType, DeflateY] = regressionParamMap (params, y, z)带有回归组件参数映射函数的状态空间模型%的例子。这个函数将向量参数映射到状态空间矩阵% (A, B, C, D),初始状态值和初始状态方差% (Mean0和Cov0)和状态类型(StateType)。状态模型为%的ARMA(1,1)。varu1 = exp (params (3));正方差约束vare1 = exp (params (4));A = [params(1) params(2);0 0];B = [sqrt (varu1);1);C = [10 0];D =√vare1);Mean0 = [0.5 0.5];Cov0 =眼(2);stateltype = [0 0]; DeflateY = y - params(5)*z;结束
将此代码保存为一个名为regressionParamMap
在MATLAB®路径上。
通过传递函数来创建状态空间模型regressionParamMap
的函数句柄舰导弹
.
Mdl =舰导弹(@ (params) regressionParamMap (params, y, z));
舰导弹
隐式地创建状态空间模型。通常,您不能验证隐式定义的状态空间模型。
在创建模型之前,确保数据y
和z
存在于你的工作空间中。