隐式地创建状态空间模型时变扩散
这个例子展示了如何创建一个分散的状态空间模型的状态变量模型后一定时期内的抵消。
假设一个潜在的过程由一个AR(2)和一个马(1)模型。有50时期,马(1)过程中滴出模型的最后25期。因此,第一个25期的状态方程
和过去的25期,它是
在哪里和与的意思是0和标准偏差1高斯。
测量使用的流程
第一25期,
在过去的25期,是高斯的意思是0和标准偏差1。
在一起,潜在的过程和状态空间模型观测方程组成。如果系数是未知参数,状态方程模型
第一25期,
时间26日和
在过去的24期。
写一个函数,用于指定参数参数个数
状态空间模型映射到矩阵,初始状态值和状态的类型。
% 2015年版权MathWorks公司。函数[A, B, C, D, Mean0 Cov0, StateType] = diffuseAR2MAParamMap (params, T)% diffuseAR2MAParamMap时变参数状态空间模型%映射函数%%这个函数将向量映射参数状态方程矩阵(A, B,% C和D)和状态(StateType)的类型。从阶段1 T / 2,%状态模型是一种基于“增大化现实”技术(2)和一个马(1)模型和观测模型%两种状态的总和。从时间T / T 2 + 1,状态模型%的AR(2)模型。AR(2)模型是分散。A1 = {(params (1) params (2) 0 0;1 0 0 0;0 0 0 params (3);0 0 0 0]};B1 = {(1 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
含有未知参数。你可以使用模拟数据,然后估计参数估计
。