主要内容

arx

估计ARX, ARIX, AR或ARI模型的参数

描述

估计AR或ARX模型

sys= arx (tt[na nb nk]估计的参数ARX或者一个基于“增大化现实”技术idpoly模型sys利用数据中所包含的时间表变量tt.软件使用第一种方法ν变量作为输入和下一个纽约变量作为输出,其中ν而且纽约都是由尺寸决定的而且na,分别。

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

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

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

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

例子

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

指定附加选项

例子

sys= arx (___名称,值使用一个或多个名称-值对参数指定其他选项。例如,使用名称-值对参数“IntegrateNoise”,1估计一个ARIX阿里结构模型,这是有用的非平稳扰动系统。您可以将此语法用于前面的任何输入-参数组合。

例子

sys= arx (___选择使用选项集指定评估选项选择

初始条件估计

例子

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

例子

全部折叠

根据指定的ARX模型生成输出数据,并使用输出数据来估计模型。

指定一个多项式模型sys0使用ARX结构。模型包括一个样本的输入延迟,表示为的前导零B多项式。

A = [1 -1.5 0.7];B = [0 1 0.5];sys0 = idpoly(A,B);

产生一个测量输入信号u包含随机二进制噪声和错误信号e它包含正态分布噪声。用这些信号,模拟测量输出信号ysys0

U = iddata([],idinput(300,苏格兰皇家银行的));E = iddata([],randn(300,1));Y = sim(sys0,[u e]);

结合y而且u变成一个iddata对象z.估计一个新的ARX模型使用z与原始模型相同的多项式阶数和输入延迟。

Z = [y,u];Sys = arx(z,[2 2 1])
sys =离散时间ARX模型:A(z)y(t) = B(z)u(t) + e(t) A(z) =1 - 1.524 z^-1 + 0.7134 z^-2 B(z) = z^-1 + 0.4748 z^-2采样时间:1秒参数化:多项式阶数:na=2 nb=2 nk=1自由系数数:4使用“polydata”、“getpvec”、“getcov”表示参数及其不确定性。状态:在时域数据“sys0”上使用ARX估计。拟合估计数据:81.36%(预测焦点)FPE: 1.025, MSE: 0.9846

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

估计时间序列AR模型使用arx函数。AR模型没有测量输入。

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

负载iddata9z9

估计一个四阶AR模型,只指定na顺序[na nb nk]

Sys = arx(z9,4);

检验估计的A多项式参数和估计与数据的拟合。

param = sys.Report.Parameters.ParVector
param =4×1-0.7923 -0.4780 -0.0921 0.4698
fit = sys.Report.Fit.FitPercent
Fit = 79.4835

估算ARIX模型的参数。ARIX模型是带集成噪声的ARX模型。

指定一个多项式模型sys0使用ARX结构。该模型包括一个样本的输入延迟,表示为前导零B

A = [1 -1.5 0.7];B = [0 1 0.5];sys0 = idpoly(A,B);

模拟的输出信号sys0采用随机二进制输入信号u和正态分布误差信号e

U = iddata([],idinput(300,苏格兰皇家银行的));E = iddata([],randn(300,1));Y = sim(sys0,[u e]);

对输出信号进行积分并存储结果iddata对象

Yi = iddata(cumsum(y.y),[]);Zi = [yi,u];

估计一个ARIX模型.设置名称-值对参数“IntegrateNoise”真正的

Sys = arx(zi,[2 2 1],“IntegrateNoise”,真正的);

使用5步预测方法预测模型输出,并将结果与

比较(子、sys、5)

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示验证数据(y1), sys: 76.25%。

使用arxRegul自动确定正则化常数,并使用这些值来估计一个阶为50的FIR模型。

得到lambda而且R值。

负载regularizationExampleDataeData;订单= [0 50 0];[lambda,R] = arxRegul(eData,orders);

使用返回的lambda而且R正则化ARX模型估计的值。

opt = arxOptions;opt. regulalizing . lambda = lambda;opt. regulalizing .R = R;sys = arx(eData,orders,opt);

加载数据。

负载iddata1icz1i

估计一个二阶ARX模型sys返回初始条件集成电路

Na = 2;Nb = 2;Nk = 1;[sys,ic] = arx(z1i,[na nb nk]);集成电路
A: [2x2 double] X0: [2x1 double] C: [0 2] 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只有。

限制

  • 基于矩阵的数据不支持频域数据的估计。金宝app必须使用数据对象,例如iddata对象或idfrd对象(如数据).

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

估计数据,指定为iddata对象,一个的朋友(控制系统工具箱)对象,或idfrd频率特性的对象。对于AR和ARI时间序列模型,输入通道为数据一定是空的。

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

对于一个AR或ARI时间序列模型,它没有输入,设置[na nb nk]对标量na.有关示例,请参见AR模型

对于一个模型Ny输出和Nu输入:

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

  • 是多项式的阶数吗B) + 1,指定为anNy——- - - - - -Nu非负整数矩阵。

  • nk输入-输出延迟,也称为传输延迟,是否指定为Ny——- - - - - -Nu非负整数矩阵。nk在ARX模型中表示为B多项式。

    例如,假设没有运输延误,sys.b(5 - 6)

    • 因为sys.b+ 1是二阶多项式,= 2。

    • 指定传输延迟为nk3..指定这个延迟会给它加上三个前导零sys.bsys.b现在是[0 0 0 5 6],而仍然等于2。

    • 这些系数表示多项式B) = 53+ 64

    还可以使用名称-值对参数实现传输延迟“IODelay”

例子:Arx (data,[2 1 1])从an计算iddata对象,具有一个输入通道的二阶ARX模型,其输入延迟为一个样本。

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

  • 初始条件处理-仅对频域数据使用此选项。对于时域数据,信号被移位,因此预测器中永远不需要未测量的信号。

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

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

有关更多信息,请参见arxOptions.有关示例,请参见正则化的ARX模型

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

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

例子:“IntegrateNoise”,真的在噪声源中添加积分器

输入时间表数据的通道名称,指定为字符串、字符向量、字符串或字符向量的数组或单元格数组。默认情况下,该软件解释除最后一个变量以外的所有变量tt作为输入通道。当您希望选择时间表变量的子集作为输入通道使用时“InputName”来识别他们。例如,sys = arx(tt,__,'InputName',["u1" "u2"])选择变量u1而且u2作为估计的输入通道。

时间表数据的输出通道名称,指定为字符串、字符向量、字符串或字符向量的数组或单元格数组。默认情况下,软件解释中的最后一个变量tt作为唯一的输出通道。当您希望选择时间表变量的子集作为输出通道时,请使用“OutputName”来识别他们。例如,sys = arx(tt,__,'OutputName',["y1" "y3"])选择变量日元而且y3作为估计的输出通道。

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

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

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

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

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

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

例子:arx(data,[2 1 3],'InputDelay',1)估计二阶ARX模型,其中一个输入通道具有三个样本的输入延迟。

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

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

  • 标量值- Apply将相同的延迟应用于所有输入-输出对。这种方法在输入-输出延迟参数时非常有用nk结果在固定的前导零中大量出现B多项式。你可以提出因式max (nk-1, 0)通过移动这些滞后nk“IODelay”价值。

    例如,假设你有一个有两个输入的系统,其中第一个输入有三个样本的延迟,第二个输入有六个样本的延迟。同时假设B这些输入的多项式是有序的n.你可以用下面的方法来表达这些延迟:

    • nk(3 - 6)-这就得到了B多项式[0 0 0 b11…]b1n]而且[0 0 0 0 0 b21…]b2n]

    • nk(3 - 6)而且“IODelay”,3-这就得到了B多项式(b11……b1n]而且[0 0 0 b21…]b2n]

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

