主要内容

armax

利用时域数据估计ARMAX、ARIMAX、ARMA或ARIMA模型的参数

描述

估计ARMAX模型

例子

sys=armax(数据[na nb nc nk]估计一个模型的参数ARMAX或者一个ARMAidpoly模型sys采用预测误差法和中规定的多项式阶数[na nb nc nk].模型属性包括估计协方差(参数不确定性)和估计数据与实测数据之间的拟合优度。

例子

sys=armax(数据[na nb nc nk]名称、值使用一个或多个名称-值对参数指定其他选项。例如,使用名称-值对参数“IntegrateNoise”,1估计一个ARIMAX华宇电脑模型,对于具有非平稳扰动的系统是有用的。

配置初始参数

例子

sys=armax(数据init_sys使用离散时间线性模型init_sys配置初始参数。

指定附加选项

例子

sys=armax(数据___选择合并选项集选择指定用于估计的选项,例如估计目标、初始条件处理、正则化和数值搜索方法。指定选择在前一个输入参数组合之后。

估计初始条件

例子

sys集成电路) = armax (___将估计的初始条件作为initialCondition对象。如果计划使用相同的估计输入数据模拟或预测模型响应,然后将响应与相同的估计输出数据进行比较,请使用此语法。在模拟的第一部分中,合并初始条件会产生更好的匹配。

例子

全部崩溃

估计一个ARMAX模型,并查看模型输出对估计数据的拟合情况。

将测量数据加载到iddata对象z2

负载iddata2z2

估计一个二阶ARMAX模型 一个 B C 多项式和一个样本周期的传输延迟。

na = 2;nb = 2;数控= 2;nk = 1;Sys = armax(z2,[na nb nc nk])
sys =离散ARMAX模型:一个(z) y (t) = B (z) u (t) + C (z) e (t) (z) = 1 - 1.512 z ^ 1 + 0.7006 z ^ 2 B (z) = -0.2606 z ^ 1 + 1.664 z ^ 2 C (z) = 1 - 1.604 z ^ 1 + 0.7504 z ^ 2样品时间:0.1秒参数化:多项式订单:na = 2 nb = 2数控= 2 nk = 1很多免费的系数:6使用“polydata”、“getpvec”、“getcov”表示参数及其不确定性。状态:在时域数据“z2”上使用ARMAX估计。拟合估计数据:85.89%(预测焦点)FPE: 1.086, MSE: 1.054

输出显示了包含估计参数和估计细节的多项式。下状态拟合估计数据结果表明,估计模型具有一步超前的预测精度,在80%以上。

将模型模拟输出与测量数据进行比较。

比较(z2 sys)

图中包含一个坐标轴。轴线包含2个线型对象。这些对象表示z2 (y1), sys: 85.69%。

模拟模型与实测数据的拟合与估计拟合基本一致。

估计一个ARMA模型,并将其响应与测量输出和AR模型进行比较。

加载包含时间序列的数据z9有噪音。

负载iddata9z9

用一阶估计四阶ARMA模型 C 多项式。

na = 4;数控= 1;Sys = armax(z9,[na nc]); / /设定时间

估计一个四阶AR模型。

sys_ar = ar (z9, na);

将模型输出与测量数据进行比较。

比较(z9 sys sys_ar)

图中包含一个坐标轴。轴线包含3个线型对象。这些对象代表z9 (y1), sys: 84.99%, sys\_ar: 61.17%。

ARMA模型对数据拟合较好。

从测量数据估计一个ARMAX模型,并指定估计选项。

加载数据并创建iddata初始化选项集选择,并设置选项焦点搜索方法MaxIterations显示.然后使用更新后的选项集估计ARMAX模型。

负载twotankdata;z = iddata (y、u, 0.2);选择= armaxOptions;opt.Focus =“模拟”;opt.SearchMethod =“lm”;opt.SearchOptions.MaxIterations = 10;opt.Display =“上”;Sys = armax(z,[2 2 2 1],opt);

progress viewer中显示的模型的测量组件的终止条件是已达到最大迭代次数。

要改进结果,请使用更大的MaxIterations,或按如下方式在先前估计的模型上继续迭代:

sys2=armax(z,sys);比较(z,sys,sys2)

图中包含一个轴。轴包含3个line类型的对象。这些对象表示z(y1),sys:65.52%,sys2:64.71%。

在哪里sys2细化的参数sys提高对数据的拟合。

通过转换正则化ARX模型来估计正则化ARMAX模型。

加载数据。

负载正则化ExampleData.matm0simdata

估计一个30阶的非正则化ARMAX模型。

M1 = armax(m0simdata(1:150),[30 30 30 1]);

通过试错确定Lambda值来估计一个正则化的ARMAX模型。

opt=armaxOptions;opt.Regularization.Lambda=1;m2=armax(m0simdata(1:150),[30 1],opt);

通过转换正则化ARX模型,然后进行降阶,获得低阶ARMAX模型。

opt1 = arxOptions;[L,R] = arxRegul(m0simdata(1:150),[30 30 1];opt1.Regularization。λ= L;opt1.Regularization。R = R;M0 = arx(m0simdata(1:20 0),[30 30 1],opt1);= idpoly先生(balred (ids (m0), 7));

将模型输出与数据进行比较。

opt2=比较选项(“InitialCondition”“z”);比较(m0simdata(150:结束),m1, m2,先生,opt2);

图中包含一个坐标轴。轴包含4个线型对象。这些对象表示验证数据(y1), m1: 41.22%, m2: 52.13%, mr: 64.91%。

估计单变量时间序列数据的四阶ARIMA模型。

加载包含带有噪声的时间序列的数据。

负载iddata9z9

对输出信号进行积分,用结果代替原来的输出信号z9

z9.y=总和(z9.y);

用一阶估计四阶ARIMA模型 C 多项式通过设置“一体化””“对符合事实的

模型= armax(z9,[4 1],“IntegrateNoise”,真正的);

使用10步预测预测模型输出,并将预测输出与估计数据进行比较。

比较(z9、模型、10)

图中包含一个坐标轴。轴线包含2个线型对象。这些对象代表z9 (y1),模型:85.97%。

根据实测数据迭代估计不同阶次的ARMAX模型。

负载dryer2数据并执行多项式阶数组合的估计na数控,输入延迟nk

负载dryer2;z = iddata (y2, u2, 0.08,“Tstart”, 0);na = 2:4;数控= 1:2;nk = 0:2;模型=单元(18);ct = 1;i=1:3 na_u=na(i);nb=na;j=1:2nc_u2;=nc(j);K = 1:3 nk_ = nk(K);模型{ct} = armax(z,[na_ nb_ nc_ nk_]);ct = ct + 1;结束结束结束

堆叠估计模型,并将其模拟响应与估计数据进行比较z

模型=堆栈(1、模型{:});比较(z,模型)

图中包含一个坐标轴。轴包含19个线型对象。这些对象代表z(日元),模型(:,:1):58.91%模型(:,:2):76.68%(:,:,3)模型:模型(:,:,4):85.97% 71.74%模型(:,:,5):78.2%(:,:6)模型:模型(:,:7):85.92% 87.44%模型(:,:8):88.43%(:,:9)模型:模型(:,:10):88.32% 87.49%模型(:,:11):88.43%(:,:12)模型:模型(:,:13):88.43% 88.41%模型(:,:14):88.4%的模型(::15):88.38%模型(:,:16):88.36%模型(:,:17):88.37%模型(:,:18):88.48%。

加载估算数据。

负载iddata2z2

从估计数据估计一个阶3的状态空间模型。

sys0 = n4sid (z2, 3);

使用先前估计的状态空间模型来初始化参数,估计一个ARMAX模型。

sys=armax(z2,sys0);

加载数据。

负载iddata1icz1i

估计一个二阶ARMAX模型sys并返回中的初始条件集成电路

na=2;nb=2;nc=2;nk=1;[sys,ic]=armax(z1i[na-nb-nc-nk]);ic
A: [2x2 double] X0: [2x1 double] C: [0 1] Ts: 0.1000

集成电路是一个initialCondition对象的自由响应sys的初始状态向量X0.你可以把集成电路当你模拟sysz1i输入信号,比较响应与z1i输出信号。

输入参数

全部崩溃

时域估计数据,指定为iddata对象。对于ARMA和ARIMA时间序列模型,输入信道为数据必须是空的。有关示例,请参见ARMA模型ARIMA模型

模型的多项式阶数和延迟,指定为1 × 4向量或矩阵向量[na nb nc nk].多项式阶数等于在该多项式中估计的系数数。

对于没有输入的ARMA或ARIMA时间序列模型,集合[na nb nc nk](na数控)。有关示例,请参阅ARMA模型

对于具有纽约输出和ν输入:

  • na多项式的阶数是多少一个),指定为纽约——- - - - - -纽约非负整数矩阵。

  • 多项式的阶数是多少B) + 1,指定为纽约——- - - - - -ν非负整数矩阵。

  • 数控多项式的阶数是多少C),指定为长度为非负整数的列向量纽约

  • nk输入-输出延迟(也称为传输延迟)是否指定为纽约——- - - - - -ν非负整数矩阵。nk的固定前导零表示在ARMAX模型中B多项式。

有关示例,请参见估计ARMAX模型

的初始参数配置系统sys,指定为离散时间线性模型。你获得init_sys通过使用测量数据进行估计,或者通过使用命令直接构造idpoly中的难点

如果init_sys是一个ARMAX模型,armax使用的参数值init_sys作为估算的初始猜测。配置的初始猜测和约束一个),B),及C),用结构性质init_sys. 例如:

  • 为…指定一个初始的猜测一个)的init_sys,设置init_sys.Structure.A.Value作为最初的猜测。

  • 为对象指定约束的步骤B)的init_sys

    • 初始系统结构B.最小值到最低限度B)系数值。

    • init_sys.Structure.B.Maximum最大B)系数值。

    • init_sys.Structure.B.Free来表示,B)系数是自由估计的。

