超类:
状态空间模型创建
创建一个状态空间模型(Mdl
=舰导弹(一个
,B
,C
)Mdl
)使用状态转换矩阵一个
,state-disturbance-loading矩阵B
和测量灵敏度矩阵C
。
使用状态转换矩阵创建状态空间模型Mdl
=舰导弹(一个
,B
,C
,D
)一个
,state-disturbance-loading矩阵B
,measurement-sensitivity矩阵C
,以及观测-创新矩阵D
。
使用前面的语法中的任何输入参数和由一个或多个指定的其他选项Mdl
=舰导弹(___,名称,值
)名称,值
对参数。
的名字
也可以是一个属性名和价值
是对应的值。的名字
必须出现在单引号内(“”
)。可以以任意顺序指定多个名称-值对参数Name1, Value1,…,的家
。
使用参数到矩阵的映射函数(Mdl
=舰导弹(ParamMap
)ParamMap
)你写。该函数将参数向量映射到矩阵一个
,B
,C
。可选地,ParamMap
可以将参数映射到D
,Mean0
,或Cov0
。要指定状态的类型,函数可以返回StateType
。为了在观测方程中容纳一个回归分量,ParamMap
也可以返回泄气的观测数据。
转换分散的状态空间模型对象(Mdl
=舰导弹(DSSMMdl
)DSSMMdl
)到一个状态空间模型对象(Mdl
)。舰导弹
设置在弥漫国家的全部初始差异SSMMdl.Cov0
来1 e07
。
disp | 显示状态空间模型的摘要信息 |
估计 | 状态空间模型的极大似然参数估计 |
过滤器 | 状态空间模型的前向递归 |
预测 | 预测的状态和状态空间模型的观察 |
完善 | 细化初始参数以帮助状态空间模型估计 |
simsmooth | 状态空间模型仿真平滑 |
模拟 | 状态空间模型的蒙特卡罗模拟 |
光滑 | 状态空间模型的向后递归 |
价值。要了解值类如何影响复制操作,请参见复制对象(MATLAB)。
指定ParamMap
在更一般或更复杂的情况下,例如:
初始状态值是参数。
在时变模型中,您希望在多个时间段中使用相同的参数。
你想强加参数约束。
的默认值Mean0
和Cov0
:
如果你明确地指定状态空间模型(也就是你提供的系数矩阵一个
,B
,C
和任选D
),那么:
对于平稳状态,软件使用平稳分布产生初始值。如果您在系数矩阵中提供了所有的值(也就是说,您的模型没有未知的参数),那么舰导弹
生成初始值。否则,软件在估计过程中生成初始值。
对于常数1的状态,舰导弹
集Mean0
为1,Cov0
来0
。
对于扩散状态,软件设置Mean0
为0,Cov0
来1 e7
默认情况下。
如果您隐式地创建了状态空间模型(也就是说,您向系数-矩阵-映射函数提供了参数向量)ParamMap
),然后软件在估计期间生成任何初始值。
对于在整个样本中不等于1的静态状态,软件不能为退化的初始状态分布赋值。因此,将静态状态设置为2
使用名称 - 值对参数StateType
。随后,该软件将静态状态视为非平稳状态,并将静态状态赋值为扩散初始分布。
这是设置的最佳实践StateType
每个状态。默认情况下,该软件生成StateType
,但这种行为可能并不准确。例如,软件不能区分恒定状态和静态状态。
软件无法推断StateType
因为数据理论上来自于观测方程。状态方程的实现是不可观测的。
舰导弹
模型不存储观察到的响应或预测数据。在任何需要的地方使用适当的输入或名称-值对参数提供数据。
假设你想用一个参数对矩阵映射函数与此签名创建一个状态空间模型:
[A, B, C, D, Mean0 Cov0, StateType, DeflateY] = paramMap (params, Y, Z)
Mdl =舰导弹(@ (params) paramMap (params, Y, Z))
Y
和预测数据Z
是不是在匿名函数的输入参数。如果Y
和Z
在创建之前存在于MATLAB工作区中Mdl
,然后软件就会建立到它们的链接。否则,如果你通过Mdl
来估计
,软件抛出一个错误。由匿名函数建立的数据链路覆盖的所有其它相对应的输入参数值估计
。这一区别在进行滚动窗口分析时尤为重要。有关详细信息,请参见时间序列模型的滚动窗口分析。
[1] Durbin J.和S. J. Koopman。用状态空间法进行时间序列分析。2版。牛津:牛津大学出版社,2012。