状态空间模型估计时变扩散
这个例子展示了如何创建和评估包含时变参数的状态空间模型扩散。
假设一个AR(2)和一个马(1)模型组成一个潜在的过程。有50时期,马(1)过程中滴出模型的最后25期。因此,第一个25期的状态方程
在过去的25期,状态方程
在哪里和与的意思是0和标准偏差1高斯。
生成一个随机的一系列50观测和系列,假设1.5和1开始,分别。
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)数据丢失。
测量使用的流程
第一25期,
在过去的25期。是高斯的意思是0和标准偏差1。
使用随机生成的观察,潜伏状态过程(x
)和观测方程。
y = 2 *总和(x ',“omitnan”)+ randn (T, 1);
在一起,潜在的过程和状态空间模型观测方程组成。如果系数是未知参数,状态方程模型
写一个函数,用于指定参数参数个数
状态空间模型映射到矩阵,初始状态值和状态的类型。
% 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
。
Mdl = dssm (@ (params) diffuseAR2MAParamMap (params, T));
dssm
隐式地定义了状态空间模型扩散。通常情况下,你无法验证分散状态方程隐式创建的模式。
估计参数,通过观察到的响应(y
)估计
。指定积极的未知参数的初始值。
params0 = 0.1 *(5、1)的;EstMdl =估计(Mdl y params0)
方法:最大似然(fminunc)有效样本量:48对数似然:-110.313 Akaike信息标准:230.626贝叶斯信息准则:240.186 |多项式系数性病犯错t统计概率- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c (1) c(2) | | 0.44041 0.27687 1.59069 0.11168 0.03949 0.29585 0.13349 0.89380摄氏度(3)| 0.78364 1.49222 0.52515 0.59948摄氏度(4)c(5) | | 1.64260 0.66736 2.46134 0.01384 1.90409 0.49374 3.85648 0.00012 | |最终状态性病Dev t统计概率x (1) x (2) | | -0.81932 0.46706 -1.75420 0.07940 -0.29909 0.45939 -0.65107 0.51500 EstMdl类型:状态空间模型= < a href = " matlab:医生dssm " > dssm < / >状态向量长度:时变观测向量长度:1状态扰动向量长度:时变观察创新向量长度:1样本容量支持模型:50个状态变量:x1, x2,…金宝app国家干扰:u1, u2,……观察系列:y1, y2,……观察创新:e1, e2,…状态方程周期为1、2、3、……25:x1 (t) = (0.44) x1 (t - 1) + (0.04) x2 (t - 1) + u1 (t) x2 (t) = x1 (t - 1) x3 (t) = (0.78) x4 (t - 1) + u2 (t) x4 (t) = u2 (t)状态方程周期26:x1 (t) = (0.44) x1 (t - 1) + (0.04) x2 (t - 1) + u1 (t) x2 (t) = x1 (t - 1)状态方程时间27日28日,29日,…,50:x1 (t) = (0.44) x1 (t - 1) + (0.04) x2 (t - 1) + u1 (t) x2 (t) = x1 (t - 1)观测方程周期1,2,3,…25:日元(t) = (1.64) x1 (t) + (1.64) x3 (t) + e1 (t)观测方程周期26日27日28日……50:日元(t) = (1.90) x1 (t) + e1 (t)初始状态分布:初始状态意味着(x1, x2) x3 x4 0 0 0 0 x1初始状态协方差矩阵x3 x4 x1正0 0 0 x2 0正0 0 x3 0 0 1.61 1 x4 0 0 1 1状态类型(x1, x2) x3 x4扩散扩散固定静止的
估计的参数在一个标准误差的真值,但错误相当高的标准。可能性的表面状态空间模型可能包含局部极大值。因此,尝试一些初始参数值,或者考虑使用完善
。