如果init_sys是不是一个带有ARMAX结构的多项式模型,软件先转换init_sys到ARMAX模型。armax使用结果模型的参数作为初始估计sys

如果选择未指定,并且init_sys是通过估计得到的,那么从init_sys.Report.OptionsUsed使用。

有关示例,请参见使用状态空间模型初始化ARMAX模型参数

用于ARMAX模型识别的估计选项,指定为armaxOptions选项设置。指定的选项选择包括以下:

  • 初始条件处理——使用此选项确定如何设置或估计初始条件。

  • 输入和输出数据偏移-使用这些选项在估计期间从数据中删除偏移。

  • 正则化-使用这个选项来控制在估计过程中的偏差和方差误差之间的权衡。

名称-值对参数

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

例子:“InputDelay”,2对所有输入通道施加两个采样周期的输入延迟

输入延迟表示为采样时间的整数倍,指定为由逗号分隔的对组成“InputDelay”以及以下其中之一:

  • Nu-by-1向量,其中Nu是输入数-每个条目都是一个数值,表示对应输入通道的输入延迟。

  • 标量值-对所有输入通道应用相同的延迟。

  • 0—无输入延迟。

例子:armax(data,[2 1 1 0],'InputDelay',1)用一阶ARX估计二阶ARX模型BC有两个样本的输入延迟的多项式。