设置“IntegrateNoise”真正的对于特定的输出创建ARIX或ARI模型。噪声积分在扰动是非平稳的情况下是有用的。

当使用“IntegrateNoise”时,还必须集成输出通道数据。有关示例,请参见ARIX模型

输出参数

全部折叠

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

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

报告字段 描述
状态

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

方法

使用估计命令。

InitialCondition

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

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

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

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

适合

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

描述
FitPercent

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

LossFcn

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

均方误差

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

消防工程

模型的最终预测误差。

另类投资会议

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

AICc

小样本量校正AIC。

保险代理人

标准化的另类投资会议。

BIC

贝叶斯信息准则(BIC)。

参数

模型参数估计值。

OptionsUsed

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

RandState

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

DataUsed

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

描述
的名字

数据集的名称。

类型

数据类型。

长度

数据样本数量。

Ts

样品时间。

InterSample

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

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

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

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

InputOffset

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

OutputOffset

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

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

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

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

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

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

更多关于

全部折叠

ARX结构

ARX模型名称代表带有额外输入的自回归,因为与AR模型不同,ARX模型包含一个输入项。ARX也被称为带有外生变量的自回归,其中外生变量为输入项。ARX模型结构由下式给出:

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

的参数na而且ARX型号的订单是,和nk就是延迟。

  • y t -按时间输出 t

  • n 一个 -杆数

  • n b - 0的个数

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

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

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

  • e t —白噪声扰动值

