主要内容

dssm类

超类:

建立状态空间模型扩散

描述

dssm创建一个线性状态空间模型扩散与独立的高斯状态扰动和观察创新。弥散包含扩散状态,状态空间模型和方差的初始分布的分散状态。所有分散状态是相互独立的,所有其他国家。软件实现了分散卡尔曼滤波器滤波,平滑和参数估计。

您可以:

  • 指定一个定常时变模型。

  • 指定是否状态是静止不动的,静态或非平稳的。

  • 指定状态转换关系,state-disturbance-loading、measurement-sensitivity或observation-innovation矩阵:

    • 显式地通过提供矩阵

    • 隐式地通过提供一个函数映射的参数矩阵,即parameter-to-matrix映射函数

创建包含未知参数的状态空间模型扩散后,您可以通过估计其参数创建dssm模型对象和数据估计。的估计函数构建使用分散卡尔曼滤波器的似然函数。

使用一个完全指定的模式(即所有模型的参数值是已知的):

  • 使用过滤器或光滑的状态过滤器光滑的,分别。这些函数应用分散状态空间模型的卡尔曼滤波和数据。

  • 预测状态或观察使用预测

建设

Mdl= dssm (一个,B,C)创建一个状态空间模型扩散(Mdl使用状态转换矩阵一个,state-disturbance-loading矩阵B,measurement-sensitivity矩阵C

Mdl= dssm (一个,B,C,D)创建一个使用状态空间模型扩散状态转换矩阵一个,state-disturbance-loading矩阵B,measurement-sensitivity矩阵C,observation-innovation矩阵D

Mdl= dssm (___,名称,值)使用任何输入参数在前面的语法和附加选项指定由一个或多个名称,值对参数。

Mdl= dssm (ParamMap)创建一个分散使用parameter-to-matrix映射函数(状态空间模型ParamMap你写的)。参数的函数映射向量矩阵一个,B,C。可选地,ParamMap可以映射参数D,Mean0,Cov0。指定的类型,函数可以返回StateType。为了适应观测方程中回归组件,ParamMap也可以返回泄气的观测数据。

Mdl= dssm (SSMMdl)将一个对象(状态空间模型SSMMdl对象(状态空间模型)扩散Mdl)。dssm集所有初始分散状态的差异SSMMdl.Cov0

输入参数

全部展开

状态转换关系系数矩阵显式创建状态空间模型,指定为一个矩阵或细胞的向量矩阵。

状态转换关系系数矩阵,一个t,指定如何美国,xt,预计过渡时期t——1t,尽管t= 1,…,T。在期间,预期的状态转换关系方程tE(xt|xt1)=一个txt1

对于定常状态空间模型,指定一个作为一个——- - - - - -矩阵,是每段的状态数。

对于时变状态空间模型,指定一个作为一个T维单元阵列,{t}包含一个t——- - - - - -t- 1状态转换关系系数矩阵。如果州的数量变化t——1t,然后tt- 1

值在任何系数矩阵表示独一无二的,状态空间模型中的未知参数。一个贡献:

  • sum (isnan ((:)))未知参数定常状态空间模型。换句话说,如果是时不变的状态空间模型,然后使用相同的未知参数中定义的软件一个在每一个时期。

  • numParamsA未知参数时变状态空间模型,numParamsA =总和(cell2mat (cellfun (@ (x)和(总和(isnan (x))), A,“UniformOutput”, 0)))。换句话说,如果是随时间变化的状态空间模型,那么软件分配一个新的参数为每个矩阵一个

你不能指定一个ParamMap同时进行。

数据类型:|细胞

State-disturbance-loading系数矩阵显式创建状态空间模型,指定为一个矩阵或细胞的向量矩阵。

干扰,ut,是独立的高斯随机变量均值为0和标准偏差1。state-disturbance-loading系数矩阵,Bt,指定添加剂错误结构的状态转换关系方程t——1t,尽管t= 1,…,T。也就是说,在周期状态转换关系方程txt=一个txt1+Btut

对于定常状态空间模型,指定B作为一个——- - - - - -k矩阵,的状态和数量吗k是国家的数量每时期干扰。B * B”所有时间是state-disturbance协方差矩阵。

对于时变状态空间模型,指定B作为一个T维单元阵列,B {t}包含一个t——- - - - - -ktstate-disturbance-loading系数矩阵。如果国家或州的数量扰动变化时期t,那么矩阵维度之间B {t - 1}B {t}有所不同。{t} * B {t}’时期是state-disturbance协方差矩阵吗t

值在任何系数矩阵表示独一无二的,状态空间模型中的未知参数。B贡献:

  • 总和(isnan (B (:)))未知参数定常状态空间模型。换句话说,如果是时不变的状态空间模型,然后使用相同的未知参数中定义的软件B在每一个时期。

  • numParamsB未知参数时变状态空间模型,numParamsB =总和(cell2mat (cellfun (@ (x)和(总和(isnan (x))), B, UniformOutput, 0)))。换句话说,如果是随时间变化的状态空间模型,那么软件分配一个新的参数为每个矩阵B

你不能指定BParamMap同时进行。

数据类型:|细胞

Measurement-sensitivity系数矩阵显式创建状态空间模型,指定为一个矩阵或细胞的向量矩阵。

measurement-sensitivity系数矩阵,Ct,指定如何将线性组合在时间t形成了观察,yt,尽管t= 1,…,T。即预期观察方程tE(yt|xt)=Ctxt

对于定常状态空间模型,指定C作为一个n——- - - - - -矩阵,n是观察和的数量吗是每段的状态数。

对于时变状态空间模型,指定C作为一个T维单元阵列,C {t}包含一个nt——- - - - - -tmeasurement-sensitivity系数矩阵。如果国家或观察的数量变化t,那么矩阵维度之间C {t - 1}C {t}有所不同。

值在任何系数矩阵表示独一无二的,状态空间模型中的未知参数。C贡献:

  • sum (isnan (C (:)))未知参数定常状态空间模型。换句话说,如果是时不变的状态空间模型,然后使用相同的未知参数中定义的软件C在每一个时期。

  • numParamsC未知参数时变状态空间模型,numParamsC =总和(cell2mat (cellfun (@ (x)和(总和(isnan (x))), C, UniformOutput, 0)))。换句话说,如果是随时间变化的状态空间模型,那么软件分配一个新的参数为每个矩阵C

你不能指定CParamMap同时进行。

数据类型:|细胞

Observation-innovation系数矩阵显式创建状态空间模型,指定为一个矩阵或细胞的向量矩阵。

观察创新,εt,是独立的高斯随机变量均值为0和标准偏差1。observation-innovation系数矩阵,Dt,指定添加剂错误结构的观测方程t,尽管t= 1,…,T。即观察方程tyt=Ctxt+Dtεt

对于定常状态空间模型,指定D作为一个n——- - - - - -h矩阵,n是观察和的数量吗h是观察的数量每时期的创新。D * D '所有时间是observation-innovation协方差矩阵。

对于时变状态空间模型,指定D作为一个T维单元阵列,D {t}包含一个nt——- - - - - -ht矩阵。如果观测的数量或观察创新变化的时期t,那么矩阵维度之间D {t - 1}D {t}有所不同。D {t} * D {t}’时期是observation-innovation协方差矩阵吗t

值在任何系数矩阵表示独一无二的,状态空间模型中的未知参数。D贡献:

  • sum (isnan (D (:)))未知参数定常状态空间模型。换句话说,如果是时不变的状态空间模型,然后使用相同的未知参数中定义的软件D在每一个时期。

  • numParamsD未知参数时变状态空间模型,numParamsD =总和(cell2mat (cellfun (@ (x)和(总和(isnan (x))), D, UniformOutput, 0)))。换句话说,如果是随时间变化的状态空间模型,那么软件分配一个新的参数为每个矩阵D

默认情况下,D是一个空矩阵表示状态空间模型中没有观察创新。

你不能指定DParamMap同时进行。

数据类型:|细胞

Parameter-to-matrix映射函数为隐式创建状态空间模型,指定为一个函数处理。

ParamMap必须是一个函数,它接受至少一个输入参数,并返回至少三个输出参数。必要的输入参数是一个向量的未知参数,和必要的输出参数对应的系数矩阵一个,B,C,分别。如果你只parameter-to-mapping函数需要输入参数向量参数,然后隐式地创建一个扩散通过输入状态空间模型如下:

Mdl = dssm (@ParamMap)

一般来说,您可以编写一个中间函数,例如,ParamFun使用这种语法:

函数[A, B, C, D, Mean0 Cov0, StateType, DeflateY] =…ParamFun (params otherInputArgs…)

在一般情况下,创建扩散通过输入状态空间模型

Mdl = dssm (@ (params) ParamMap (params otherInputArgs…))

然而:

  • 遵循的顺序输出参数。

  • 参数个数是一个向量,每个元素对应于一个未知参数。

  • ParamFun必须返回一个,B,C对应的状态转换关系,state-disturbance-loading measurement-sensitivity系数矩阵,分别。

  • 如果你指定输入参数多参数向量(参数个数),比如观察反应和预测,然后隐式地使用语法创建状态空间模型扩散模式

    Mdl = dssm (@ (params) ParamFun (params, y, z))

  • 可选的输出参数D,Mean0,Cov0,StateType,DeflateY:

    • 可选的输出参数对应observation-innovation系数矩阵D参数名称-值对Mean0,Cov0,StateType

    • 跳过指定一个可选的输出参数,设置参数[]在函数体。例如,跳过指定D,然后设置D = [];的函数。

    • DeflateY是deflated-observation数据,它提供一个回归组件的观测方程。例如,在这个函数,线性回归组件,Y是观察到的向量响应和Z是向量的预测数据。

      函数[A, B, C, D, Mean0 Cov0, StateType, DeflateY] = ParamFun (params, Y, Z)…DeflateY = Y - params (9) - params (10) * Z;…结束

    • 的默认值Mean0,Cov0,StateType,请参阅算法

  • 最佳实践:

    • 加载数据到MATLAB®工作区之前指定模式。

    • 创建parameter-to-matrix映射函数作为其自己的文件。

如果您指定ParamMap,那么你不能指定任何名称-值对参数或其他任何输入参数。

数据类型:function_handle

转换为状态空间模型扩散,状态空间模型作为一个指定舰导弹模型对象。

dssm集所有初始分散状态的差异SSMMdl.Cov0

使用分散卡尔曼滤波器滤波,平滑,和参数估计,而不是标准的卡尔曼滤波器,状态方程模型转换为状态空间模型扩散。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

初始状态对显式创建状态空间模型,指定为逗号分隔组成的“Mean0”和一个数字向量长度等于初始状态的数量。默认值,请参阅算法

如果您指定ParamMap,那么你不能指定Mean0。相反,指定初始状态意味着parameter-to-matrix映射函数。

数据类型:

初始状态协方差矩阵显式创建状态空间模型,指定为逗号分隔组成的“Cov0”和一个方阵尺寸等于初始状态的数量。默认值,请参阅算法

如果您指定ParamMap,那么你不能指定Cov0。相反,在parameter-to-matrix映射中指定初始状态协方差函数。

数据类型:

初始状态分布指标明确的创作状态空间模型,指定为逗号分隔组成的“StateType”和一个数字向量长度等于初始状态的数量。这个表总结了可用类型的初始状态分布。

价值 初始状态分布类型
0 静止的(例如,ARMA模型)
1 常数1(即状态为1的概率1)
2 弥漫性或非平稳的(例如,随机游走模型、季节性线性时间序列)静态

例如,假设状态方程有两个状态变量:第一个状态变量是一个AR(1)过程,第二个状态变量是随机漫步。通过设置指定初始分布类型“StateType”, [0;2]

如果您指定ParamMap,那么你不能指定Mean0。相反,指定初始状态分布指标在parameter-to-matrix映射函数。

默认值,请参阅算法

数据类型:

属性

全部展开

状态空间模型,状态转换关系系数矩阵的显式地创建指定为一个矩阵,一个细胞的向量矩阵,或一个空数组([])。隐式创建的状态空间模型在评估之前,一个[]和只读。

状态转换关系系数矩阵,一个t,指定如何美国,xt,预计过渡时期t——1t,尽管t= 1,…,T。在期间,预期的状态转换关系方程tE(xt|xt1)=一个txt1

对于定常状态空间模型,一个是一个——- - - - - -矩阵,是每段的状态数。

对于时变状态空间模型,一个是一个T维单元阵列,{t}包含一个t——- - - - - -t- 1状态转换关系系数矩阵。如果州的数量变化t——1t,然后tt- 1

值在任何系数矩阵表示状态空间模型中的未知参数。一个贡献:

  • sum (isnan ((:)))未知参数定常状态空间模型。换句话说,如果是时不变的状态空间模型,然后使用相同的未知参数中定义的软件一个在每一个时期。

  • numParamsA未知参数时变状态空间模型,numParamsA =总和(cell2mat (cellfun (@ (x)和(总和(isnan (x))), A,“UniformOutput”, 0)))。换句话说,如果是随时间变化的状态空间模型,那么软件分配一个新的参数为每个矩阵一个

数据类型:|细胞

State-disturbance-loading系数矩阵的显式地创建状态空间模型,指定为一个矩阵,一个细胞的向量矩阵,或一个空数组([])。隐式创建的状态空间模型在评估之前,B[]和只读。

干扰,ut,是独立的高斯随机变量均值为0和标准偏差1。state-disturbance-loading系数矩阵,Bt,指定添加剂错误结构的状态转换关系方程t——1t,尽管t= 1,…,T。也就是说,在周期状态转换关系方程txt=一个txt1+Btut

对于定常状态空间模型,B是一个——- - - - - -k矩阵,的状态和数量吗k是国家的数量每时期干扰。B * B”所有时间是state-disturbance协方差矩阵。

对于时变状态空间模型,B是一个T维单元阵列,B {t}包含一个t——- - - - - -ktstate-disturbance-loading系数矩阵。如果国家或州的数量扰动变化时期t,那么矩阵维度之间B {t - 1}B {t}有所不同。{t} * B {t}’时期是state-disturbance协方差矩阵吗t

值在任何系数矩阵表示状态空间模型中的未知参数。B贡献:

  • 总和(isnan (B (:)))未知参数定常状态空间模型。换句话说,如果是时不变的状态空间模型,然后使用相同的未知参数中定义的软件B在每一个时期。

  • numParamsB未知参数时变状态空间模型,numParamsB =总和(cell2mat (cellfun (@ (x)和(总和(isnan (x))), B, UniformOutput, 0)))。换句话说,如果是随时间变化的状态空间模型,那么软件分配一个新的参数为每个矩阵B

数据类型:|细胞

Measurement-sensitivity系数矩阵的显式地创建状态空间模型,指定为一个矩阵,一个细胞的向量矩阵,或一个空数组([])。隐式创建的状态空间模型在评估之前,C[]和只读。

measurement-sensitivity系数矩阵,Ct,指定如何预计美国将线性周期t形成了观察,yt,尽管t= 1,…,T。即预期观察方程tE(yt|xt)=Ctxt

对于定常状态空间模型,C是一个n——- - - - - -矩阵,n是观察和的数量吗是每段的状态数。

对于时变状态空间模型,C是一个T维单元阵列,C {t}包含一个nt——- - - - - -tmeasurement-sensitivity系数矩阵。如果国家或观察的数量变化t,那么矩阵维度之间C {t - 1}C {t}有所不同。

值在任何系数矩阵表示状态空间模型中的未知参数。C贡献:

  • sum (isnan (C (:)))未知参数定常状态空间模型。换句话说,如果是时不变的状态空间模型,然后使用相同的未知参数中定义的软件C在每一个时期。

  • numParamsC未知参数时变状态空间模型,numParamsC =总和(cell2mat (cellfun (@ (x)和(总和(isnan (x))), C, UniformOutput, 0)))。换句话说,如果是随时间变化的状态空间模型,那么软件分配一个新的参数为每个矩阵C

数据类型:|细胞

Observation-innovation系数矩阵的显式地创建状态空间模型,指定为一个矩阵,一个细胞的向量矩阵,或一个空数组([])。隐式创建的状态空间模型在评估之前,D[]和只读。

观察创新,εt,是独立的高斯随机变量均值为0和标准偏差1。observation-innovation系数矩阵,Dt,指定添加剂错误结构的观测方程t,尽管t= 1,…,T。即观察方程tyt=Ctxt+Dtεt

对于定常状态空间模型,D是一个n——- - - - - -h矩阵,n是观察和的数量吗h是观察的数量每时期的创新。D * D '所有时间是observation-innovation协方差矩阵。

对于时变状态空间模型,D是一个T维单元阵列,D {t}包含一个nt——- - - - - -ht矩阵。如果观测的数量或观察创新变化的时期t,那么矩阵维度之间D {t - 1}D {t}有所不同。D {t} * D {t}’时期是state-disturbance协方差矩阵吗t

值在任何系数矩阵表示状态空间模型中的未知参数。D贡献:

  • sum (isnan (D (:)))未知参数定常状态空间模型。换句话说,如果是时不变的状态空间模型,然后使用相同的未知参数中定义的软件D在每一个时期。

  • numParamsD未知参数时变状态空间模型,numParamsD =总和(cell2mat (cellfun (@ (x)和(总和(isnan (x))), D, UniformOutput, 0)))。换句话说,如果是随时间变化的状态空间模型,那么软件分配一个新的参数为每个矩阵D

数据类型:|细胞

初始状态的意思是,指定为一个数值向量或一个空数组([])。Mean0长度等于初始状态的数量(大小(1)大小(1){1},)。

Mean0是高斯分布的均值的州在0。

隐式创建的状态空间模型在评估之前,Mean0[]和只读。然而,估计指定Mean0在评估之后。

数据类型:

初始状态协方差矩阵,指定为一个方阵或一个空数组([])。Cov0尺寸等于初始状态的数量(大小(1)大小(1){1},)。

Cov0协方差的高斯分布的州在0。

隐式创建的状态空间模型在评估之前,Cov0[]和只读。然而,估计指定Cov0在评估之后。

对角元素的Cov0有价值的对应于扩散初始状态分布。这个规范表示完整的无知或没有初始状态值的先验知识。随后,软件过滤器,抚平,估计参数的分散使用分散卡尔曼滤波初始状态分布。为分散使用标准的卡尔曼滤波状态相反,每个对角元素的集合Cov0例如,组成一个大的正值1 e7。这个规范建议相对较弱的初始状态的知识价值。

数据类型:

初始状态分布指标,指定为一个数值向量或空数组([])。StateType长度等于初始状态的数量。

隐式创建的状态空间模型或模型的未知参数,StateType[]和只读。

这个表总结了可用类型的初始状态分布。

价值 初始状态分布类型
0 固定(如ARMA模型)
1 常数1(即状态为1的概率1)
2 不稳定(如随机游走模型,季节性的线性时间序列)静态

例如,假设状态方程有两个状态变量:第一个状态变量是一个AR(1)过程,第二个状态变量是随机漫步。然后,StateType[0;2]

对于非平稳的状态,dssmCov0默认情况下。随后,软件假定扩散状态是不相关的,实现了分散卡尔曼滤波器滤波,平滑和参数估计。本规范对初始状态值没有先验知识的分散状态。

数据类型:

Parameter-to-matrix映射函数,指定为一个函数处理或一个空数组([])。ParamMap完全指定状态空间模型的结构。也就是说,ParamMap定义了一个,B,C,D可选地,Mean0,Cov0,StateType。对于显式地创建状态空间模型,ParamMap[]和只读。

数据类型:function_handle

对象的功能

全部展开

估计 分散状态空间模型的极大似然参数估计
完善 完善初始参数来帮助分散估计状态空间模型
disp 显示状态空间模型扩散的摘要信息
过滤器 向前扩散状态空间模型的递归
光滑的 反向散射状态空间模型的递归
irf 状态空间模型的脉冲响应函数(IRF)
irfplot 情节(IRF)状态空间模型的脉冲响应函数
预测 分散状态空间模型的预测状态和观测

复制语义

价值。学习如何价值类影响复制操作,明白了复制对象

例子

全部折叠

创建一个分散状态空间模型包含两个独立的国家, x 1 , t x 3 , t 和一个观察, y t ,这是确定的和两个国家的时间 t x 1 是一个AR(1)模型与一个常数 x 3 是一个随机游走。象征性地,是状态空间模型

( x 1 , t x 2 , t x 3 , t ] = ( ϕ 1 c 1 0 0 1 0 0 0 1 ] ( x t - - - - - - 1 , 1 x t - - - - - - 1 , 2 x t - - - - - - 1 , 3 ] + ( σ 1 0 0 0 0 σ 2 ] ( u t , 1 u t , 3 ]

y t = ( 1 0 1 ] ( x t , 1 x t , 2 x t , 3 ]

干扰, u 1 , t u 3 , t 标准高斯随机变量。

指定状态转换矩阵。

= (NaN南0;0 1 0;0 0 1);

值表示未知参数。

指定state-disturbance-loading矩阵。

B =[南0;0 0;0 NaN);

指定measurement-sensitivity矩阵。

C = (1 0 1);

创建一个指定的向量类型。在这个例子中:

  • x 1 , t 是一个静止的AR(1)模型,因此其状态类型是0

  • x 2 , t 是一个占位符中的常数AR(1)模型。因为常数是未知的,是第一个方程表示, x 2 , t 1为整个系列。因此,其状态类型1

  • x 3 , t 是一个非平稳的随机游走,漂移,因此其状态类型是2

StateType = [0 1 2];

创建使用状态空间模型dssm

Mdl = dssm (A, B, C,“StateType”StateType)
Mdl =类型:状态空间模型dssm状态向量长度:3观测向量长度:1状态扰动向量长度:2观察创新向量长度:0样本量模型:支持无限的未知参数估计:4状态变量:x1, x2,…金宝app国家干扰:u1, u2,……观察系列:y1, y2,……观察创新:e1, e2,…未知参数:c1, c2,…状态方程:x1 (t) = (c1) x1 (t - 1) + (c2) x2 (t - 1) + (c3) u1 (t) x2 (t) = x2 (t - 1) x3 (t) = x3 (t - 1) + (c4) u2 (t)观测方程:日元(t) = x1 (t) + x3 (t)初始状态分布:初始状态意味着不指定。没有指定初始状态协方差矩阵。分散状态类型(x1, x2) x3固定常数

Mdl是一个dssm含有未知参数的模型对象。一个详细的总结Mdl打印命令窗口。如果你不指定初始状态协方差矩阵,然后初始的方差 x 3 , t

这是良好的实践验证状态和观测方程是正确的。如果方程是不正确的,那么扩大了状态方程和手动验证。

创建一个分散状态空间模型包含两个随机游走的状态。观察两种状态的总和,加上高斯误差。象征性地,方程

( x t , 1 x t , 2 ] = ( 1 0 0 1 ] ( x t - - - - - - 1 , 1 x t - - - - - - 1 , 2 ] + ( σ 1 0 0 σ 2 ] ( u t , 1 u t , 2 ]

y t = ( 1 1 ] ( x t , 1 x t , 2 ] + σ 3 ε t

定义状态转换矩阵。

(1 = 0;0 1];

定义state-disturbance-loading矩阵。

B =[南0;0 NaN);

定义measurement-sensitivity矩阵。

C = [1];

定义observation-innovation矩阵。

D =南;

创建一个指定的矢量,这两个州是不稳定。

StateType = [2;2);

创建使用状态空间模型dssm

Mdl = dssm (A, B, C, D,“StateType”StateType)
类型:状态空间模型Mdl = dssm状态向量长度:2观测向量长度:1状态扰动向量长度:2观察创新向量长度:1样本容量支持模型:无限的未知参数估计:3状态变量:x1, x2,…金宝app国家干扰:u1, u2,……观察系列:y1, y2,……观察创新:e1, e2,…未知参数:c1, c2,…状态方程:x1 (t) = x1 (t - 1) + (c1) u1 (t) x2 (t) = x2 (t - 1) + (c2) u2 (t)观测方程:日元(t) = x1 (t) + x2 (t) + (c3) e1 (t)初始状态分布:初始状态意味着不指定。没有指定初始状态协方差矩阵。国家类型(x1, x2)扩散扩散

Mdl是一个dssm含有未知参数的模型。一个详细的总结Mdl打印命令窗口。

通过数据和Mdl估计来估计参数。在评估过程中,初始状态差异,估计实现了分散的卡尔曼滤波器。

创建一个状态空间模型扩散,地点:

  • 国家 x 1 , t 是一个静止的AR(2)模型 ϕ 1 = 0 6 , ϕ 2 = 0 2 和一个常数0.5。国家干扰是一个意味着零高斯随机变量标准差为0.3。

  • 国家 x 4 , t 是一个随机游走。国家干扰是一个意味着零高斯随机变量标准差为0.05。

  • 观察 y 1 , t 之间的区别是当前和前一个值在AR(2)状态,加上0意味着高斯观察创新标准偏差为0.1。

  • 观察 y 2 , t 是随机游走的状态+ 0意味着高斯观察创新标准偏差为0.02。

象征性地,是状态空间模型

( x 1 , t x 2 , t x 3 , t x 4 , t ] = ( 0 6 0 2 0 5 0 1 0 0 0 0 0 1 0 0 0 0 1 ] ( x 1 , t - - - - - - 1 x 2 , t - - - - - - 1 x 3 , t - - - - - - 1 x 4 , t - - - - - - 1 ] + ( 0 3 0 0 0 0 0 0 0 0 5 ] ( u 1 , t u 4 , t ]

( y 1 , t y 2 , t ] = ( 1 - - - - - - 1 0 0 0 0 0 1 ] ( x 1 , t x 2 , t x 3 , t x 4 , t ] + ( 0 1 0 0 0 0 2 ] ( ε 1 , t ε 2 , t ]

该模型有四个州: x 1 , t 是AR(2)的过程, x 2 , t 代表 x 1 , t - - - - - - 1 , x 3 , t 是AR(2)模型常数,然后呢 x 4 , t 是随机漫步。

定义状态转换矩阵。

(0.6 0.2 0.5 = 0;1 0 0 0;0 0 1 0;0 0 0 1);

定义state-disturbance-loading矩阵。

[0.3 B = 0;0 0;0 0;0 0.05);

定义measurement-sensitivity矩阵。

C = [1 1 0 0;0 0 0 1);

定义observation-innovation矩阵。

D = (0.1;0.02);

使用dssm状态空间模型来创建。确定初始状态分布的类型(StateType),注意以下几点:

  • x 1 , t 是一个静止的AR(2)的过程。

  • x 2 , t 也是一个平稳AR(2)过程。

  • x 3 , t 是为所有时间常数1。

  • x 4 , t 是不稳定的。

设置初始状态是指(Mean0)为0。初始状态对恒定状态意味着必须是1。

Mean0 = [0;0;1;0);StateType = [0;0;1;2);Mdl = dssm (A, B, C, D,“Mean0”Mean0,“StateType”StateType)
类型:状态空间模型Mdl = dssm状态向量长度:4观测向量长度:2状态扰动向量长度:2观察创新向量长度:1样本容量支持模型:无限的状态变量:x1, x2,…金宝app国家干扰:u1, u2,……观察系列:y1, y2,……观察创新:e1, e2,…状态方程:x1 (t) = (0.60) x1 (t - 1) + (0.20) x2 (t - 1) + (0.50) x3 (t - 1) + (0.30) u1 (t) x2 (t) = x1 (t - 1) x3 (t) = x3 (t - 1) x4 (t) = x4 (t - 1) + (0.05) u2 (t)观测方程:日元(t) = x1 (t) - x2 (t) + (0.10) e1 (t) y2 (t) = x4 (t) + (0.02) e1 (t)初始状态分布:初始状态意味着(x1, x2) x3 x4 0 0 1 0 x1初始状态协方差矩阵x3 x4 x1 0.16 - 0.21 0.21 - 0.16 0 0 x2 0 0 x3 0 0 0 0 x4 0 0 0 x1 Inf状态类型x3 x4固定静止的不断扩散

Mdl是一个dssm模型对象。dssm设置初始状态:

  • 协方差矩阵的静止的状态渐近协方差的AR(2)模型

  • 州方差为常数0

  • 方差为分散状态

您可以显示或修改的属性Mdl使用点符号。例如,显示初始状态协方差矩阵。

Mdl.Cov0
ans =4×40.2143 - 0.1607 0 0 0.1607 - 0.2143 0 0 0 0 0 0 0 0 0正无穷

重置的初始状态是静止的状态渐近值。

Mdl.Mean0 (1:2) = 0.5 / (1 - 0.2 - 0.6);Mdl.Mean0
ans =4×12.5000 2.5000 1.0000 0

使用参数映射函数创建一个时不变,状态空间模型的状态模型AR(1)模型。美国发现有偏见,但没有随机误差。设置初始状态均值和方差,并指定的状态是静止的。

写一个函数,用于指定参数参数个数状态空间模型映射到矩阵,初始状态值和状态的类型。象征性地,模型

数组$ $ \开始{}{* {20}{c}} & # xA; {{x_t}φ= \{间{t - 1}} + \σ{u_t}} \ \ & # xA; {{y_t} = {x_t}} & # xA; \{数组}结束。$ $

% 2015年版权MathWorks公司。函数[A, B, C, D, Mean0 Cov0, StateType] = timeInvariantParamMap (params)%定常参数状态空间模型映射函数的例子。这%功能映射向量参数状态方程矩阵(A, B, C,% D),初始状态值和初始状态(Mean0和方差% Cov0),状态(StateType)的类型。状态模型AR (1)%没有观测误差。varu1 = exp (params (2));%积极方差约束一个= params (1);B =√varu1);C = params (3);D = [];Mean0 = 0.5;Cov0 = 100;StateType = 0;结束