每个输入输出对的传输延迟,表示为采样时间的整数倍,并指定为逗号分隔对,由“IODelay”以及以下其中之一:

  • Ny——- - - - - -Nu矩阵,Ny输出的数量是和吗Nu是输入的数量——每个条目都是一个整数值,表示对应输入-输出对的传输延迟。

  • 标量值-对所有输入输出对应用相同的延迟。

“IODelay”是有用的替代nk顺序,你可以考虑一下max (nk-1, 0)滞后的“IODelay”价值。为nk> 1,armax (na, nb、nk)相当于armax (na, nb 1 IODelay, nk-1)

在噪声信道中加入积分器,指定为逗号分隔对组成“IntegrateNoise”一个长度的逻辑向量Ny,在那里Ny是输出的数量。

设置“IntegrateNoise”符合事实的对于模型中的特定输出结果

一个 y t B u t n k + C 1 1 e t

在哪里 1 1 1 是噪声信道中的积分器,et).

使用“IntegrateNoise”创建ARIMA或ARIMAX模型。

有关示例,请参见ARIMA模型

输出参数

全部崩溃

拟合给定估计数据的ARMAX模型,以离散时间返回idpoly对象此模型是使用指定的模型顺序、延迟和估计选项创建的。

中存储了有关评估结果和所使用选项的信息报告模型的属性。报告具有以下字段。

