dssm类
超类:
建立状态空间模型扩散
描述
dssm
创建一个线性状态空间模型扩散与独立的高斯状态扰动和观察创新。弥散包含扩散状态,状态空间模型和方差的初始分布的分散状态正
。所有分散状态是相互独立的,所有其他国家。软件实现了分散卡尔曼滤波器滤波,平滑和参数估计。
您可以:
创建包含未知参数的状态空间模型扩散后,您可以通过估计其参数创建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 (___,名称,值
)名称,值
对参数。
创建一个分散使用parameter-to-matrix映射函数(状态空间模型Mdl
= dssm (ParamMap
)ParamMap
你写的)。参数的函数映射向量矩阵一个
,B
,C
。可选地,ParamMap
可以映射参数D
,Mean0
,Cov0
。指定的类型,函数可以返回StateType
。为了适应观测方程中回归组件,ParamMap
也可以返回泄气的观测数据。
将一个对象(状态空间模型Mdl
= dssm (SSMMdl
)SSMMdl
对象(状态空间模型)扩散Mdl
)。dssm
集所有初始分散状态的差异SSMMdl.Cov0
来正
。
输入参数
一个
- - - - - -状态转换关系系数矩阵
矩阵|细胞矩阵的向量
状态转换关系系数矩阵显式创建状态空间模型,指定为一个矩阵或细胞的向量矩阵。
状态转换关系系数矩阵,一个t,指定如何美国,xt,预计过渡时期t——1t,尽管t= 1,…,T。在期间,预期的状态转换关系方程t是E(xt|xt1)=一个txt1。
对于定常状态空间模型,指定一个
作为一个米——- - - - - -米矩阵,米是每段的状态数。
对于时变状态空间模型,指定一个
作为一个T维单元阵列,{t}
包含一个米t——- - - - - -米t- 1状态转换关系系数矩阵。如果州的数量变化t——1t,然后米t≠米t- 1。
南
值在任何系数矩阵表示独一无二的,状态空间模型中的未知参数。一个
贡献:
sum (isnan ((:)))
未知参数定常状态空间模型。换句话说,如果是时不变的状态空间模型,然后使用相同的未知参数中定义的软件一个
在每一个时期。numParamsA
未知参数时变状态空间模型,numParamsA =总和(cell2mat (cellfun (@ (x)和(总和(isnan (x))), A,“UniformOutput”, 0)))
。换句话说,如果是随时间变化的状态空间模型,那么软件分配一个新的参数为每个矩阵一个
。
你不能指定一个
和ParamMap
同时进行。
数据类型:双
|细胞
B
- - - - - -State-disturbance-loading系数矩阵
矩阵|细胞矩阵的向量
State-disturbance-loading系数矩阵显式创建状态空间模型,指定为一个矩阵或细胞的向量矩阵。
干扰,ut,是独立的高斯随机变量均值为0和标准偏差1。state-disturbance-loading系数矩阵,Bt,指定添加剂错误结构的状态转换关系方程t——1t,尽管t= 1,…,T。也就是说,在周期状态转换关系方程t是xt=一个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
。
你不能指定B
和ParamMap
同时进行。
数据类型:双
|细胞
C
- - - - - -Measurement-sensitivity系数矩阵
矩阵|细胞矩阵的向量
Measurement-sensitivity系数矩阵显式创建状态空间模型,指定为一个矩阵或细胞的向量矩阵。
measurement-sensitivity系数矩阵,Ct,指定如何将线性组合在时间t形成了观察,yt,尽管t= 1,…,T。即预期观察方程t是E(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
。
你不能指定C
和ParamMap
同时进行。
数据类型:双
|细胞
D
- - - - - -Observation-innovation系数矩阵
[]
(默认)|矩阵|细胞矩阵的向量
Observation-innovation系数矩阵显式创建状态空间模型,指定为一个矩阵或细胞的向量矩阵。
观察创新,εt,是独立的高斯随机变量均值为0和标准偏差1。observation-innovation系数矩阵,Dt,指定添加剂错误结构的观测方程t,尽管t= 1,…,T。即观察方程t是yt=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
是一个空矩阵表示状态空间模型中没有观察创新。
你不能指定D
和ParamMap
同时进行。
数据类型:双
|细胞
ParamMap
- - - - - -Parameter-to-matrix映射函数
空数组([]
)(默认)|函数处理
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
SSMMdl
- - - - - -状态空间模型
舰导弹
模型对象
转换为状态空间模型扩散,状态空间模型作为一个指定舰导弹
模型对象。
dssm
集所有初始分散状态的差异SSMMdl.Cov0
来正
。
使用分散卡尔曼滤波器滤波,平滑,和参数估计,而不是标准的卡尔曼滤波器,状态方程模型转换为状态空间模型扩散。
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
Mean0
- - - - - -初始状态的意思
数值向量
初始状态对显式创建状态空间模型,指定为逗号分隔组成的“Mean0”
和一个数字向量长度等于初始状态的数量。默认值,请参阅算法。
如果您指定ParamMap
,那么你不能指定Mean0
。相反,指定初始状态意味着parameter-to-matrix映射函数。
数据类型:双
Cov0
- - - - - -初始状态协方差矩阵
方阵
初始状态协方差矩阵显式创建状态空间模型,指定为逗号分隔组成的“Cov0”
和一个方阵尺寸等于初始状态的数量。默认值,请参阅算法。
如果您指定ParamMap
,那么你不能指定Cov0
。相反,在parameter-to-matrix映射中指定初始状态协方差函数。
数据类型:双
StateType
- - - - - -初始状态分布指标
0|1|2
初始状态分布指标明确的创作状态空间模型,指定为逗号分隔组成的“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。在期间,预期的状态转换关系方程t是E(xt|xt1)=一个txt1。
对于定常状态空间模型,一个
是一个米——- - - - - -米矩阵,米是每段的状态数。
对于时变状态空间模型,一个
是一个T维单元阵列,{t}
包含一个米t——- - - - - -米t- 1状态转换关系系数矩阵。如果州的数量变化t——1t,然后米t≠米t- 1。
南
值在任何系数矩阵表示状态空间模型中的未知参数。一个
贡献:
sum (isnan ((:)))
未知参数定常状态空间模型。换句话说,如果是时不变的状态空间模型,然后使用相同的未知参数中定义的软件一个
在每一个时期。numParamsA
未知参数时变状态空间模型,numParamsA =总和(cell2mat (cellfun (@ (x)和(总和(isnan (x))), A,“UniformOutput”, 0)))
。换句话说,如果是随时间变化的状态空间模型,那么软件分配一个新的参数为每个矩阵一个
。
数据类型:双
|细胞
B
- - - - - -State-disturbance-loading系数矩阵
矩阵|细胞矩阵的向量|空数组([]
)
State-disturbance-loading系数矩阵的显式地创建状态空间模型,指定为一个矩阵,一个细胞的向量矩阵,或一个空数组([]
)。隐式创建的状态空间模型在评估之前,B
是[]
和只读。
干扰,ut,是独立的高斯随机变量均值为0和标准偏差1。state-disturbance-loading系数矩阵,Bt,指定添加剂错误结构的状态转换关系方程t——1t,尽管t= 1,…,T。也就是说,在周期状态转换关系方程t是xt=一个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
。
数据类型:双
|细胞
C
- - - - - -Measurement-sensitivity系数矩阵
矩阵|细胞矩阵的向量|空数组([]
)
Measurement-sensitivity系数矩阵的显式地创建状态空间模型,指定为一个矩阵,一个细胞的向量矩阵,或一个空数组([]
)。隐式创建的状态空间模型在评估之前,C
是[]
和只读。
measurement-sensitivity系数矩阵,Ct,指定如何预计美国将线性周期t形成了观察,yt,尽管t= 1,…,T。即预期观察方程t是E(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
。
数据类型:双
|细胞
D
- - - - - -Observation-innovation系数矩阵
矩阵|细胞矩阵的向量|空数组([]
)
Observation-innovation系数矩阵的显式地创建状态空间模型,指定为一个矩阵,一个细胞的向量矩阵,或一个空数组([]
)。隐式创建的状态空间模型在评估之前,D
是[]
和只读。
观察创新,εt,是独立的高斯随机变量均值为0和标准偏差1。observation-innovation系数矩阵,Dt,指定添加剂错误结构的观测方程t,尽管t= 1,…,T。即观察方程t是yt=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
- - - - - -初始状态的意思
数值向量|空数组([]
)
初始状态的意思是,指定为一个数值向量或一个空数组([]
)。Mean0
长度等于初始状态的数量(大小(1)
或大小(1){1},
)。
Mean0
是高斯分布的均值的州在0。
隐式创建的状态空间模型在评估之前,Mean0
是[]
和只读。然而,估计
指定Mean0
在评估之后。
数据类型:双
Cov0
- - - - - -初始状态协方差矩阵
方阵|空数组([]
)
初始状态协方差矩阵,指定为一个方阵或一个空数组([]
)。Cov0
尺寸等于初始状态的数量(大小(1)
或大小(1){1},
)。
Cov0
协方差的高斯分布的州在0。
隐式创建的状态空间模型在评估之前,Cov0
是[]
和只读。然而,估计
指定Cov0
在评估之后。
对角元素的Cov0
有价值的正
对应于扩散初始状态分布。这个规范表示完整的无知或没有初始状态值的先验知识。随后,软件过滤器,抚平,估计参数的分散使用分散卡尔曼滤波初始状态分布。为分散使用标准的卡尔曼滤波状态相反,每个对角元素的集合Cov0
例如,组成一个大的正值1 e7
。这个规范建议相对较弱的初始状态的知识价值。
数据类型:双
StateType
- - - - - -初始状态分布类型
数值向量|空数组([]
)
初始状态分布指标,指定为一个数值向量或空数组([]
)。StateType
长度等于初始状态的数量。
隐式创建的状态空间模型或模型的未知参数,StateType
是[]
和只读。
这个表总结了可用类型的初始状态分布。
价值 | 初始状态分布类型 |
---|---|
0 |
固定(如ARMA模型) |
1 |
常数1(即状态为1的概率1) |
2 |
不稳定(如随机游走模型,季节性的线性时间序列)静态。 |
例如,假设状态方程有两个状态变量:第一个状态变量是一个AR(1)过程,第二个状态变量是随机漫步。然后,StateType
是[0;2]
。
对于非平稳的状态,dssm
集Cov0
来正
默认情况下。随后,软件假定扩散状态是不相关的,实现了分散卡尔曼滤波器滤波,平滑和参数估计。本规范对初始状态值没有先验知识的分散状态。
数据类型:双
ParamMap
- - - - - -Parameter-to-matrix映射函数
函数处理|空数组([]
)
Parameter-to-matrix映射函数,指定为一个函数处理或一个空数组([]
)。ParamMap
完全指定状态空间模型的结构。也就是说,ParamMap
定义了一个
,B
,C
,D
可选地,Mean0
,Cov0
,StateType
。对于显式地创建状态空间模型,ParamMap
是[]
和只读。
数据类型:function_handle
对象的功能
复制语义
价值。学习如何价值类影响复制操作,明白了复制对象。
例子
显式创建包含已知和未知参数状态空间模型
创建一个分散状态空间模型包含两个独立的国家, 和 和一个观察, ,这是确定的和两个国家的时间 。 是一个AR(1)模型与一个常数 是一个随机游走。象征性地,是状态空间模型
干扰, 和 标准高斯随机变量。
指定状态转换矩阵。
= (NaN南0;0 1 0;0 0 1);
的南
值表示未知参数。
指定state-disturbance-loading矩阵。
B =[南0;0 0;0 NaN);
指定measurement-sensitivity矩阵。
C = (1 0 1);
创建一个指定的向量类型。在这个例子中:
是一个静止的AR(1)模型,因此其状态类型是
0
。是一个占位符中的常数AR(1)模型。因为常数是未知的,是第一个方程表示, 是
1
为整个系列。因此,其状态类型1
。是一个非平稳的随机游走,漂移,因此其状态类型是
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
打印命令窗口。如果你不指定初始状态协方差矩阵,然后初始的方差
是正
。
这是良好的实践验证状态和观测方程是正确的。如果方程是不正确的,那么扩大了状态方程和手动验证。
显式创建包含观测误差扩散状态空间模型
创建一个分散状态空间模型包含两个随机游走的状态。观察两种状态的总和,加上高斯误差。象征性地,方程
定义状态转换矩阵。
(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
来估计
来估计参数。在评估过程中,初始状态差异正
,估计
实现了分散的卡尔曼滤波器。
建立状态空间模型已知的扩散与初始状态值
创建一个状态空间模型扩散,地点:
国家 是一个静止的AR(2)模型 , 和一个常数0.5。国家干扰是一个意味着零高斯随机变量标准差为0.3。
国家 是一个随机游走。国家干扰是一个意味着零高斯随机变量标准差为0.05。
观察 之间的区别是当前和前一个值在AR(2)状态,加上0意味着高斯观察创新标准偏差为0.1。
观察 是随机游走的状态+ 0意味着高斯观察创新标准偏差为0.02。
象征性地,是状态空间模型
该模型有四个州: 是AR(2)的过程, 代表 , 是AR(2)模型常数,然后呢 是随机漫步。
定义状态转换矩阵。
(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
),注意以下几点:
是一个静止的AR(2)的过程。
也是一个平稳AR(2)过程。
是为所有时间常数1。
是不稳定的。
设置初始状态是指(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)模型。美国发现有偏见,但没有随机误差。设置初始状态均值和方差,并指定的状态是静止的。
写一个函数,用于指定参数参数个数
状态空间模型映射到矩阵,初始状态值和状态的类型。象征性地,模型
% 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
)所有分散状态的初始状态方差状态空间模型的标准。使用这个规范,软件随后估计,过滤器,抚平标准使用标准的卡尔曼滤波状态空间模型。标准的治疗是一个近似状态空间模型结果的分析,对分散状态使用无限的方差。实现分散卡尔曼滤波器相反,标准状态方程模型转换为状态空间模型扩散。这种转换属性无限扩散状态方差。
显式地创建一个二维状态空间模型的标准。指定第一个状态方程 这第二个状态方程 。指定第一个观测方程 这第二个观测方程 。分别指定状态都是分散的和非平稳的。
(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
模型对象。的结构Mdl
和MdlSSM
是等价的,除了国家的初始状态方差在吗Mdl
是正
而不是1 e7
。
看到两个模型之间的差异,模拟10期的数据从一个类似的状态空间模型MdlSSM
。设置初始状态协方差矩阵
。
Mdl0 = MdlSSM;Mdl0。Cov0=eye(2); T = 10; rng(1);%的再现性y =模拟(Mdl0 T);
得到过滤和平滑状态Mdl
和MdlSSM
使用模拟数据。
财政年度=过滤器(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,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”);
除了明显的瞬态行为的随机游走,标准之间的过滤和平滑状态和分散状态空间模型几乎等价。是因为的细微差别过滤器
和光滑的
设置所有分散在分散状态估计为0时状态空间模型实现分散卡尔曼滤波器。一旦平滑状态实现的协方差矩阵满秩,过滤器
和光滑的
切换到使用标准的卡尔曼滤波器。在这种情况下,开关时间发生后的第一次月经。
更多关于
静态
一个静态不会改变的价值在整个样本,也就是说, 对所有t= 1,…,T。
提示
指定
ParamMap
在更一般的或复杂的环境中,例如:初始状态值参数。
在时变模型中,您希望使用相同的参数超过一个周期。
你想对参数约束。
您可以创建一个
dssm
模型对象,不包含任何分散状态。然而,随后的计算,例如,过滤和参数估计,效率低下。如果所有国家有固定分布或常数1,然后创建一个舰导弹
模型对象。
算法
的默认值
Mean0
和Cov0
:如果您显式地指定(也就是说,您提供状态空间模型的系数矩阵
一个
,B
,C
,可选D
),那么:对于静止的状态,软件生成使用平稳分布的初始值。如果您提供所有值的系数矩阵(也就是说,您的模型没有未知参数),
dssm
生成初始值。否则,在估算软件生成的初始值。州总是常数1,
dssm
集Mean0
1,Cov0
来0
。为分散状态,软件集
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
不匿名函数的输入参数。如果Y
和Z
存在于MATLAB工作区之前创建Mdl
,那么软件建立一个链接。否则,如果你通过Mdl
来估计
,软件将抛出一个错误。建立的链接数据匿名函数覆盖所有其他相应的输入参数的值
估计
。这个区别很重要,特别是当进行滚动窗口分析。有关详细信息,请参见Rolling-Window分析时间序列模型。
引用
[1]杜宾J。,S. J. Koopman.时间序列分析的状态空间方法。第二版》。牛津:牛津大学出版社,2012年。
版本历史
介绍了R2015b
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。