将该代码保存为一个文件命名timeInvariantParamMap.m一个文件夹在您的MATLAB®路径。

通过状态空间模型创建函数timeInvariantParamMap作为句柄函数舰导弹

Mdl =舰导弹(@timeInvariantParamMap);

舰导弹隐式地创建状态方程模型。通常情况下,你无法验证隐式定义的状态空间模型。

默认情况下,舰导弹分配一个大标量(1 e7)所有分散状态的初始状态方差状态空间模型的标准。使用这个规范,软件随后估计,过滤器,抚平标准使用标准的卡尔曼滤波状态空间模型。标准的治疗是一个近似状态空间模型结果的分析,对分散状态使用无限的方差。实现分散卡尔曼滤波器相反,标准状态方程模型转换为状态空间模型扩散。这种转换属性无限扩散状态方差。

显式地创建一个二维状态空间模型的标准。指定第一个状态方程 x 1 , t = x 1 , t - - - - - - 1 + u 1 , t 这第二个状态方程 x 2 , t = 0 2 x 2 , t - - - - - - 1 + u 2 , t 。指定第一个观测方程 y 1 , t = x 1 , t + ε 1 , t 这第二个观测方程 y 2 , t = x 2 , t + ε 2 , t 。分别指定状态都是分散的和非平稳的。

