状态空间模型模拟时变

这个例子展示了如何从一个已知的生成数据模型,适合对数据的状态空间模型,然后模拟系列从拟合模型。

假设一组潜在的过程由一个AR(2)和一个马(1)模型。有50时期,马(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观测美元间的{1,t} $美元间的{2,t} $

T = 50;ARMdl = arima (基于“增大化现实”技术的{0.7,-0.2},“不变”0,“方差”1);MAMdl = arima (“马”,0.6,“不变”0,“方差”1);x0 = [1.5 - 1;1.5 - 1];rng (1);x =[模拟(ARMdl T“Y0”x0 (: 1)),模拟(MAMdl T / 2,“Y0”x0(: 2));南(T / 2, 1)];

过去的25马值模拟(1)数据值。

进一步假设的过程测量使用

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

第一25期,

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

在过去的25期,\ varepsilon_t美元是高斯的意思是0和标准偏差1。

使用随机潜伏状态过程(x)和观测方程生成的观察。

y = 2 * nansum (x ') ' + 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({间{1,t}} +{间{3 t}}) + {\ varepsilon _t} & # xA; \{数组}$ $

第一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}}} & # xA;结束\{数组}}\右]+ \离开[{\开始{数组}{* {20}{c}} & # xA; 1 \ \ & # xA; 0 & # xA;结束\{数组}}\右]{u_ {1, t}} \ \ & # xA; b {y_t} ={间{1,t}} + {\ varepsilon _t} & # xA; \{数组}$ $

时间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年版权MathWorks公司。函数[A, B, C, D, Mean0 Cov0, StateType] = AR2MAParamMap (params, T)% AR2MAParamMap时变参数状态空间模型的映射函数%%这个函数将向量映射参数状态方程矩阵(A, B,% C和D),初始状态值和初始状态方差(Mean0%和Cov0),状态(StateType)的类型。从阶段1 T / 2,%状态模型是一种基于“增大化现实”技术(2)和一个马(1)模型和观测模型%两种状态的总和。从时间T / T 2 + 1,状态模型%的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 = 1 (4,1); Cov0 = 10*eye(4); StateType = [0 0 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;结束

将该代码保存为一个文件命名AR2MAParamMap在你的MATLAB®路径。

通过状态空间模型创建函数AR2MAParamMap作为句柄函数舰导弹

Mdl =舰导弹(@ (params) AR2MAParamMap (params, T));

舰导弹隐式地创建状态方程模型。通常情况下,你无法验证状态空间模型隐式定义的。

通过观察到的响应(y)估计来估计参数。指定任意组积极的未知参数的初始值。

params0 = 0.1 *(5、1)的;EstMdl =估计(Mdl y params0);
方法:最大似然(fminunc)样本量:50对数似然:-114.957 Akaike信息标准:239.913贝叶斯信息准则:249.473 |多项式系数性病犯错t统计概率- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c (1) c(2) | | 0.47870 0.26634 1.79733 0.07229 0.00809 0.27179 0.02976 0.97626摄氏度(3)| 0.55735 0.80958 0.68844 0.49118摄氏度(4)c(5) | | 1.62679 0.41622 3.90848 0.00009 1.90021 0.49563 3.83391 0.00013 | |最终状态性病Dev t统计概率x (1) | -0.81229 0.46815 -1.73511 0.08272 0.45918 -0.68490 0.49341 -0.31449 (2) |

EstMdl是一个舰导弹包含估计模型系数。可能性的表面状态空间模型可能包含局部极大值。因此,良好的实践尝试几个初始参数值,或者考虑使用完善

模拟反应路径之一,国家,国家扰动,观察创新Mdl。指定每个路径T时间的模拟变体。

[Y、X U E] =模拟(EstMdl T);
  • Y是一个T1模拟观测向量。

  • X是一个T1单元模拟矢量状态。细胞1到25包含4-by-1向量,并通过50包含2×1细胞26向量。

  • U是一个T1细胞模拟矢量状态干扰。细胞1到25包含4-by-1向量,并通过50包含2×1细胞26向量。

  • E是一个T1模拟矢量观测创新。

使用单元索引访问模拟状态的细胞,例如访问细胞5使用X {5}

simStatesPeriod5 = X {5}
simStatesPeriod5 = -0.8660 -2.2826 -0.7071 0.2177

另请参阅

|||

相关的话题