初步步骤-估计模型订单和输入延迟
为什么要估计模型订单和延迟?
要估计多项式模型,必须提供输入延迟和模型顺序。如果您已经了解了系统的物理特性,您可以指定极点和零的数量。
在大多数情况下,您无法提前知道模型订单。为了获得系统的初始模型订单和延迟,您可以估计具有订单和延迟范围的几个ARX模型,并比较这些模型的性能。您选择与最佳模型性能相对应的模型顺序,并使用这些顺序作为进一步建模的初始猜测。
因为这个估计过程使用ARX模型结构,其中包括一个而且B多项式,你只能得到估计na,注,nk参数。但是,您可以使用这些结果作为其他模型结构(如ARMAX、OE和BJ)中相应多项式阶数和输入延迟的初始猜测。
如果估计nk是太小了,引线注系数比标准差小得多。相反,如果估计nk是太大,残差和输入之间有显著的相关性对应的滞后缺失B条款。有关残留分析图的信息,请参阅残留分析页面。
估算应用程序中的订单和延迟
下面的过程假设您已经将数据导入到应用程序中,并执行了任何必要的预处理操作。有关更多信息,请参见表示数据.
在系统识别app中估计模型订单和输入延迟:
在“系统识别”应用程序中,选择估计>多项式模型打开“多项式模型”对话框。
属性中已默认选择ARX模型结构列表。
请注意
对于时间序列模型,选择AR模型结构。
编辑订单字段指定极点、零点和延迟的范围。例如,为输入如下值na,注,nk:
[1:10 1:10 1:10]
提示
作为进入的快捷方式
1:10
对于每个所需的型号订单,单击顺序选择.点击估计打开ARX模型结构选择窗口,显示每个模型参数组合的模型性能。下图显示了一个示例图。
选择表示最优参数组合的矩形,单击插入用这些参数估计一个模型。有关使用此图的信息,请参见从最佳ARX结构中选择模型订单.
该操作将一个新模型添加到系统识别应用程序的模型板中。参数化模型的默认名称包含模型类型和极点、零点和延迟的数量。例如,
arx692
是ARX型号n一个= 6,nb=9,两个样本的延迟。点击关闭关闭ARX模型结构选择窗口。
请注意
当使用多输出数据时,您无法估计模型顺序。
在估计模型顺序和延迟之后,使用这些值作为估计其他模型结构的初始猜测,如中所述在应用程序中估计多项式模型.
在命令行上估计模型命令
您可以使用struc
,arxstruc
,selstruc
命令组合。
如果使用多输出系统,则必须使用struc
,arxstruc
,selstruc
每次命令一个输出。您必须在估计和验证数据集中子引用正确的输出通道。
对于每个估计,您使用两个独立的数据集—估计数据集和验证数据集。这些独立的数据集可以来自不同的实验,也可以来自单个实验的数据子集。有关子引用数据的详细信息,请参见在iddata对象中选择数据通道、I/O数据和实验而且在“idfrd对象”中选择“I/O通道和数据”.
有关估计多输入系统的模型顺序的示例,请参见多输入系统的延迟估计在系统识别工具箱入门指南.
struc
的struc
命令为指定范围的可能模型顺序组合创建一个矩阵n一个,nb,nk值。
例如,下面的命令定义了模型顺序和延迟的范围na = 2:5
,nb = 1:5
,nk = 1:5
:
NN = strucc (2:5,1:5,1:5))
arxstruc
的arxstruc
的输出struc
,为每个模型订单估计一个ARX模型,并将模型输出与测量输出进行比较。arxstruc
返回损失对于每个模型,它是预测误差平方和的归一化和。
例如,下面的命令使用指定顺序的范围神经网络
计算单输入/单输出估计数据的损失函数data_e
验证数据data_v
:
V = arxstruc(data_e,data_v,NN);
每一行神经网络
对应于一组顺序:
[na nb nk]
selstruc
的selstruc
的输出arxstruc
并打开ARX模型结构选择窗口,指导您选择性能最佳的模型顺序。
例如,要打开ARX模型结构选择窗口并交互式地选择最佳参数组合,使用以下命令:
selstruc (V);
有关使用ARX模型结构选择窗口的更多信息,请参见从最佳ARX结构中选择模型订单.
要找到最小化赤池的信息准则的结构,使用以下命令:
nn = selstruc(V,“另类投资会议”);
在哪里神经网络
包含相应的na
,注
,nk
订单。
类似地,要找到使Rissanen的最小描述长度(MDL)最小化的结构,使用以下命令:
nn = selstruc(V,“MDL”);
要选择损失函数最小的结构,使用以下命令:
nn = selstruc(V,0);
在估计模型顺序和延迟之后,使用这些值作为估计其他模型结构的初始猜测,如中所述用多边形估计多项式模型.
在命令行上估计延迟
的延迟
命令通过估计一个低阶离散ARX模型并将延迟作为一个未知参数来估计动态系统中的时间延迟。
默认情况下,延迟
假设n一个=nb=2
并且有一个很好的信噪比,并使用这个信息进行估计nk.
估计一个数据集的延迟数据
,在提示符下输入以下内容:
延迟(数据);
如果你的数据只有一个输入,MATLAB®计算输入延迟的标量值——等于数据样本的数量。如果数据有多个输入,MATLAB将返回一个向量,其中每个值都是对应输入信号的延迟。
要计算实际的延迟时间,必须将输入延迟乘以数据的采样时间。
您还可以使用ARX模型结构选择窗口一起估计输入延迟和模型顺序,如中所述在命令行上估计模型命令.
从最佳ARX结构中选择模型订单
您可以为您的数据生成ARX模型结构选择窗口,以选择最适合的模型。
有关在系统识别应用程序中生成此图的过程,请参见估算应用程序中的订单和延迟.要在命令行打开此图,请参见在命令行上估计模型命令.
下图显示了ARX模型结构选择窗口中的示例图。
您可以使用这个图来选择最合适的模型。
横轴是参数的总数-n一个+nb.
纵轴,称为无法解释的输出方差(%),是模型未解释的输出部分——ARX模型对横轴上显示的参数数量的预测误差。
的预测误差是验证数据输出与模型提前一步预测输出之间差异的平方和。
nk就是延迟。
三个矩形在图中以绿色、蓝色和红色突出显示。每种颜色表示一种最佳拟合准则,如下所示:
红色-最佳拟合最小化验证数据输出和模型输出之间差异的平方和。这个矩形表示整体最合适。
绿色-最佳拟合最小化Rissanen MDL标准。
蓝色-最佳拟合最小化赤池AIC标准。
在ARX模型结构选择窗口中,单击任意栏查看最合适的订单。右边的区域是动态更新的,以显示最佳匹配的顺序和延迟。
有关AIC标准的更多信息,请参见损失函数和模型质量度量.