主要内容

比较仿真平滑和平滑状态

这个例子展示了状态空间模型模拟的结果如何更加平滑(simsmooth)比较平滑状态(光滑的).

假设失业率变化与( x 1 t )及名义国民生产总值增长率( x 3. t )可以表示为以下状态空间模型形式。

x 1 t x 2 t x 3. t x 4 t ϕ 1 θ 1 γ 1 0 0 0 0 0 γ 2 0 ϕ 2 θ 2 0 0 0 0 x 1 t - 1 x 2 t - 1 x 3. t - 1 x 4 t - 1 + 1 0 1 0 0 1 0 1 u 1 t u 2 t

y 1 t y 2 t 1 0 0 0 0 0 1 0 x 1 t x 2 t x 3. t x 4 t + σ 1 0 0 σ 2 ε 1 t ε 2 t

地点:

  • x 1 t 失业率的变化是多少t

  • x 2 t 是MA(1)效应的虚拟状态吗 x 1 t

  • x 3. t nGNP的增长率是多少t

  • x 4 t 是MA(1)效应的虚拟状态吗 x 3. t

  • y 1 t 是观察到的失业率变化。

  • y 2 t 为观测到的国民生产总值增长率。

  • u 1 t u 2 t 为均值为0,标准差为1的状态扰动的高斯序列。

  • ε 1 t 高斯序列的观测创新是否有均值0和标准差 σ 1

  • ε 2 t 高斯序列的观测创新是否有均值0和标准差 σ 2

加载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)初始状态分布:初始状态均值未指定。未指定初始状态协方差矩阵。未指定状态类型。

估计模型参数,并使用一组随机初始参数值进行优化。限制估计 σ 1 σ 2 对所有正数,实数“磅”名称-值对的论点。为保证数值稳定性,在软件计算参数协方差矩阵时指定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%置信区间的...“平滑状态”},“位置”“最佳”);标题“平滑失业率”;轴

图中包含一个轴对象。标题为平滑失业率的轴对象包含4个类型为line的对象。这些对象代表模拟的平滑状态均值,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”;轴

图中包含一个轴对象。标题为Smoothed nGNP的轴对象包含4个类型为line的对象。这些对象代表模拟的平滑状态均值,95%置信区间,平滑状态。

模拟状态方法与光滑状态几乎相同。

另请参阅

|||