这个例子展示了状态空间模型模拟的结果如何更加平滑(simsmooth
)比较平滑状态(光滑的
).
假设失业率变化与( )及名义国民生产总值增长率( )可以表示为以下状态空间模型形式。
地点:
失业率的变化是多少t.
是MA(1)效应的虚拟状态吗 .
nGNP的增长率是多少t.
是MA(1)效应的虚拟状态吗 .
是观察到的失业率变化。
为观测到的国民生产总值增长率。
和 为均值为0,标准差为1的状态扰动的高斯序列。
高斯序列的观测创新是否有均值0和标准差 .
高斯序列的观测创新是否有均值0和标准差 .
加载Nelson-Plosser数据集,其中包含失业率和nGNP系列。
负载Data_NelsonPlosser
通过对nGNP系列取自然对数,以及每个系列的第一个差值,对数据进行预处理。此外,删除开始南
每个系列的值。
isNaN =任何(ismissing(数据表),2);%包含nan的标记句点gnpn = DataTable.GNPN (~ isNaN);u = DataTable.UR (~ isNaN);T =大小(gnpn, 1);%样本大小y = 0 (t - 1、2);% Preallocatey (: 1) = diff (u);y (:, 2) = diff(日志(gnpn));
本例继续使用series without南
值。然而,使用卡尔曼滤波框架,软件可以容纳包含缺失值的序列。
指定系数矩阵。
A = [NaN NaN NaN 0;0 0 0 0;NaN 0 NaN;0 0 0 0];B = [1 0;1 0;]0 1;0 1];C = [1 0 0 0;0 0 1 0];D = [NaN 0; 0 NaN];
使用指定状态空间模型舰导弹
.验证模型规范是否与状态空间模型一致。
Mdl =舰导弹(A, B, C, D)
Mdl =状态空间模型类型:ssm状态向量长度:4观测向量长度:2状态扰动向量长度:2观测创新向量长度:2模型支持的样本量:无限估计未知参数:8个状态变量:x1, x2,…万博1manbetx状态扰动:u1 u2…观察系列:y1, y2,…观察创新:e1, e2,…未知参数:c1, c2,…状态方程:x1(t) = (c1)x1(t-1) + (c3)x2(t-1) + (c4)x3(t-1) + u1(t) x2(t) = u1(t) x3(t) = (c2)x1(t-1) + (c5)x3(t-1) + (c6)x4(t-1) + u2(t) x4(t) = u2(t)观测方程:y1(t) = x1(t) + (c7)e1(t) y2(t) = x3(t) + (c8)e2(t)初始状态分布:初始状态均值未指定。未指定初始状态协方差矩阵。未指定状态类型。
估计模型参数,并使用一组随机初始参数值进行优化。限制估计
和
对所有正数,实数“磅”
名称-值对的论点。为保证数值稳定性,在软件计算参数协方差矩阵时指定Hessian,使用“CovMethod”
名称-值对的论点。
rng (1);params0 =兰德(8,1);[EstMdl, estParams] =估计(Mdl y params0,...“磅”,[-Inf -Inf -Inf -Inf -Inf 0 0],“CovMethod”,“海赛”);
方法:最大似然(fmincon)样本量:61对数似然:-199.397 Akaike信息准则:414.793贝叶斯信息准则:431.68 | t统计概率多项式系数Std犯错 ---------------------------------------------------- c (1) c(2) | | 0.03387 0.15213 0.22262 0.82383 -0.01258 0.05749 -0.21876 0.82684摄氏度(3)0 c(4) | | 2.49856 0.22759 10.97827 0.77438 2.58647 0.29940 0.76464摄氏度(5)c(6) | | 0.13994 2.64354 0.05293 0.95778 0.00367 2.45466 0.00150 0.99881摄氏度(7)| 0.00239 2.11320 0.001130.99910 c(8) | 0.00014 0.12685 0.00113 0.99910 | | Final State Std Dev t Stat Prob x(1) | 1.40000 0.00239 585.58069 0 x(2) | 0.21778 0.91641 0.23765 0.81216 x(3) | 0.04730 0.00014 329.61776 0 x(4) | 0.03568 0.00015 240.98748 0
EstMdl
是一个舰导弹
模型,您可以使用点表示法访问它的属性。
模拟1 e4
来自拟合状态空间模型的观测路径EstMdl
使用仿真更流畅。指定模拟每个时期的观察。
numPaths = 1 e4;SimX = simsmooth (EstMdl y“NumPaths”, numPaths);
SimX
是一个T - 1
——- - - - - -4
——- - - - - -numPaths
包含模拟状态的矩阵。的行SimX
对应于周期,列对应于模型中的一种状态,页对应于路径。
估计平滑状态均值、标准偏差和95%置信区间。
SmoothBar =意味着(SimX, 3);SmoothSTD =性病(SimX 0 3);SmoothCIL = SmoothBar - 1.96*SmoothSTD;SmoothCIU = SmoothBar + 1.96*SmoothSTD;
使用以下方法估计平滑状态光滑的
.
SmoothX =光滑(EstMdl y);
绘制平滑状态,以及模拟状态的均值和它们的95%置信区间。
figure h = plot(日期(2:T),SmoothBar(:,1),“- r”,...日期(2:T) SmoothCIL (: 1),“b”,...日期(2:T) SmoothCIU (: 1),“b”,...日期(2:T) SmoothX (: 1),”:k”,...“线宽”3);包含“时间”;ylabel“失业率”;传奇(h((1、2、4)){“模拟平滑状态”,95%置信区间的,...“平滑状态”},“位置”,“最佳”);标题“平滑失业率”;轴紧
figure h = plot(日期(2:T),SmoothBar(:,3),“- r”,...日期(2:T) SmoothCIL (:, 3),“b”,...日期(2:T) SmoothCIU (:, 3),“b”,...日期(2:T) SmoothX (:, 3),”:k”,...“线宽”3);包含“时间”;ylabel“nGNP”;传奇(h((1、2、4)){“模拟平滑状态”,95%置信区间的,...“平滑状态”},“位置”,“最佳”);标题“平滑nGNP”;轴紧
模拟状态方法与光滑状态几乎相同。