差分方程更简洁的写法是

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

是延迟运算符。具体地说,

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

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

ARIX模型

ARIX (Autoregressive Integrated with Extra Input)模型是在噪声通道中加入积分器的ARX模型。ARIX模型结构由下式给出:

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

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

AR时间序列模型

对于不包含输入,只有一个输出和一个多项式阶na时,模型具有有序的AR结构na

AR (Autoregressive)模型结构由下式给出:

一个 y t e t

ARI模型

ARI(自回归集成)模型是一种在噪声通道中加入积分器的AR模型。ARI模型结构由下式给出:

一个 y t 1 1 1 e t

多输入单输出模型

用于多输入、单输出系统(MISO)ν输入,而且nk行向量在哪里元素的顺序和延迟对应于列向量的第Th个输入ut).类似地,的系数B多项式是行向量。ARX MISO结构由下式给出:

一个 y t B 1 u 1 t n k 1 + B 2 u 2 t n k 2 + + B n u u n u t n k n u

多输入、多输出模型

对于多输入多输出系统,na,nk为每个输出信号包含一行。

在多输出情况下,arx最小化预测误差协方差矩阵的迹,或范数

t 1 N e T t e t

用加权矩阵将此范数转换为任意二次范数λ

t 1 N e T t Λ 1 e t

使用以下语法:

= arxOptions('OutputWeight',inv(lambda)) m = arx(数据,订单,opt)

初始条件

对于时域数据,信号被移位,因此预测器中永远不需要未测量的信号。因此,不需要估计初始条件。

对于频域数据,可能需要通过支持循环卷积的初始条件来调整数据。金宝app

设置“InitialCondition”估算选项(见arxOptions)转换为下列其中一个值:

  • “零”-无调整

  • “估计”—根据支持循环卷积的初始条件对数据进行调整金宝app

  • “汽车”-自动选择“零”“估计”根据数据

算法

QR分解解决了构成最小二乘估计问题的线性方程组的超定集。

在没有正则化的情况下,ARX模型参数向量θ通过求解正态方程得到

J T J θ J T y

在哪里J回归矩阵是和吗y是测量的输出。因此,

θ J T J 1 J T y

使用正则化添加了正则化项

θ J T J + λ R 1 J T y

其中λ和R是正则化常数。有关正则化常数的更多信息,请参见arxOptions

当回归矩阵大于最大尺寸中指定的arxOptions时,对数据进行分段,并对数据分段迭代进行QR分解。

版本历史

R2006a之前介绍

全部展开