主要内容

armax

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

描述

估计ARMAX或ARMA模型

例子

sys= armax (tt[na nb nc nk]估计的参数ARMAX或者一个自回归滑动平均idpoly模型sys利用数据中所包含的时间表变量tt.软件使用第一种方法ν变量作为输入和下一个纽约变量作为输出,其中ν而且纽约都是由尺寸决定的而且na,分别。

对于没有输入信号的ARMA模型,使用Sys = armax(tt,na).在这种情况下,软件使用第一种方法拟合模型纽约变量。

armax使用预测误差方法和中指定的多项式顺序执行估计[na nb nc nk].模型属性包括估计协方差(参数不确定性)和估计数据与测量数据之间的拟合优度。

从中选择特定的输入和输出通道tt,使用名称-值语法进行设置“InputName”而且“OutputName”对应的时间表变量名。

sys= armax (uy[na nb nc nk]在逗号分隔的矩阵中使用时域输入和输出信号uy.软件假设数据采样时间为1秒。若要更改采样时间,请设置Ts使用名称-值语法..ARMA模型

例子

sys= armax (数据[na nb nc nk]中的时域数据iddata对象数据.特别是当您想要利用数据对象提供的附加信息(如数据采样时间或实验标记)时,请使用此语法。

例子

sys= armax (___名称,值使用一个或多个名称-值参数指定其他选项。例如,使用name-value参数“IntegrateNoise”,1估计一个ARIMAX华宇电脑模型,该模型适用于具有非平稳扰动的系统。指定名称,值在任何前面的输入-参数组合之后。

初始参数配置

例子

sys= armax (ttinit_sys采用离散时间线性系统init_sys的初始参数化sys使用时间表进行估计tt

sys= armax (uyinit_sys使用矩阵数据uy估计。

sys= armax (数据init_sys使用数据对象数据估计。

指定额外的评估选项

例子

sys= armax (___选择合并一个选项集选择它指定用于估计的初始条件处理、正则化和数值搜索方法等选项。

初始条件估计

例子

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

例子

全部折叠

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

在时间表中加载测量数据tt2

负载sdata2tt2

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

Na = 2;Nb = 2;Nc = 2;Nk = 1;Sys = armax(tt2,[na nb nc nk])
sys =离散时间ARMAX模型:A(z)y(t) = B(z)u(t) + C(z)e(t) A(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 nc=2 nk=1自由系数数:6使用“polydata”、“getpvec”、“getcov”表示参数及其不确定性。状态:在时域数据“tt2”上使用ARMAX估计。拟合估计数据:85.89%(预测焦点)FPE: 1.086, MSE: 1.054

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

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

比较(tt2 sys)

图中包含一个轴对象。带有ylabel y的axes对象包含2个line类型的对象。这些对象表示验证数据(y), sys: 85.69%。

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

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

加载包含时间序列的数据ymat9与噪音。

负载sdata9ymat9

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

Na = 4;Nc = 1;Sys = armax(ymat9,[na nc]);

估计一个四阶AR模型。

Sys_ar = ar(ymat9,na);

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

比较(ymat9 sys sys_ar)

图中包含一个轴对象。带有ylabel y1的axes对象包含3个line类型的对象。这些对象代表验证数据(y1), sys: 84.99%, sys\_ar: 61.17%。

ARMA模型对数据拟合较好。

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

加载数据并创建一个iddata对象。初始化选项集选择,并设置为焦点SearchMethodMaxIterations,显示.然后使用更新后的选项集估计ARMAX模型。

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

进度查看器中显示的模型的测量组件的终止条件是达到了最大迭代次数。

为了改进结果,使用更大的值重新估计模型MaxIterations,或在先前估计的模型上继续迭代,如下所示:

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

图中包含一个轴对象。带有ylabel y1的axes对象包含3个line类型的对象。这些对象表示验证数据(y1), sys: 65.52%, sys2: 64.71%。

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

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

加载数据。

负载regularizationExampleData.matm0simdata

估计一个30阶的不规则ARMAX模型。

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

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

opt = armaxOptions;opt. regulalizing . lambda = 1;M2 = armax(m0simdata(1:50 0),[30 30 30 1],opt);

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

opt1 = arxOptions;[L,R] = arxRegul(m0simdata(1:50 0),[30 30 1]);opt1.Regularization。Lambda = L;opt1.Regularization。R = R;M0 = arx(m0simdata(1:50 0),[30 30 1],opt1);Mr = idpoly(balred(idss(m0),7));

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

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

图中包含一个轴对象。带有ylabel y1的axes对象包含4个line类型的对象。这些对象代表验证数据(y1), m1: 41.22%, m2: 52.13%, mr: 64.91%。

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

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

负载iddata9z9

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

z9。y=cumsum(z9.y);

用一阶ARIMA模型估计四阶ARIMA模型 C 设定多项式“IntegrateNoise真正的

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

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

比较(z9、模型、10)

图中包含一个轴对象。带有ylabel y1的axes对象包含2个line类型的对象。这些对象表示验证数据(y1),模型:85.97%。

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

负载dryer2数据并对多项式顺序的组合进行估计na数控,输入延时nk

负载dryer2;Z = iddata(y2,u2,0.08,“Tstart”, 0);Na = 2:4;Nc = 1:2;Nk = 0:2;模型= cell(1,18);Ct = 1;I = 1:3 na_ = na(I);Nb_ = na_;J = 1:2 nc_ = nc(J);K = 1:3 nk_ = nk(K);模型{ct} = armax(z,[na_ nb_ nc_ nk_]);Ct = Ct +1;结束结束结束

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

model = stack(1, Models {:});比较(z,模型)

图中包含一个轴对象。带有ylabel y1的axes对象包含19个line类型的对象。这些对象代表验证数据(日元),模型(:,:1):58.91%模型(:,:2):76.68%(:,:,3)模型:模型(::,4):85.97% 71.74%模型(:,:,5):78.2%模型(:,:6):85.92%模型(:,:7):87.44%模型(:,:8):88.43%模型(:,:9):88.32%模型(:,:10):87.49%(:,:11)模型:模型(:,:12):88.43% 88.43%模型(:,:13):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]);集成电路
A: [2x2 double] X0: [2x1 double] C: [0 1] Ts: 0.1000

集成电路是一个initialCondition的空闲响应sys的初始状态向量X0.你可以合并集成电路当你模拟的时候sysz1i输入信号,并与响应进行比较z1i输出信号。

输入参数

全部折叠

估计数据,指定为a时间表它使用了一个规则间隔的时间向量。tt包含表示输入和输出通道的变量。对于多实验数据,tt单元格数组的时间表的长度,在那里是实验的数量吗

该软件确定输入和输出通道的数量,用于从指定的多项式顺序的维度进行估计。输入/输出通道的选择取决于是否“InputName”而且“OutputName”指定名称-值参数。

  • 如果“InputName”而且“OutputName”没有指定,那么软件使用第一种ν的变量tt作为输入和下一个纽约的变量tt作为输出。

  • 如果“InputName”而且“OutputName”,然后软件使用指定的变量。指定的输入和输出名称的个数必须与ν而且纽约

  • 对于可以估计没有输入的时间序列模型的函数,“InputName”不需要指定。

有关使用估计数据类型的详细信息,请参见系统识别工具箱中的数据域和数据类型

估计数据,为SISO系统指定为逗号分隔的对N年代-by-1实值矩阵,包含均匀采样的输入和输出时域信号值。在这里,N年代是样本的数量。

对于MIMO系统,请指定uy作为一个输入/输出矩阵对,具有以下维度:

  • u- - - - - -N年代——- - - - - -Nu,在那里Nu是输入的数量。

  • y- - - - - -N年代——- - - - - -Ny,在那里Ny是输出的数量。

对于多实验数据,请指定uy作为一对1 × -Ne单元格数组,其中Ne是实验的次数。所有实验的采样次数必须匹配。

对于只包含输出而没有输入的时间序列数据,请指定y只有。

有关使用估计数据类型的详细信息,请参见系统识别工具箱中的数据域和数据类型

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

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

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

对于一个模型纽约输出和ν输入:

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

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

  • 数控多项式的阶数是多少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

    • init_sys.Structure.B.Minimum到最低限度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,…,以=家,在那里名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

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

采样时间,由逗号分隔的对组成“t”采样时间的单位为TimeUnit.使用基于矩阵的数据时(uy),你必须指定Ts如果你需要一个采样时间,而不是假设的1秒采样时间。

获取时间表的数据采样时间tt,使用时间表属性tt.Properties.Timestep

例子:armax (umat1 ymat1 ___, Ts, 0.08)计算一个样本时间为0.08秒的模型。

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

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

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

  • 0—无输入延迟。

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

每个输入-输出对的传输延迟,表示为采样时间的整数倍,并指定为由逗号分隔的对组成“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对象。该模型是使用指定的模型顺序、延迟和估计选项创建的。

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

报告字段 描述
状态

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

方法

使用估计命令。

InitialCondition

在模型估计期间对初始条件的处理,作为以下值之一返回:

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

  • “估计”初始条件被视为独立的估计参数。

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

属性时如何处理初始条件,此字段特别有用InitialCondition选项中的值为“汽车”

适合

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

描述
FitPercent

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

LossFcn

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

均方误差

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

消防工程

模型的最终预测误差。

另类投资会议

原始赤池信息标准(AIC)是模型质量的度量标准。

AICc

小样本量校正AIC。

保险代理人

标准化的另类投资会议。

BIC

贝叶斯信息准则(BIC)。

参数

模型参数估计值。

OptionsUsed

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

RandState

估计开始时随机数流的状态。空的,[],如果在估计过程中没有使用随机化。有关更多信息,请参见rng

DataUsed

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

描述
名字

数据集的名称。

类型

数据类型。

长度

数据样本数量。

Ts

样品时间。

InterSample

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

  • “zoh”-零阶保持器在样本之间保持分段恒定的输入信号。

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

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

InputOffset

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

OutputOffset

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

终止

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

描述
WhyStop

终止数值搜索的原因。

迭代

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

FirstOrderOptimality

-搜索算法结束时梯度搜索向量的norm。

FcnCount

目标函数被调用的次数。

UpdateNorm

最后一次迭代中梯度搜索向量的范数。搜索方法为时省略“lsqnonlin”“fmincon”

LastImprovement

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

算法

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

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

有关使用的更多信息报告,请参阅评估报告

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

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

  • 对于一个多实验数据集用Ne实验中,集成电路对象数组是长度的吗Ne其中包含一组initialCondition每个实验的值。

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

opt = armaxOptions(“InitialCondition”“估计”) [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 - 0 + 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模型

ARMAX(额外输入的自回归集成移动平均)模型结构与ARMAX模型相似,只是它在噪声源中包含了一个积分器e (t)

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

ARIMA模型

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

一个 y t C 1 1 e t

算法

一种迭代搜索算法最小化鲁棒二次预测误差准则。当满足下列条件之一时,迭代终止:

  • 达到最大迭代次数。

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

  • 无法找到较低的标准值。

您可以使用。获取有关停止条件的信息sys.Report.Termination

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

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

加固的截止值是基于先进。ErrorThreshold估计选项和从初始参数估计的残差的估计标准偏差。在最小化过程中不重新计算截止值。默认情况下,不执行健壮化;的默认值ErrorThreshold选项为0。

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

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

选择

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

armax仅支持时域数据。对于频域数据,使用oe来估计输出误差(OE)模型。

参考文献

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

版本历史

在R2006a中引入

全部展开

Baidu
map