主要内容

估计

类:dssm

扩散状态空间模型的极大似然参数估计

描述

例子

EstMdl=估计(MdlYparams0返回一个估计的扩散状态空间模型从拟合dssm模型Mdl到响应数据Yparams0未知参数的初值向量在吗Mdl

例子

EstMdl=估计(MdlYparams0名称,值使用一个或多个指定的附加选项估计扩散状态空间模型名称,值对参数。例如,您可以指定使用预测器数据通过线性回归对观测值进行压缩,控制结果如何在“命令窗口”中显示,并指示对参数协方差矩阵使用哪种估计方法。

例子

EstMdlestParamsEstParamCovlogL输出=估计(___另外,使用前面语法中的任何输入参数返回这些参数。

  • estParams,一个包含估计参数的向量

  • EstParamCov,估计参数的估计方差-协方差矩阵

  • logL,优化后的对数似然值

  • 输出,优化诊断信息结构

输入参数

全部展开

包含未知参数的扩散状态空间模型,指定为dssm返回的模型对象dssm

  • 对于显式创建的状态空间模型,软件估计所有的状态空间模型系数矩阵中的值(Mdl。一个Mdl。BMdl.C,Mdl。D)和初始状态均值和协方差矩阵(Mdl。Mean0而且Mdl.Cov0).有关显式和隐式模型创建的详细信息,请参见dssm

  • 对于隐式创建的状态空间模型,您可以使用参数到矩阵映射函数指定模型结构和未知参数的位置。隐式地创建一个状态空间模型来估计复杂模型、施加参数约束并估计初始状态。参数映射函数还可以容纳额外的输出参数。

请注意

Mdl不存储观察到的响应或预测器数据。在必要时使用适当的输入和名值对参数提供数据。

观察到的响应数据Mdl适合,指定为数值矩阵或数值向量的单元格向量。

  • 如果Mdl那么对于观测方程是时不变的吗Y是一个T——- - - - - -n矩阵。矩阵的每一行对应一个周期,每一列对应模型中的一个特定观测值。因此,T样本量和n是每个周期的观测数。最后一行Y包含最新的观察结果。

  • 如果Mdl时间是否随观测方程变化Y是一个T-by-1单元格向量。Y {t}包含一个nt-周期观测值的维向量t,在那里t= 1,…,T.中的系数矩阵的相应维数Mdl.C {t}而且Mdl。D {t}必须与矩阵一致吗Y {t}所有时期都适用。最后一个细胞Y包含最新的观察结果。

假设你创建了Mdl通过隐式地指定一个参数到矩阵的映射函数,并且该函数具有观察到的响应或预测器的输入参数。然后,映射函数在MATLAB中建立观测响应和预测器数据的链接®的值重写Y

元素表示缺失的观察结果。有关卡尔曼滤波器如何容纳缺失观测的详细信息,请参见算法

数据类型:|细胞

数值最大似然估计的未知参数的初始值,指定为数值向量。

的要素params0对应于状态空间模型矩阵中的未知参数一个BC,D,和可选的初始状态均值Mean0协方差矩阵Cov0

  • 如果你创建了Mdl显式地(即通过指定矩阵而不使用参数到矩阵的映射函数),然后软件映射的元素参数个数S在状态空间模型矩阵和初始状态值。该软件搜索S列,按照顺序一个BCDMean0Cov0

  • 如果你创建了Mdl隐式地(即通过使用参数到矩阵映射函数指定矩阵),然后在参数到矩阵映射函数中为状态空间模型矩阵、初始状态值和状态类型设置初始参数值。

数据类型:

名称-值参数

的可选逗号分隔对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“CovMethod”、“海赛”,“显示”、“诊断”,“预测”,Z指定使用负的倒黑森矩阵估计渐近参数协方差,在命令窗口显示优化诊断,并通过包含预测器数据的线性回归来减少观测值Z
估计选项

全部展开

回归系数的初始值,由逗号分隔的对组成“Beta0”和一个d——- - - - - -n数字矩阵。d是预测变量的数量(见预测),n是观察到的响应序列的数量(见Y).

默认情况下,Beta0普通的最小二乘估计是Y预测

数据类型:

渐近协方差估计方法,指定为逗号分隔对组成“CovMethod”和这个表中的一个值。

价值 描述
“海赛” 负的,倒黑森矩阵
“功能” 梯度外积(OPG)
“三明治” 黑森和OPG

例子:“CovMethod”、“三明治”

数据类型:字符

命令窗口显示选项,指定为由逗号分隔的对组成“显示”和这个表中的一个或多个值。

价值 信息显示
“诊断” 优化诊断
“全部” 最大似然参数估计,标准误差,t统计信息、迭代优化信息和优化诊断
“通路” 迭代优化信息
“关闭” 没有一个
“参数” 最大似然参数估计,标准误差,和t统计数据

例子:“显示”,“关闭”非常适合运行估计许多模型的模拟。

例子:“显示”,{“参数”、“诊断”}显示所有估计结果和优化诊断。

数据类型:字符|细胞|字符串

优化选项,指定为由逗号分隔的对组成“选项”和一个optimoptions优化控制器。选项替换优化器的默认优化选项。有关修改优化器默认值的详细信息,请参阅优化控制器optimoptions,约束优化函数fmincon,或无约束优化函数fminunc在优化工具箱™。

例如,将约束容差更改为1 e-6,设置选项= optimoptions(@fmincon,' constrainttolance ',1e-6,'Algorithm','sqp').然后,通过选项估计使用“选项”,选择

默认情况下:

  • 对于约束优化,估计最大化似然目标函数的使用fmincon和它的默认选项,但是集合“算法”、“内点”

  • 对于无约束优化,估计最大化似然目标函数的使用fminunc和它的默认选项,但是集合“算法”、“拟牛顿的

观测方程中回归分量的预测器数据,指定为由逗号分隔的对组成“预测”和一个T——- - - - - -d数字矩阵。T是例数和d是预测变量的数量。行t对应于周期内观测到的预测因子tZt)的扩展观测方程

y t Z t β C x t + D u t

换句话说,预测器系列可以作为观察平减指数。β是一个d——- - - - - -n软件用所有其他参数估计回归系数的时不变矩阵。

  • n每个周期的观测值,软件将所有预测器序列回归到每个观测值上。

  • 如果你指定预测,然后Mdl必须是时不变的。否则,软件将返回一个错误。

  • 默认情况下,软件从状态空间模型中排除一个回归组件。

数据类型:

弥漫状态初始化的最终周期,指定为逗号分隔的对,由“SwitchTime”一个正整数。也就是说,估计使用周期1到周期的观测值SwitchTime作为一个预示例来实现精确初始卡尔曼滤波器(见扩散卡尔曼滤波而且[1]).初始化扩散状态后,估计应用标准卡尔曼滤波器对周期的观测SwitchTime+ 1到T

的默认值SwitchTime是估计光滑状态精度矩阵奇异的最后一个周期(即协方差矩阵的逆)。此规范表示初始化扩散状态所需的最少观测数。因此,使用默认值是最佳实践。

如果你设置SwitchTime大于默认值,则有效样本量减小。如果你设置SwitchTime到小于默认值的值估计可能没有足够的观察来初始化扩散状态,这可能导致错误或不正确的值。

一般来说,估计、过滤和平滑状态空间模型至少需要一个扩散状态SwitchTime至少是其中之一。默认的估计显示包含有效样本大小。

数据类型:

预测不确定性阈值,指定为由逗号分隔的对组成“宽容”一个非负标量。

如果一个特定观测的预测不确定性小于宽容在数值估计时,软件在反演前从预测协方差矩阵中去除观测值对应的不确定度。

最好的做法是设置宽容例如,对一小部分人来说,le-15,以克服估算过程中的数值障碍。

例子:“宽容”,le-15

数据类型:

多变量序列标志的单变量处理,指定为由逗号分隔的对组成“一元”而且真正的.多变量序列的单变量处理也称为序贯滤波

单变量处理可以加速和提高卡尔曼滤波的数值稳定性。然而,所有的观测创新必须是不相关的。也就是说,DtDt’必须是对角线,其中Dtt= 1,…,T,是下列其中之一:

  • 矩阵D {t}在时变状态空间模型中

  • 矩阵D在定常状态空间模型中

例子:“一元”,真的

数据类型:逻辑

fmincon的约束优化选项

全部展开

线性等式约束参数转换器,用于约束似然目标函数最大化,指定为逗号分隔对组成“Aeq”和一个矩阵。

如果你指定Aeq而且说真的,然后估计利用等式约束使似然目标函数最大化 一个 e θ b e 在哪里θ向量是否包含everyMdl参数。

的行数Aeq是约束的数量,列的数量是软件估计的参数的数量。对列进行排序Aeq通过Mdl。一个Mdl。BMdl.CMdl。DMdl。Mean0Mdl.Cov0,和回归系数(如果模型有回归系数)。

指定Aeq而且说真的在一起,否则估计返回一个错误。

Aeq直接对应于输入参数Aeqfmincon,而不是状态转换系数矩阵Mdl。一个

默认情况下,如果您没有指定任何约束(线性不等式、线性相等或上界和下界),则估计利用无约束最大化最大化似然目标函数。

线性不等式约束参数转换器用于约束似然目标函数的最大化,指定为逗号分隔的对,由“Aineq”和一个矩阵。

如果你指定Aineq而且bineq,然后估计利用不等式约束使似然目标函数最大化 一个 n e θ b n e 在哪里θ向量是否包含everyMdl参数。

的行数Aineq是约束的数量,列的数量是软件估计的参数的数量。对列进行排序Aineq通过Mdl。一个Mdl。BMdl.CMdl。DMdl。Mean0Mdl.Cov0,和回归系数(如果模型有回归系数)。

指定Aineq而且bineq在一起,否则估计返回一个错误。

Aineq直接对应于输入参数一个fmincon,而不是状态转换系数矩阵Mdl。一个

默认情况下,如果您没有指定任何约束(线性不等式、线性相等或上界和下界),则估计利用无约束最大化最大化似然目标函数。

数据类型:

约束似然目标函数最大化转换参数的线性等式约束,指定为逗号分隔的对,由“说真的”和一个数值向量。

如果你指定Aeq而且说真的,然后估计利用等式约束使似然目标函数最大化 一个 e θ b e 在哪里θ向量是否包含everyMdl参数. .

指定Aeq而且说真的在一起,否则估计返回一个错误。

说真的直接对应于输入参数说真的fmincon的任何组件都没有关联Mdl

默认情况下,如果您没有指定任何约束(线性不等式、线性相等或上界和下界),则估计利用无约束最大化最大化似然目标函数。

数据类型:

约束似然目标函数最大化转换参数的线性不等式约束上界,指定为逗号分隔的对,由“bineq”和一个数值向量。

如果你指定Aineq而且bineq,然后估计利用不等式约束使似然目标函数最大化 一个 n e θ b n e 在哪里θ向量是否包含everyMdl参数。

指定Aineq而且bineq在一起,否则估计返回一个错误。

bineq直接对应于输入参数bfmincon的任何组件都没有关联Mdl

默认情况下,如果您没有指定任何约束(线性不等式、线性相等或上界和下界),则估计利用无约束最大化最大化似然目标函数。

数据类型:

约束似然目标函数最大化的参数下界,指定为逗号分隔的对,由“磅”和一个数值向量。

如果你指定而且乌兰巴托,然后估计使所服从的似然目标函数最大化 l b θ u b 在哪里θ向量是否包含everyMdl参数。

对元素进行排序通过Mdl。一个Mdl。BMdl.CMdl。DMdl。Mean0Mdl.Cov0,和回归系数(如果模型有回归系数)。

默认情况下,如果您没有指定任何约束(线性不等式、线性相等或上界和下界),则估计利用无约束最大化最大化似然目标函数。

数据类型:

约束似然目标函数最大化的参数的上界,指定为逗号分隔的对,由乌兰巴托的和一个数值向量。

如果你指定而且乌兰巴托,然后估计使所服从的似然目标函数最大化 l b θ u b 在哪里θ是一个向量Mdl参数。

对元素进行排序乌兰巴托通过Mdl。一个Mdl。BMdl.CMdl。DMdl。Mean0Mdl.Cov0,和回归系数(如果模型有回归系数)。

默认情况下,如果您没有指定任何约束(线性不等式、线性相等或上界和下界),则估计利用无约束最大化最大化似然目标函数。

数据类型:

输出参数

全部展开

包含参数估计的扩散状态空间模型,返回为dssm模型对象。

估计使用扩散卡尔曼滤波和最大似然来计算所有参数估计。

不管你是如何创造的MdlEstMdl商店:

  • 性质中系数矩阵的参数估计一个BC,D

  • 属性中的初始状态均值和协方差矩阵Mean0而且Cov0

请注意

EstMdl不存储观察到的响应或预测器数据。如果您计划过滤(使用过滤器),预测(使用预测),或平滑(使用光滑的)使用EstMdl,然后您需要提供适当的数据。

优化器已知的模型参数的最大似然估计,作为数字向量返回。estParamsparams0

估计安排估算estParams对应于此顺序的未知参数。

  1. EstMdl.A (:),即估计在EstMdl。一个列列

  2. EstMdl.B (:)

  3. EstMdl.C (:)

  4. EstMdl.D (:)

  5. EstMdl。Mean0

  6. EstMdl.Cov0 (:)

  7. 在有预测因子的模型中,估计的回归系数按列列出

优化器已知的模型参数的最大似然估计的方差-协方差矩阵,作为数值矩阵返回。

行和列包含参数估计的协方差。参数估计的标准误差是沿着主对角线的条目的平方根。

估计的行和列中排列估算值EstParamCov对应于此顺序的未知参数。

  1. EstMdl.A (:),即估计在EstMdl。一个列列

  2. EstMdl.B (:)

  3. EstMdl.C (:)

  4. EstMdl.D (:)

  5. EstMdl。Mean0

  6. EstMdl.Cov0 (:)

  7. 在有预测因子的模型中,估计的回归系数按列列出

优化的对数似然值,作为标量返回。

缺失的观测对对数似然没有贡献。第一次观测之后SwitchTime周期只对对数似然有贡献。

优化信息,作为结构数组返回。

字段的描述输出

描述
ExitFlag 描述退出条件的优化退出标志。详细信息请参见fmincon而且fminunc
选项 优化器用于数值估计的优化选项。详细信息请参见optimoptions

数据类型:结构体

例子

全部展开

从已知模型生成数据,然后为数据拟合扩散状态空间模型。

假设一个潜在的过程就是这个AR(1)过程

x t 0 5 x t - 1 + u t

在哪里 u t 为均值为0,标准差为1的高斯分布。

生成100个观察值的随机序列 x t ,假设该系列从1.5开始。

T = 100;ARMdl = arima(基于“增大化现实”技术的, 0.5,“不变”0,“方差”1);X0 = 1.5;rng (1);%用于再现性x =模拟(ARMdl,T,“Y0”, x0);

进一步假设潜在过程受制于方程中所示的附加测量误差

y t x t + ε t

在哪里 ε t 为均值为0,标准差为0.1的高斯分布。

使用随机潜伏状态过程(x)和观测方程来生成观测值。

y = x + 0.1*randn(T,1);

潜伏过程和观测方程共同构成了一个状态空间模型。假设系数和方差为未知参数,则状态空间模型为

x t ϕ x t - 1 + σ 1 u t y t x t + σ 2 ε t

指定状态转换矩阵。使用未知参数的值。

A = NaN;

指定状态扰动载荷系数矩阵。

B = NaN;

指定测量灵敏度系数矩阵。

C = 1;

指定观察-创新系数矩阵

D = NaN;

使用系数矩阵创建状态空间模型,并指定状态变量是弥漫的。扩散状态规范表示完全忽略状态值。

StateType = 2;Mdl = dssm(A,B,C,D,“StateType”, StateType);

Mdl是一个dssm模型。通过查看命令窗口中的显示,验证模型是否正确指定。

将观察结果传递给估计估计参数。将参数的起始值设置为params0 σ 1 而且 σ 2 必须为正,因此使用“磅”名称-值对参数。的下界 ϕ

Params0 = [0.9;0.5;0.1);EstMdl =估计(Mdl,y,params0,“磅”,(负无穷;0;0))
方法:最大似然(fmincon)有效样本容量:99对数似然:-138.968 Akaike信息准则:283.936贝叶斯信息准则:291.752 | Coeff Std Err t Stat Prob ------------------------------------------------- c(1) | 0.56114 0.18045 3.10975 0.00187 c(2) | 0.75836 0.24569 3.08661 0.00202 c(3) | 0.57129 0.27455 2.08086 0.03745 | |最终状态Std Dev t Stat Prob x(1) | 1.24096 0.46532 2.66690 0.00766
EstMdl =状态空间模型类型:dssm状态向量长度:1观测向量长度:1状态扰动向量长度:1观测创新向量长度:1模型支持的样本量:无限状态变量:x1, x2,…万博1manbetx状态扰动:u1, u2,…观测序列:y1, y2,…观测创新:e1, e2,…状态方程:x1(t) = (0.56)x1(t-1) + (0.76)u1(t)观测方程:y1(t) = x1(t) + (0.57)e1(t)初始状态分布:初始状态表示x1 0初始状态协方差矩阵x1 x1无穷状态类型x1扩散

EstMdl是一个dssm模型。估计结果显示在命令窗口中,包含拟合的状态空间方程,并包含参数估计表,它们的标准误差,t统计数据,p值。

使用点表示法来使用或显示拟合的状态转换矩阵。

EstMdl。一个
Ans = 0.5611

通过EstMdl预测预测观测结果,或预测模拟进行蒙特卡罗研究

假设失业率与名义国民生产总值(nGNP)之间的线性关系值得关注。进一步假设失业率是一个AR(1)系列。在状态空间形式中,该模型是

x t ϕ x t - 1 + σ u t y t - β Z t x t

地点:

  • x t 失业率是什么时候t

  • y t 为观察到的失业率变化,并以nGNP的回归为依据( Z t ).

  • u t 状态扰动的高斯级数是否具有均值为0和未知的标准差 σ

加载Nelson-Plosser数据集,其中包含失业率和nGNP系列。

负载Data_NelsonPlosser

对数据进行预处理,取nGNP系列的自然对数并去掉起始值每个系列的值。

isNaN = any(ismissing(DataTable),2);包含nan的标记句点gnpn = dattable . gnpn (~isNaN);y = diff(DataTable.UR(~isNaN));T = size(gnpn,1);%样本量Z = price2ret(gnpn);

本例继续使用没有的系列值。然而,使用卡尔曼滤波器框架,该软件可以容纳包含缺失值的系列。

指定系数矩阵。

A = NaN;B = NaN;C = 1;

使用。创建状态空间模型dssm通过提供系数矩阵并指定状态值来自扩散分布。弥漫规范表明完全不知道初始分布的矩。

StateType = 2;Mdl = dssm(A,B,C,“StateType”, StateType);

估计参数。属性指定回归组件及其初始值,以进行优化“预测”而且“Beta0”名称-值对参数。显示估计和所有优化诊断信息。限制估计 σ 对所有正的实数。

Params0 = [0.3 0.2];%任意选择的初始值Beta0 = 0.1;EstMdl =估计(Mdl,y,params0,“预测”, Z,“显示”“全部”...“Beta0”Beta0,“磅”,[-Inf 0 -Inf]);
____________________________________________________________诊断信息变量数量:3个函数目标:@(c)-fML(c,Mdl,Y,Predictors,unitFlag,sqrtFlag,mexFlag,mexTvFlag,tol,ind,switchTime,)梯度:有限差分Hessian:有限差分(或准牛顿)约束非线性约束:不存在线性不等式约束数量:0线性等式约束数量:0下界约束数量:1上限约束个数:0算法选择内部点____________________________________________________________结束诊断信息Iter f -count f(x)可行性优化步骤04 5.084683e+03 0.000e+00 5.096e+04 1 8 6.405732e+02 0.000e+00 7.713e-02 1.457e+04 2 12 6.405620e+02 0.000e+00 7.683e-02 5.285e-01 4 20 6.405063e+02 0.000e+00 7.531e-02 2.632e+00 5 24 6.389682e+02 0.000e+00 6.816e-02 1.289e+01 6 28 6.346900e+02 0.000e+00 0.000e4.146e-02 5.821e+01 7 32 6.314789e+02 0.000e+00 7.462e-03 8.771e+01 9 40 6.304200e+02 0.000e+00 4.104e-03 4.351e+01 11 48 6.303036e+02 0.000e+00 4.120e-03 2.418e+01 12 52 6.302943e+02 0.000e+00 4.121e-03 1.813e+01 13 56 6.302913e+02 0.000e+00 4.121e-03 1.377e+01 14 60 6.302899e+02 0.000e+00 4.121e-03 1.054e+ 00 16 68 6.302899e+02 0.000e+00 4.121e-03 8.514e+00 15 64 6.302899e+02 0.000e+00 4.121e-03 8.514e+00 16 68 6.302897e+02 0.000e+00 4.121e-03 8.514e+00 4.121e-03 1.377e6.414e+00 17 72 6.302895e+ 00 4.121e-03 1.473e+01 18 77 6.302888e+02 0.000e+00 4.121e-03 9.693e +00 19 82 6.302888e+02 0.000e+00 4.121e-03 3.749e +00 21 90 6.302888e+02 0.000e+00 4.121e-03 1.636e+00 22 94 6.302888e+02 0.000e+00 4.121e-03 7.311e-01 23 98 6.302887e+02 0.000e+00 4.121e-03 2.570e+00 25 106 6.302884e+02 0.000e+00 4.121e-03 4.704e+00 26 110 6.302850e+02 0.000e+00 4.121e-03 4.1211e -03 1.636e+00 251.319e+01 27 114 6.302775e+02 0.000e+00 4.122e-03 1.043e+01 28 122 6.300733e+02 0.000e+00 4.130e-03 5.389e+01 30 126 6.285455e+02 0.000e+00 8.010e-02 3.036e+03 32 134 5.783191e+02 0.000e+00 3.672e-01 6.748e+03 33 139 5.469912e+02 0.000e+00 8.592e-01 2.099e+03 34 144 5.2898896e +02 0.000e+00 2.206e+00 1.055e+03 35 149 5.212317e+020.000e+00 5.408e+00 5.30e +02 36 154 4.762810e+02 0.000e+00 1.412e+01 1.344e+02 0.000e+00 4.446e+00 6.761e+01 39 170 3.12378e +02 0.000e+00 1.426e+01 1.699e+ 00 2.376e+ 00 1.4181 2.752681e+02 0.000e+00 3.376e +00 2.339 e+00 6.388e+00 42 188 2.6934557 e+02 0.000e+00 9.327e+00 2.585e+00 43 193 2.694493e +02 0.000e+00 2.360e+00 1.401e+00 45 201 2.682262e+02 0.000e+00 1.064e+00 2.720e+00 2.720e+00 2.750959e +00 0.000e+00 1.064e+00 2.720e+00 45 201 2.682262e+020.000e+00 1.040e+00 9.688e +00 7.987e+00 47 209 2.619443e+02 0.000e+00 2.550e+01 2.709e+01 48 213 2.109143e+02 0.000e+00 1.686e+01 4.840e+ 02 0.000e+00 2.894e+01 51 224 1.419609e+02 0.000e+00 4.590e+01 2.384e+00 3.303e+01 7.9759 e+02 0.000e+00 2.421e+01 4.4426 e+00 54 242 1.336615e+02 0.000e+00 2.421e+01 4.4426 e+00 54 242 1.265960e+02 0.000e+00 2.718e+ 00 3.3182e +00 55 247 1.222370e+02 0.000e+00 2.521e +00 3.421e +00 3.421e +00 3.3294e +00 55 247 1.222370e+02 0.000e0.000e+00 5.928e+01 5.867e+00 56 251 1.130348e+02 0.000e+00 9.454e+00 1.853e+00 57 255 1.109453e+02 0.000e+00 4.978e+00 1.710e -01 59 263 1.104927e+02 0.000e+00 1.494e+00 2.692e-01 60 267 1.104775e+02 0.000e+00 5.404e-02 3.187e-02 62 275 1.104771e+02 0.000e+00 1.616e-02 8.914e-03 63 279 1.104771e+ 00 2.622e-03 6.138e-03 64283 1.104771e+02 0.000e+00 6.555e-04 4.428e-04 65 287 1.104771e+02 0.000e+00 1.311e-04 1.071e-05 66 291 1.104771e+02 0.000e+00 1.311e-06 2.817e-06 67 295 1.104771e+02 0.000e+00 9.537e-07 1.194e-07发现满足约束的局部最小值。 Optimization completed because the objective function is non-decreasing in feasible directions, to within the value of the optimality tolerance, and constraints are satisfied to within the value of the constraint tolerance. Method: Maximum likelihood (fmincon) Effective Sample size: 60 Logarithmic likelihood: -110.477 Akaike info criterion: 226.954 Bayesian info criterion: 233.287 | Coeff Std Err t Stat Prob -------------------------------------------------------- c(1) | 0.59436 0.09408 6.31738 0 c(2) | 1.52554 0.10758 14.17991 0 y <- z(1) | -24.26161 1.55730 -15.57930 0 | | Final State Std Dev t Stat Prob x(1) | 2.54764 0 Inf 0

优化信息和一个表的估计和统计输出到命令窗口。EstMdl是一个舰导弹模型,您可以使用点表示法访问它的属性。

对于弥漫状态空间模型,软件实现了弥漫卡尔曼滤波,直到满足规则条件。为了满足这一条件,软件需要足够的预样本数据。在软件满足条件后,它切换到使用标准卡尔曼滤波器。默认情况下,软件决定它需要多少预采样数据,只使用它需要多少。属性的其他值可以进行试验SwitchTime名称-值对参数。

对于本例,使用与中的相同的数据和模型估计包含回归分量的扩散状态空间模型

加载Nelson-Plosser数据集。

负载Data_NelsonPlosserisNaN = any(ismissing(DataTable),2);gnpn = dattable . gnpn (~isNaN);y = dattable . ur (~isNaN);T = size(gnpn,1);Z = log(gnpn);

指定系数矩阵。

A = NaN;B = NaN;C = 1;

使用。创建状态空间模型dssm通过提供系数矩阵并指定状态值来自扩散分布。弥漫规范表明完全不知道初始分布的矩。

StateType = 2;Mdl = dssm(A,B,C,“StateType”, StateType);

多次估计参数。对于每一次,改变周期以切换到标准卡尔曼滤波器。

Params0 = [0.3 0.2];%任意选择的初始值Beta0 = 0.1;[~,estParams1] =估计(Mdl,y,params0,“预测”, Z,“显示”“关闭”...“Beta0”Beta0,“磅”,[-Inf 0 -Inf],“SwitchTime”1);[~,estParams5] =估计(Mdl,y,params0,“预测”, Z,“显示”“关闭”...“Beta0”Beta0,“磅”,[-Inf 0 -Inf],“SwitchTime”5);[~,estParams10] =估计(Mdl,y,params0,“预测”, Z,“显示”“关闭”...“Beta0”Beta0,“磅”,[-Inf 0 -Inf],“SwitchTime”10);

比较参数估计值。

estParams1
estParams1 =1×31.0101 1.3574 -24.4585
estParams5
estParams5 =1×31.0102 1.3832 -24.4852
estParams10
estParams10 =1×31.0094 1.2735 -26.4448

因为估计使用更少的数据点进行后续估计,估计略有不同。

限制

  • 如果模型随观察到的响应而随时间变化,则软件不支持包含预测器。万博1manbetx如果不同时期的观测向量长度不同,那么软件就无法确定使用哪些系数来缩小观测到的响应。

  • 如果扩散状态空间模型存在可识别性问题(即,至少两组不同的参数值对所有观测产生相同的似然值),则估计不能正确初始化扩散状态,结果不可预测。

提示

约束似然目标函数最大化

  • 您可以在参数上指定线性不等式、线性等式以及上界和下界约束的任意组合。

  • 良好的实践是在优化过程中避免等式和不等式约束。例如,约束参数w如果是正的,可以使用参数到矩阵映射函数隐式地指定状态空间模型。在函数中,setw= exp (年代)在函数内。然后,利用无约束优化进行估计年代.因此,年代可以假设任何实际价值,但是w肯定是积极的。

预测因子和相应系数

  • 若要包含观测模型的总体平均值,则包含的列1年代Zt

  • 为了解释模拟时的预测器效应,必须手动缩小观测值。为了缩小观察结果,使用 W t Y t Z t β

  • 如果回归模型很复杂,那么考虑隐式地定义状态空间模型。例如,使用以下语法模式定义参数到矩阵映射函数。

    函数[A,B,C,D,Mean0,Cov0,StateType,DeflateY] = ParamMap(params,Y,Z)...DeflateY = Y - exp(params(9) + params(10)*Z);...结束
    在这个例子中,Y矩阵的观察和Z是预测因子的矩阵。函数返回DeflateY,这是瘪减观测的矩阵。指定Y而且Z在MATLAB工作区之前,然后通过ParamMap舰导弹使用以下语法模式。

    Mdl = ssm(@(参数)ParamMap(参数,Y,Z))

    如果每个响应系列需要一组不同的预测器,这也很有用。

  • 如果状态方程需要预测器,那么将预测器作为额外的状态变量。由于预测器数据随时间变化,以预测器为状态的状态空间模型是时变的。

扩散状态空间模型

  • 您不能使用平方根方法来过滤和平滑扩散状态空间模型。作为一种变通方法,您可以使用将扩散状态空间模型转换为标准状态空间模型舰导弹,然后使用平方根法进行过滤。在转换时,所有扩散状态都有一个有限的,尽管很大的初始分布方差1 e7

  • 最好的做法是让估计确定的价值SwitchTime.然而,在极少数情况下,您可能会在估计、过滤或平滑扩散状态空间模型期间遇到数值问题。对于这种情况,尝试使用各种方法SwitchTime规格,或考虑不同的模型结构。换句话说,简化模型或验证模型是可识别的。例如,使用将弥漫状态空间模型转换为标准状态空间模型舰导弹

额外的建议

  • 该软件可容纳缺失的数据。使用所观察到的响应值(Y).

  • 良好的实践是通过显示来检查优化例程的收敛状态输出。ExitFlag

  • 如果优化算法不收敛,则可以使用“选项”名称-值对参数。

  • 如果优化算法不收敛,则考虑使用完善,这可能会帮助您获得更好的初始参数值进行优化。

算法

  • 卡尔曼滤波器通过不更新与缺失观测值相对应的过滤状态估计来容纳缺失数据。换句话说,假设在周期有一个缺失的观测t.然后,对时期进行状态预测t基于前面的t- 1个观测值和周期过滤状态t是等价的。

  • 扩散卡尔曼滤波器需要预采样数据。如果缺失观测开始于时间序列,那么扩散卡尔曼滤波器必须收集足够的非缺失观测来初始化扩散状态。

  • 对于显式创建的状态空间模型,估计将所有预测器应用到每个响应系列。然而,每个响应系列都有自己的回归系数集。

  • 如果您没有指定优化约束,那么估计使用fminunc对于无约束数值估计。如果指定任意一对优化约束,则估计使用fmincon用于约束数值估计。对于任何一种类型的优化,都可以使用名称-值对参数设置优化选项选项必须与优化算法的选项一致。

  • 估计传递名称-值对参数选项AineqbineqAeq说真的,乌兰巴托直接到优化器fminconfminunc

  • 估计拟合回归系数以及所有其他状态空间模型参数。该软件足够灵活,允许使用约束优化选项将约束应用于回归系数。有关详细信息,请参见名称,值对参数和fmincon

  • 如果你设置“一元”,真的然后,在过滤算法过程中,软件按顺序更新,而不是一次性更新。这种做法可能会加速参数估计,特别是对于低维时不变模型。

  • 假设您希望使用带有此签名的参数到矩阵映射函数创建一个状态空间模型

    [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年。

在R2015b中引入