(1 = 0;0 0.2);B = [1 0;0 1];C = [1 0; 0 1];D = [1 0;0 1];StateType = [2 0];MdlSSM =舰导弹(A, B, C, D,“StateType”StateType)
类型:状态空间模型MdlSSM = ssm状态向量长度:2观测向量长度:2状态扰动向量长度:2观察创新向量长度:2样本大小由模型:无限的状态变量:x1, x2,…金宝app国家干扰:u1, u2,……观察系列:y1, y2,……观察创新:e1, e2,…状态方程:x1 (t) = x1 (t - 1) + u1 (t) x2 (t) = (0.20) x2 (t - 1) + u2 (t)观测方程:日元(t) = x1 (t) + e1 (t) y2 (t) = x2 (t) + e2 (t)初始状态分布:初始状态意味着x1 x2 0 0 x1初始状态协方差矩阵x1 1.00 e + 07 0 x2 0 1.04类型(x1, x2)扩散静止状态

MdlSSM是一个舰导弹模型对象。在某些情况下,舰导弹可以检测状态类型,但它是良好的实践来指定是否状态是静止的,扩散,还是不变1。因为模型不包含任何未知的参数,舰导弹推断初始状态分布。

转换MdlSSM状态空间模型扩散。

Mdl = dssm (MdlSSM)
类型:状态空间模型Mdl = dssm状态向量长度:2观测向量长度:2状态扰动向量长度:2观察创新向量长度:2样本大小由模型:无限的状态变量:x1, x2,…金宝app国家干扰:u1, u2,……观察系列:y1, y2,……观察创新:e1, e2,…状态方程:x1 (t) = x1 (t - 1) + u1 (t) x2 (t) = (0.20) x2 (t - 1) + u2 (t)观测方程:日元(t) = x1 (t) + e1 (t) y2 (t) = x2 (t) + e2 (t)初始状态分布:初始状态意味着x1 x2 0 0 x1初始状态协方差矩阵x1正0 x2 0 1.04类型(x1, x2)扩散静止状态

