过滤包含回归成分的状态空间模型的状态

这个示例展示了如何过滤包含回归组件的定常状态空间模型的状态。

假设失业率的变化与名义国民生产总值(nGNP)增长率之间的线性关系是有趣的。进一步假设失业率的第一个差是一个ARMA(1,1)系列。从符号和状态空间的形式来看,模型是

( x 1 , t x 2 , t ] = ( ϕ θ 0 0 ] ( x 1 , t - 1 x 2 , t - 1 ] + ( 1 1 ] u 1 , t y t - β Z t = x 1 , t + σ ε t ,

地点:

  • x 1 , t 当时的失业率变化了吗t

  • x 2 , t 是MA(1)效应的哑态。

  • y 1 , t 失业率的变化是否被国民生产总值(gnp)的增长率所抵消? Z t )。

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

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

加载Nelson-Plosser数据集,其中包含失业率和nGNP系列以及其他内容。

负载Data_NelsonPlosser

对数据进行预处理,对nGNP序列取自然对数,对每个序列取一阶差。另外,删除启动每个系列的值。

isNaN =任何(ismissing(数据表),2);标记包含nan的句点gnpn = DataTable.GNPN (~ isNaN);u = DataTable.UR (~ isNaN);T =大小(gnpn, 1);%样本大小Z = [ones(t -1,1) diff(log(gnpn))];y = diff (u);

虽然这个例子去掉了缺失值,但是软件可以在卡尔曼滤波框架中容纳包含缺失值的系列。

指定系数矩阵。

A = [NaN NaN;0 0];B = [1;1);C = [10];D =南;

使用指定状态空间模型舰导弹

Mdl =舰导弹(A, B, C, D);

估计模型参数。为优化指定回归组件及其初始值“预测”“Beta0”分别是名称-值对参数。限制估计 σ 所有的正数,实数。

params0 = [0.3 0.2 0.2];[EstMdl, estParams] =估计(Mdl y params0,“预测”, Z,“Beta0”(0.1 - 0.2),“磅”(负负0负无穷,无穷]);
方法:最大似然(fmincon)样本量:61对数似然:-99.7245 Akaike信息准则:209.449贝叶斯信息准则:220.003 |多项式系数性病犯错t统计概率- c (1) c(2) | | -0.34098 0.29608 -1.15164 0.24948 1.05003 0.41377 2.53771 0.01116摄氏度(3)| 0.48592 0.36790 1.32079 0.18657 y < - z (1) | 1.36121 0.22338 6.09358 0 y < - z(2) | -24.46711 1.60018 -15.29024 0 | |最终状态性病Dev t统计概率x (1) | 1.01264 0.44690 2.26592 0.02346 0.58917 1.31912 0.18713 0.77718 (2) |

EstMdl是一个舰导弹模型,您可以使用点符号访问它的属性。

过滤估计的状态空间模型。EstMdl不存储数据或回归系数,所以您必须在使用名称-值对参数时传入它们“预测”“β”,分别。绘制估计的,过滤的状态。回想一下,第一种状态是失业率的变化,第二种状态帮助构建第一种状态。

filteredX =过滤器(EstMdl y“预测”, Z,“β”, estParams (end-1:结束));(图绘制(日期(结束)- t - 1 + 1:结束),filteredX (: 1));包含(“时间”) ylabel (“失业率的变化”)标题(“过滤后的失业率变化”)

另请参阅

|||

相关的话题