报告字段 描述
状态

模型状态的总结,表明模型是通过构造创建的还是通过估计获得的。

方法

使用了估算命令。

初始条件

模型估计过程中初始条件的处理,返回如下值之一:

  • “零”—初始条件设置为零。

  • “估计”-初始条件作为独立的估计参数处理。

  • “背投”-初始条件估计使用最佳最小二乘拟合。

该字段对于查看初始条件是如何处理的特别有用初始条件估计选项集中的选项为“汽车”

适合

定量评估的估计,返回作为一个结构。看到损失函数与模型质量度量有关这些质量度量标准的更多信息。该结构有以下字段:

描述
FitPercent

归一化均方根误差(NRMSE)衡量模型响应与估计数据吻合的程度,用百分比表示适合= 100 (1-NRMSE)。

损失

估计完成时损失函数的值。

均方误差

均方误差(MSE)衡量模型响应与估计数据吻合的程度。

消防工程

模型的最终预测误差。

艾克

原始赤池信息准则(AIC)对模型质量的衡量。

AICc

小样本量修正AIC。

保险代理人

标准化的另类投资会议。

BIC

贝叶斯信息准则(BIC)。

参数

模型参数估计值。

OptionsUsed

用于估计的选项集。如果没有配置自定义选项,这是一组默认选项。看到armaxOptions为更多的信息。

RandState

估计开始时随机数流的状态。为空,[],如果在评估期间未使用随机化。有关详细信息,请参阅rng

DataUsed

用于估计的数据的属性,作为具有以下字段的结构返回:

描述
的名字

数据集的名称。

类型

数据类型。

长度

数据样本的数量。

Ts

样品时间。

InterSample

输入样本间行为,返回为以下值之一:

  • “佐伊”零阶保持保持采样之间的输入信号分段常数。

  • “福”-一阶保持在采样之间保持分段线性输入信号。

  • “提单”—限带行为是指连续时间输入信号在奈奎斯特频率以上的功率为零。

输入偏移

在估计过程中,从时域输入数据中去除偏移。对于非线性模型,它是[]

OutputOffset

在估计过程中,从时域输出数据中去除偏移。对于非线性模型,它是[]

终止

用于最小化预测误差的迭代搜索的终止条件,返回为具有以下字段的结构:

描述
WhyStop

终止数值搜索的原因。

迭代

由估计算法执行的搜索迭代次数。

FirstOrderOptimality

-搜索算法终止时梯度搜索向量的范数。

FcnCount

调用目标函数的次数。

阿提诺姆

上一次迭代中梯度搜索向量的范数。当搜索方法为“lsqnonlin”“fmincon”

LastImprovement

最后一次迭代中的标准改进,以百分比表示。当搜索方法为时省略“lsqnonlin”“fmincon”

算法

所使用的算法“lsqnonlin”“fmincon”搜索方法。使用其他搜索方法时省略。

对于不需要数值搜索优化的估计方法终止字段被省略。

,以获取更多使用信息报告,请参阅评估报告

估计的初始条件,返回为initialCondition对象或对象数组initialCondition值。

  • 对于一个单实验数据集,集成电路以状态空间形式表示传递函数模型的自由响应(一个C矩阵)的估计初始状态(x0).

  • 对于具有Ne实验,集成电路对象数组的长度是多少Ne它包含一组initialCondition每个实验的值。