Mdl是一个dssm模型对象。的结构MdlMdlSSM是等价的,除了国家的初始状态方差在吗Mdl而不是1 e7

看到两个模型之间的差异,模拟10期的数据从一个类似的状态空间模型MdlSSM。设置初始状态协方差矩阵 2

Mdl0 = MdlSSM;Mdl0。Cov0=eye(2); T = 10; rng(1);%的再现性y =模拟(Mdl0 T);

得到过滤和平滑状态MdlMdlSSM使用模拟数据。

财政年度=过滤器(MdlSSM y);fYD =过滤器(Mdl y);sY =光滑(MdlSSM y);悉德=光滑(Mdl y);

情节的过滤和平滑状态。

图;次要情节(2,1,1)阴谋(1:T、y (: 1),“o”1:T,财政年度(:1),“- d”1:T, fYD (: 1),“- *”);标题(的过滤状态间的{1,t}’)传说(模拟数据的,“州——MdlSSM过滤”,“州——Mdl过滤”);次要情节(2,1,2)阴谋(1:T、y (: 1),“o”1:T, sY (: 1),“- d”1:T,悉德(:1),“- *”);标题(的平滑状态间的{1,t}’)传说(模拟数据的,“平滑状态——MdlSSM”,“平滑状态——Mdl”);

