在 Simulink 中使用内置多种模块实现估计模型、状态估计器和递归模型,以执行系统分析和控制设计的任务,在学习过程中遇到ARMAX模型,查阅资料后做一辨识。、
在Matlab命令行窗口输入
>>help armax
可得armax( )函数的作用是在时域内预测ARMAX多项式模型,那么ARMAX模型是什么呢?
AR( Autoregressive model)︰自回归模型,是一种线性模型。
MA(moving average model):滑动平均模型,也称移动平均法模型,其中使用趋势移动平均法建 立直线趋势的预测模型。
ARMA(Autoregressive moving average model):自回归滑动平均模型,是研究时间序列的重要方法,由自回归模型(简称AR模型)与移动平均模型(简称MA模型)为基础混合"构成。
GARCH(Generalized Autoregressive Conditionally Heteroskedastic ):GARCH模型称为广义ARCH模型广义回归模型,对误差的方差建模,适用于波动性的分析和预测。
ARMAX(Autoregressive Moving Average with Extra Input):带额外输入(可理解为外部干扰项)的自回归移动平均模型,模型结构为
矩阵表示可简化为:
其中,y(t)——随时间的输出值
na——系统极点个数
nb——系统零点个数 + 1
nc——系数C的个数
nk——在输入影响输出之前(也称系统的死区时间)发生的输入样本数
y(t−1)…y(t−na) ——当前输出所依赖的先前的一系列输出
u(t−nk)…u(t−nk−nb+1)——当前输出所依赖的先前和延迟的一系列输入
e(t−1)…e(t−nc)——白噪声干扰值
参数na、nb和nc是ARMAX模型的阶数,nk是延迟值。q是延迟因子,q的几次方作用在yt上,yt就倒退几个时间,如q^3* yt= y( t-3)。其中,
ARMA(自回归移动平均)模型可以看做是干扰输入为0的ARMAX模型的特例。ARMA单输出模型结构由以下等式给出:
A(q)y(t)=C(q)e(t)
ARIMAX(带额外输入的自回归积分移动平均)模型结构与ARMAX模型相似,只是它在噪声e(t)中包含一个积分器,积分噪声用于非平稳干扰的系统:
ARIMA(自回归综合移动平均)模型结构是无输入ARIMAX模型的简化:
回到Matlab的函数使用:sys = armax(data,[na nb nc nk])
sys为输出的预测模型,模型特性包括状态方程、估计协方差(参数不确定性)、估计数据与测量数据之间的拟合优度等。