超类:
创建扩散状态空间模型
dssm
创建一个线性扩散状态空间模型独立高斯态扰动和观测创新。弥散状态空间模型包含弥散状态,初始分布的方差为正
.所有扩散态都相互独立,也独立于所有其他态。该软件实现了扩散卡尔曼滤波滤波,平滑和参数估计。
您可以:
在创建包含未知参数的扩散状态空间模型之后,您可以通过传递已创建的参数来估计其参数dssm
为对象和数据建模估计
.的估计
函数使用扩散卡尔曼滤波器构建似然函数。
使用一个完全指定的模型(即模型的所有参数值都是已知的):
创建一个扩散状态空间模型(Mdl
= dssm (一个
,B
,C
)Mdl
)使用状态转换矩阵一个
,状态扰动加载矩阵B
,和测量灵敏度矩阵C
.
使用状态转换矩阵创建扩散状态空间模型Mdl
= dssm (一个
,B
,C
,D
)一个
,状态扰动加载矩阵B
,测量灵敏度矩阵C
,观察-创新矩阵D
.
使用前面语法中的任何输入参数和您指定的一个或多个附加选项Mdl
= dssm (___,名称,值
)名称,值
对参数。
使用参数到矩阵映射函数创建扩散状态空间模型(Mdl
= dssm (ParamMap
)ParamMap
)你写的。该函数将参数向量映射到矩阵一个
,B
,C
.可选地,ParamMap
可以将参数映射到D
,Mean0
,Cov0
.为了指定状态类型,函数可以返回StateType
.为了适应观测方程中的回归分量,ParamMap
还可以返回泄气的观测数据。
转换状态空间模型对象(Mdl
= dssm (SSMMdl
)SSMMdl
)到扩散状态空间模型对象(Mdl
).dssm
设置所有弥漫状态的初始方差SSMMdl。Cov0
来正
.
disp | 显示扩散状态空间模型的摘要信息 |
估计 | 扩散状态空间模型的极大似然参数估计 |
过滤器 | 扩散状态空间模型的前向递归 |
预测 | 扩散状态空间模型的预测状态和观测 |
完善 | 细化初始参数以帮助扩散状态空间模型估计 |
光滑的 | 弥漫状态空间模型的向后递归 |
价值。要了解值类如何影响复制操作,请参见复制对象(MATLAB)。
指定ParamMap
在更一般或更复杂的环境中,例如:
初始状态值是参数。
在时变模型中,您希望对多个时间段使用相同的参数。
您希望施加参数约束。
您可以创建dssm
不包含任何扩散状态的模型对象。然而,后续的计算,例如滤波和参数估计,效率可能很低。如果所有的状态都是平稳分布,或者都是常数1,那么创建一个舰导弹
而是建立对象模型。
的默认值Mean0
而且Cov0
:
如果显式指定状态空间模型(即提供系数矩阵)一个
,B
,C
,可选D
),那么:
对于平稳状态,软件使用平稳分布生成初值。如果你提供系数矩阵中的所有值(也就是说,你的模型没有未知参数),那么dssm
生成初始值。否则,软件在估计过程中生成初始值。
对于常数为1的状态,dssm
集Mean0
到1和Cov0
来0
.
对于弥漫状态,软件设置Mean0
到0和Cov0
来正
默认情况下。
如果隐式指定状态空间模型(即为系数-矩阵-映射函数提供参数向量)ParamMap
),然后由软件在估计过程中生成初始值。
对于整个样本中不等于1的静态状态,软件不能为简并初始状态分布赋值。因此,将静态状态设置为2
使用名称-值对参数StateType
.随后,该软件将静态状态视为非平稳状态,并将静态状态分配为扩散初始分布。
最好的做法是设置StateType
对于每个状态。默认情况下,由软件生成StateType
,但这种行为可能并不准确。例如,软件无法区分恒定状态和静态状态。
软件无法推断StateType
从数据中因为理论上数据来自观测方程。状态方程的实现是不可观察的。
dssm
模型不存储观察到的响应或预测数据。在必要时使用适当的输入或名值对参数提供数据。
假设你想用一个参数到矩阵的映射函数创建一个弥漫的状态空间模型:
[A,B,C,D,Mean0,Cov0,StateType,DeflateY] = paramMap(params,Y,Z)
Mdl = dssm(@(参数)paramMap(参数,Y,Z))
Y
预测数据Z
不是匿名函数中的输入参数。如果Y
而且Z
在创建之前存在于MATLAB工作区中Mdl
,然后软件建立与它们的链接。否则,如果你通过了Mdl
来估计
,该软件抛出一个错误。由匿名函数建立的数据链接覆盖的所有其他相应的输入参数值估计
.这种区别在进行滚动窗口分析时尤其重要。详细信息请参见时间序列模型的滚动窗口分析.
[1]德宾J.和S. J.库普曼。状态空间方法的时间序列分析.牛津:牛津大学出版社,2012年。