使用系统识别应用程序估计正则化ARX模型
这个例子展示了如何在系统识别应用程序中使用自动生成的正则化常数来估计正则化ARX模型。
打开一个保存的系统识别应用程序会话。
文件名= fullfile(matlabroot,“帮助”,“工具箱”,...“识别”,“例子”,“ex_arxregul.sid”);systemIdentification(文件名)
会话将以下数据和模型导入到系统识别应用程序中:
估计的数据
eData
通过模拟具有以下已知传递函数的系统来收集数据:
传递函数模型
trueSys
trueSys
是否使用传递函数模型来生成估计数据eData
前面描述的。稍后您还可以使用该模型的脉冲响应来比较估计的ARX模型的脉冲响应。
估计一个50阶ARX模型。
在“系统识别”应用程序中,选择估计>多项式模型打开多项式模型对话框。
类型中选择了ARX结构列表。
在订单字段,指定[0 50 0]作为ARX模型的顺序和延迟。
点击估计对模型进行估计。
一个模型arx0500
被添加到系统识别应用程序。
估计一个50阶正则化ARX模型。
在“多项式模型”对话框中,单击正则化.
在“正则化选项”对话框中,选择
TC
从正则化内核下拉列表。属性自动确定正则化常数
TC
正规化的内核。要了解更多信息,请参阅arxRegul
参考页面。点击关闭关闭对话框。
在的名字字段中,键入
arx0500reg
.点击估计.
一个模型arx0500reg
被添加到系统识别应用程序。
将非正则化和正则化模型输出与估计数据进行比较。
选择模型输出系统识别应用程序中的复选框。
实测和模拟模型输出图表明,两个模型与数据的拟合度均为84%。
确定正则化是否导致参数值方差较小。
由于使用正则化和不使用正则化的模型对估计数据的拟合相似,将ARX模型的脉冲响应与的脉冲响应进行比较trueSys
,系统用于收集估计数据。
单击
trueSys
系统识别应用程序模型板中的图标。选择短暂的分别地复选框以打开瞬态响应图窗口。
默认情况下,该图显示阶跃响应。
在瞬态响应图窗口中,选择选项>脉冲响应更改为图形以显示脉冲响应。
选择选项>显示99%置信区间绘制置信区间。
图中显示了非正则模型的脉冲响应
arx0500
与真实系统相差甚远,具有较大的不确定性。为了更深入地了解模型与数据和方差的匹配情况,请放大图的一部分。
正则化ARX模型的拟合
arx0500reg
与真实系统的脉冲响应紧密匹配,与非正则模型相比方差大大减小。