图包含2轴对象。坐标轴对象1标题过滤状态x indexOf t基线包含3线类型的对象。这些对象代表模拟数据,过滤状态——MdlSSM——Mdl过滤状态。坐标轴对象与标题平滑状态x indexOf 1、2 t基线包含3线类型的对象。这些对象是模拟数据,平滑状态——MdlSSM——Mdl平滑状态。

图;次要情节(2,1,1)阴谋(1:T、y (:, 2),“o”1:T,财政年度(:,2),“- d”1:T, fYD (:, 2),“- *”);标题(的过滤状态间的{2,t}’)传说(模拟数据的,“州——MdlSSM过滤”,“州——Mdl过滤”);次要情节(2,1,2)阴谋(1:T、y (:, 2),“o”1:T, sY (:, 2),“- d”1:T,悉德(:,2),“- *”);标题(的平滑状态间的{2,t}’)传说(模拟数据的,“平滑状态——MdlSSM”,“平滑状态——Mdl”);

图包含2轴对象。坐标轴对象1标题过滤状态x indexOf 2, t基线包含3线类型的对象。这些对象代表模拟数据,过滤状态——MdlSSM——Mdl过滤状态。坐标轴对象2标题平滑状态x indexOf 2, t基线包含3线类型的对象。这些对象是模拟数据,平滑状态——MdlSSM——Mdl平滑状态。