如果armax返回集成电路的值0你知道初始条件是非零的,设“InitialCondition”选择权armaxOptions“估计”并将更新后的选项集传递给armax. 例如:

选择= armaxOptions (“InitialCondition”,[sys,ic] = armax(data,np,nz,opt) [sys,ic] = armax(data,np,nz,opt)
默认值“汽车”设置“InitialCondition”使用“零”当初始条件对整个估计误差最小化过程的影响可以忽略不计时,采用该方法。指定“估计”确保软件的估算值集成电路

有关更多信息,请参见initialCondition.有关使用此参数的示例,请参见获得初始条件

更多关于

全部崩溃

ARMAX模型

ARMAX (Autoregressive Moving Average with Extra Input)模型结构为:

y t + 一个 1 y t 1 + ... + 一个 n 一个 y t n 一个 b 1 u t n k + ... + b n b u t n k n b + 1 + c 1 e t 1 + ... + c n c e t n c + e t

一个更简洁的差分方程的写法是

一个 y t B u t n k + C e t

在哪里

  • y t -按时间输出 t

  • n 一个 -极点数

  • n b -零加1的数目

  • n c ——的数量C系数

  • n k -在输入影响输出之前发生的输入样本数,也称为死时间在系统中

  • y t 1 ... y t n 一个 -当前输出所依赖的先前输出

  • u t n k ... u t n k n b + 1 -电流输出所依赖的先前和延迟输入

  • e t 1 ... e t n c —白噪声干扰值

的参数na数控是ARMAX型号的订单,和nk这是延误。是延迟操作员。具体来说,

一个 1 + 一个 1 1 + ... + 一个 n 一个 n 一个

B b 1 + b 2 1 + ... + b n b n b + 1

C 1 + c 1 1 + ... + c n c n c

ARMA时间序列模型

自回归移动平均(ARMA)模型是一种特殊情况ARMAX模型无输入通道。ARMA单输出模型结构由以下等式给出:

一个 y t C e t

ARIMAX模型

ARIMAX (Autoregressive Integrated Moving Average with Extra Input)模型结构与ARMAX模型相似,只是在噪声源中包含一个积分器e (t)

一个 y t B u t n k + C 1 1 e t

ARIMA模型

ARIMA(自回归综合移动平均)模型结构是无输入ARIMAX模型的简化:

一个 y t C 1 1 e t

算法

迭代搜索算法最小化鲁棒二次预测误差准则。当下列任何一项为真时,迭代将终止:

  • 达到最大迭代次数。

  • 预期的改进小于规定的公差。

  • 找不到更低的标准值。

您可以使用系统报告终止

使用armaxOptions选项集,用于创建和配置影响评估结果的选项。特别是,设置搜索算法属性,例如MaxIterations宽容,使用“SearchOptions”财产。

当您不指定迭代搜索的初始参数值作为初始模型时,它们将在一个特殊的四阶段LS-IV算法中构造。

鲁棒性的截止值是基于先进。ErrorThreshold估计选项和关于估计标准差的残差从初始参数估计。在最小化过程中不重新计算截止值。默认情况下,不执行增强;的默认值ErrorThreshold选择是0。

为了保证只测试稳定预测器对应的模型,算法对预测器进行了稳定性测试。一般来说,两个 C F (如果适用)必须在单位圆内全部为零。

最小化信息显示在屏幕上时,估计选项“显示”“上”“满”.当“显示”“满”,当前和以前的参数估计都以列向量形式显示,参数按字母顺序列出。给出了准则函数(代价)的值,并给出了高斯-牛顿向量及其范数。当“显示”“上”,则只显示标准值。

选择

armax不支持连续时间模型金宝app估计。使用特遣部队估计一个连续时间传递函数模型,或ssest估计一个连续时间状态空间模型。

armax金宝app仅支持时域数据。对于频域数据,请使用oe估计一个输出误差(OE)模型。

参考文献

[1] Ljung, L。系统识别:用户的理论,第二版。上鞍河,NJ: Prentice-Hall PTR, 1999。参见计算估计的章节。

扩展功能

介绍了R2006a