armax
使用时域数据估计 ARMAX、ARIMAX、ARMA 或 ARIMA 模型的参数
语法
说明
估计 ARMAX 或 ARMA 模型
使用时间表 sys
= armax(tt
,[na nb nc nk]
)tt
的变量中包含的数据来估计 ARMAX 或 ARMA idpoly
模型 sys
的参数。软件以第一个 Nu 个变量作为输入,以接下来的 Ny 个变量作为输出,其中 Nu 和 Ny 分别由 nb
和 na
的维度确定。
对于没有输入信号的 ARMA 模型,使用 sys = armax(tt,na)
。在这种情况下,软件使用第一个 Ny 变量来拟合模型。
armax
使用预测误差方法和 [na nb nc nk]
中指定的多项式阶数执行估计。模型属性包括估计协方差(参数不确定性)以及估计数据和测量数据之间的拟合优度。
要从 tt
中选择特定的输入和输出通道,请使用名称-值语法将 'InputName'
和 'OutputName'
设置为相应的时间表变量名称。
使用逗号分隔的矩阵 sys
= armax(u
,y
,[na nb nc nk]
)u
,y
中的时域输入和输出信号。软件假设数据采样时间为 1 秒。要更改采样时间,请使用名称-值语法设置 Ts
。
使用 sys
= armax(data
,[na nb nc nk]
)iddata
对象 data
中的时域数据。特别是当您想利用数据对象提供的附加信息(例如数据采样时间或试验标注)时,请使用此语法。
使用一个或多个名称-值参量指定附加选项。例如,使用名称-值参量 sys
= armax(___,Name,Value
)'IntegrateNoise',1
估计 ARIMAX 或 ARIMA 模型,这对于具有非平稳扰动的系统很有用。在任意先前的输入参数组合之后指定 Name,Value
。
配置初始参数
返回估计的初始条件
[
将估计的初始条件作为 sys
,ic
] = armax(___)initialCondition
对象返回。如果您计划使用相同的估计输入数目据来仿真或预测模型响应,然后将响应与相同的估计输出数目据进行比较,请使用此语法。结合初始条件,在仿真的第一部分可以得到更好的匹配。
示例
输入参数
名称-值参数
输出参量
详细信息
算法
迭代搜索算法最小化稳健二次预测误差标准。当下列任一情况为真时,迭代终止:
已达到最大迭代次数。
预期的改进小于指定的公差。
无法找到该标准的较低值。
您可以使用 sys.Report.Termination
获取有关停止标准的信息。
使用 armaxOptions
选项集来创建和配置影响估计结果的选项。具体来说,使用 'SearchOptions'
属性设置搜索算法属性,例如 MaxIterations
和 Tolerance
。
当您没有为迭代搜索指定初始参数值作为初始模型时,它们将在特殊的四阶段 LS-IV 算法中构建。
稳健性的截止值基于 Advanced.ErrorThreshold
估计选项以及残差与初始参数估计的估计标准差。最小化期间不会重新计算截止值。默认情况下,不执行任何鲁棒性;ErrorThreshold
选项的默认值 0。
为了确保只测试与稳定预测变量相对应的模型,该算法会对预测变量进行稳定性测试。通常, 和 (如果适用)都必须在单位圆内全部为零。
当估计选项 'Display'
为 'On'
或 'Full'
时,屏幕上会显示最小化信息。当 'Display'
为 'Full'
时,当前和之前的参数估计值都以列向量形式显示,并且参数按字母顺序列出。此外,还给出了标准函数(成本)的值,并显示了高斯-牛顿向量及其范数。当 'Display'
为 'On'
时,仅显示标准值。
备选方法
armax
不支持连续时间模型估计。使用 tfest
估计连续时间传递函数模型,或使用 ssest
估计连续时间状态空间模型。
armax
仅支持时域数据。对于频域数据,使用 oe
来估计输出-误差 (OE) 模型。
参考
[1] Ljung, L. System Identification: Theory for the User, Second Edition. Upper Saddle River, NJ: Prentice-Hall PTR, 1999. See chapter about computing the estimate.