除了明显的瞬态行为的随机游走,标准之间的过滤和平滑状态和分散状态空间模型几乎等价。是因为的细微差别过滤器光滑的设置所有分散在分散状态估计为0时状态空间模型实现分散卡尔曼滤波器。一旦平滑状态实现的协方差矩阵满秩,过滤器光滑的切换到使用标准的卡尔曼滤波器。在这种情况下,开关时间发生后的第一次月经。

更多关于

全部展开

提示

  • 指定ParamMap在更一般的或复杂的环境中,例如:

    • 初始状态值参数。

    • 在时变模型中,您希望使用相同的参数超过一个周期。

    • 你想对参数约束。

  • 您可以创建一个dssm模型对象,不包含任何分散状态。然而,随后的计算,例如,过滤和参数估计,效率低下。如果所有国家有固定分布或常数1,然后创建一个舰导弹模型对象。

算法

  • 的默认值Mean0Cov0:

    • 如果您显式地指定(也就是说,您提供状态空间模型的系数矩阵一个,B,C,可选D),那么:

      • 对于静止的状态,软件生成使用平稳分布的初始值。如果您提供所有值的系数矩阵(也就是说,您的模型没有未知参数),dssm生成初始值。否则,在估算软件生成的初始值。

      • 州总是常数1,dssmMean01,Cov00

      • 为分散状态,软件集Mean0为0,Cov0默认情况下。

    • 如果你状态空间模型隐式地指定(也就是说,您提供的参数向量coefficient-matrices-mapping函数ParamMap),然后在估算软件生成的初始值。

  • 静态状态不等于1的示例中,软件不能赋值到退化,初始状态分布。因此,设置静态状态2使用名称-值对的论点StateType。随后,该软件将静态状态不稳定和分配静态扩散的初始分布。

  • 是最佳实践的集合StateType为每个状态。默认情况下,软件生成StateType,但这种行为可能不准确。例如,软件无法区分一个常数1状态和一个静态状态。

  • 软件不能推断出StateType理论上的数据,因为数据来自观测方程。状态方程的实现是不可见的。

  • dssm模型没有商店观察反应或预测数据。提供必要的数据无论使用适当的输入或名称-值对参数。

  • 假设您想要创建一个使用parameter-to-matrix状态空间模型扩散映射函数的签名:

    [A, B, C, D, Mean0 Cov0, StateType, DeflateY] = paramMap (params, Y, Z)
    你指定的模型使用一个匿名函数
    Mdl = dssm (@ (params) paramMap (params, Y, Z))
    观察到的反应Y和预测数据Z不匿名函数的输入参数。如果YZ存在于MATLAB工作区之前创建Mdl,那么软件建立一个链接。否则,如果你通过Mdl估计,软件将抛出一个错误。

    建立的链接数据匿名函数覆盖所有其他相应的输入参数的值估计。这个区别很重要,特别是当进行滚动窗口分析。有关详细信息,请参见Rolling-Window分析时间序列模型

选择

创建一个舰导弹模型对象,而不是一个dssm模型对象时:

  • 该模型不包含任何分散状态。

  • 分散状态是相互关联或其他州。

  • 你想实现标准卡尔曼滤波器。

引用

[1]杜宾J。,S. J. Koopman.时间序列分析的状态空间方法。第二版》。牛津:牛津大学出版社,2012年。

版本历史

介绍了R2015b