这个示例展示了如何过滤包含回归组件的定常状态空间模型的状态。
假设失业率的变化与名义国民生产总值(nGNP)增长率之间的线性关系是有趣的。进一步假设失业率的第一个差是一个ARMA(1,1)系列。从符号和状态空间的形式来看,模型是
地点:
当时的失业率变化了吗t。
是MA(1)效应的哑态。
失业率的变化是否被国民生产总值(gnp)的增长率所抵消? )。
为均值为0,标准差为1的状态扰动的高斯级数。
观测创新的高斯级数是否有均值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 (“失业率的变化”)标题(“过滤后的失业率变化”)