arx
估计ARX, ARIX, AR或ARI模型的参数
语法
描述
估计AR或ARX模型
估计的参数ARX或者一个基于“增大化现实”技术sys
= arx (tt
,[na nb nk]
)idpoly
模型sys
利用数据中所包含的时间表变量tt
.软件使用第一种方法ν变量作为输入和下一个纽约变量作为输出,其中ν而且纽约都是由尺寸决定的注
而且na
,分别。
对于没有输入信号的AR模型,使用Sys = arx(tt,na)
.在这种情况下,软件使用第一种方法拟合模型纽约变量。
arx
使用最小二乘方法和中指定的多项式顺序执行估计[na nb nk]
.模型属性包括协方差(参数不确定性)和估计数据与测量数据之间的拟合优度。
从中选择特定的输入和输出通道tt
,使用名称-值语法进行设置“InputName”
而且“OutputName”
对应的时间表变量名。
在逗号分隔的矩阵中使用时域输入和输出信号sys
= arx (u
,y
,[na nb nk]
)u
,y
.软件假设数据采样时间为1秒。若要更改采样时间,请设置Ts
使用名称-值语法。
使用数据对象中的时域或频域数据sys
= arx (数据
,[na nb nk]
)数据
.特别是当您想要使用频域或频响数据估计模型时,或者当您想要利用数据对象提供的附加信息(例如数据采样时间或实验标记)时,请使用此语法。
指定附加选项
初始条件估计
[
返回估计的初始条件sys
,集成电路
= arx(___)initialCondition
对象。如果您计划使用相同的估计输入数据模拟或预测模型响应,然后将响应与相同的估计输出数据进行比较,请使用此语法。在模拟的第一部分中,结合初始条件产生了更好的匹配。
例子
ARX模型
根据指定的ARX模型生成输出数据,并使用输出数据来估计模型。
指定一个多项式模型sys0
使用ARX结构。模型包括一个样本的输入延迟,表示为的前导零B
多项式。
A = [1 -1.5 0.7];B = [0 1 0.5];sys0 = idpoly(A,B);
产生一个测量输入信号u
包含随机二进制噪声和错误信号e
它包含正态分布噪声。用这些信号,模拟测量输出信号y
的sys0
.
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模型
估计时间序列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模型的参数。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)
获得初始条件
加载数据。
负载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
.你可以合并集成电路
当你模拟的时候sys
与z1i
输入信号,并与响应进行比较z1i
输出信号。
输入参数
tt
- - - - - -基于时间表的估计数据
时间表|单元格时间表数组。
估计数据,指定为a时间表
它使用了一个规则间隔的时间向量。tt
包含表示输入和输出通道的变量。对于多实验数据,tt
单元格数组的时间表的长度不
,在那里不
是实验的数量吗
该软件确定输入和输出通道的数量,用于从指定的多项式顺序的维度进行估计。输入/输出通道的选择取决于是否“InputName”
而且“OutputName”
指定名称-值参数。
如果
“InputName”
而且“OutputName”
没有指定,那么软件使用第一种ν的变量tt
作为输入和下一个纽约的变量tt
作为输出。如果
“InputName”
而且“OutputName”
,然后软件使用指定的变量。指定的输入和输出名称的个数必须与ν而且纽约.对于可以估计没有输入的时间序列模型的函数,
“InputName”
不需要指定。
有关使用估计数据类型的详细信息,请参见系统标识工具箱中的数据类型.
u
,y
- - - - - -矩阵估计数据
矩阵|矩阵单元阵列
估计数据,为SISO系统指定为逗号分隔的对N年代-by-1实值矩阵,包含均匀采样的输入和输出时域信号值。在这里,N年代是样本的数量。
对于MIMO系统,请指定u
,y
作为一个输入/输出矩阵对,具有以下维度:
u
- - - - - -N年代——- - - - - -Nu,在那里Nu是输入的数量。y
- - - - - -N年代——- - - - - -Ny,在那里Ny是输出的数量。
对于多实验数据,请指定u
,y
作为一对1 × -Ne单元格数组,其中Ne是实验的次数。所有实验的采样次数必须匹配。
对于只包含输出而没有输入的时间序列数据,请指定y
只有。
限制
有关使用估计数据类型的详细信息,请参见系统标识工具箱中的数据类型.
[na nb nk]
- - - - - -多项式顺序和延迟
整行向量|整数矩阵的行向量|标量
模型的多项式顺序和延迟,指定为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。指定传输延迟为
nk
=3.
.指定这个延迟会给它加上三个前导零sys.b
这sys.b
现在是[0 0 0 5 6]
,而注
仍然等于2。这些系数表示多项式B(问) = 5问3+ 6问4.
还可以使用名称-值对参数实现传输延迟
“IODelay”
.
.
例子:Arx (data,[2 1 1])
从an计算iddata
对象,具有一个输入通道的二阶ARX模型,其输入延迟为一个样本。
选择
- - - - - -估计选项
arxOptions
选项设置
用于ARX模型识别的估计选项,指定为arOptions
选项设置。指定的选项选择
包括以下内容:
初始条件处理-仅对频域数据使用此选项。对于时域数据,信号被移位,因此预测器中永远不需要未测量的信号。
输入和输出数据偏移量——使用这些选项在估计期间从时域数据中删除偏移量。
正则化——在估计过程中,使用此选项来控制偏差和方差误差之间的权衡。
有关更多信息,请参见arxOptions
.有关示例,请参见正则化的ARX模型.
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“IntegrateNoise”,真的
在噪声源中添加积分器
InputName
- - - - - -输入通道名称
" "
(默认)|字符串|特征向量|字符串数组|字符向量的单元格数组
输入时间表数据的通道名称,指定为字符串、字符向量、字符串或字符向量的数组或单元格数组。默认情况下,该软件解释除最后一个变量以外的所有变量tt
作为输入通道。当您希望选择时间表变量的子集作为输入通道使用时“InputName”
来识别他们。例如,sys = arx(tt,__,'InputName',["u1" "u2"])
选择变量u1
而且u2
作为估计的输入通道。
OutputName
- - - - - -输出信号名称
" "
(默认)|特征向量|字符串|字符向量或字符串的单元格数组
时间表数据的输出通道名称,指定为字符串、字符向量、字符串或字符向量的数组或单元格数组。默认情况下,软件解释中的最后一个变量tt
作为唯一的输出通道。当您希望选择时间表变量的子集作为输出通道时,请使用“OutputName”
来识别他们。例如,sys = arx(tt,__,'OutputName',["y1" "y3"])
选择变量日元
而且y3
作为估计的输出通道。
InputDelay
- - - - - -输入延迟
0(默认)|整数标量|正整数向量
输入延迟表示为采样时间的整数倍,指定为逗号分隔的对,由“InputDelay”
和以下其中之一:
Nu-by-1向量,其中Nu是输入的数量-每个条目都是一个数值,表示对应输入通道的输入延迟。
标量值-对所有输入通道应用相同的延迟。
例子:arx(data,[2 1 3],'InputDelay',1)
估计二阶ARX模型,其中一个输入通道具有三个样本的输入延迟。
IODelay
- - - - - -运输延误
0(默认)|整数标量|整型数组
每个输入-输出对的传输延迟,表示为采样时间的整数倍,并指定为由逗号分隔的对组成“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]
.
输出参数
sys
- ARX模型
idpoly
对象
拟合估计数据的ARX模型,作为离散时间返回idpoly
对象。该模型是使用指定的模型顺序、延迟和估计选项创建的。
有关所使用的估计结果和选项的信息存储在报告
模型的属性。报告
具有以下字段。
报告字段 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
状态 |
模型状态的总结,表明模型是通过构造创建的还是通过估计获得的。 |
||||||||||||||||||
方法 |
使用估计命令。 |
||||||||||||||||||
InitialCondition |
在模型估计期间对初始条件的处理,作为以下值之一返回:
属性时如何处理初始条件,此字段特别有用 |
||||||||||||||||||
适合 |
估计的定量评估,作为结构返回。看到损失函数和模型质量度量有关这些质量度量的更多信息。该结构有以下字段:
|
||||||||||||||||||
参数 |
模型参数估计值。 |
||||||||||||||||||
OptionsUsed |
用于估计的选项集。如果没有配置自定义选项,则这是一组默认选项。看到 |
||||||||||||||||||
RandState |
估计开始时随机数流的状态。空的, |
||||||||||||||||||
DataUsed |
用于估计的数据的属性,作为具有以下字段的结构返回。
|
有关使用的更多信息报告
,请参阅评估报告.
集成电路
-初始条件
initialCondition
对象|对象数组initialCondition
值
估计的初始条件,返回为initialCondition
对象的对象数组initialCondition
值。
对于单个实验数据集,
集成电路
以状态空间形式表示传递函数模型的自由响应(一个而且C矩阵)到估计的初始状态(x0).对于一个多实验数据集用Ne实验中,
集成电路
对象数组是长度的吗Ne其中包含一组initialCondition
每个实验的值。
有关更多信息,请参见initialCondition
.有关使用此参数的示例,请参见获得初始条件.
更多关于
ARX结构
ARX模型名称代表带有额外输入的自回归,因为与AR模型不同,ARX模型包含一个输入项。ARX也被称为带有外生变量的自回归,其中外生变量为输入项。ARX模型结构由下式给出:
的参数na而且注ARX型号的订单是,和nk就是延迟。
-按时间输出
-杆数
- 0的个数
-在输入影响输出之前出现的输入采样数,也称为死时间在系统中
—当前输出所依赖的以前的输出
-当前输出所依赖的先前和延迟输入
—白噪声扰动值
差分方程更简洁的写法是
问是延迟运算符。具体地说,
ARIX模型
ARIX (Autoregressive Integrated with Extra Input)模型是在噪声通道中加入积分器的ARX模型。ARIX模型结构由下式给出:
在哪里 是噪声信道中的积分器,e(t).
AR时间序列模型
对于不包含输入,只有一个输出和一个多项式阶na时,模型具有有序的AR结构na.
AR (Autoregressive)模型结构由下式给出:
ARI模型
ARI(自回归集成)模型是一种在噪声通道中加入积分器的AR模型。ARI模型结构由下式给出:
多输入单输出模型
用于多输入、单输出系统(MISO)ν输入,注而且nk行向量在哪里我元素的顺序和延迟对应于我列向量的第Th个输入u(t).类似地,的系数B多项式是行向量。ARX MISO结构由下式给出:
多输入、多输出模型
对于多输入多输出系统,na
,注
,nk
为每个输出信号包含一行。
在多输出情况下,arx
最小化预测误差协方差矩阵的迹,或范数
用加权矩阵将此范数转换为任意二次范数λ
使用以下语法:
= arxOptions('OutputWeight',inv(lambda)) m = arx(数据,订单,opt)
初始条件
对于时域数据,信号被移位,因此预测器中永远不需要未测量的信号。因此,不需要估计初始条件。
对于频域数据,可能需要通过支持循环卷积的初始条件来调整数据。金宝app
设置“InitialCondition”
估算选项(见arxOptions
)转换为下列其中一个值:
“零”
-无调整“估计”
—根据支持循环卷积的初始条件对数据进行调整金宝app“汽车”
-自动选择“零”
或“估计”
根据数据
算法
QR分解解决了构成最小二乘估计问题的线性方程组的超定集。
在没有正则化的情况下,ARX模型参数向量θ通过求解正态方程得到
在哪里J回归矩阵是和吗y是测量的输出。因此,
使用正则化添加了正则化项
其中λ和R是正则化常数。有关正则化常数的更多信息,请参见arxOptions
.
当回归矩阵大于最大尺寸
中指定的arxOptions
时,对数据进行分段,并对数据分段迭代进行QR分解。
版本历史
R2006a之前介绍Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。