主要内容

idWaveletNetwork

非线性ARX和Hammerstein-Wiener模型的小波网络函数

描述

一个idWaveletNetwork对象实现小波网络功能,是用于估计非线性ARX和非线性HAMBerstein-Wiener模型的非线性映射功能。映射函数,也称为a非线性,使用线性重量,偏移和非线性函数的组合来计算其输出。非线性功能包含在输入的径向组合上操作的小波单元功能。

数学上,idWaveletNetwork是一个映射函数吗M.输入XT.) = (XT.1),X2T.),…XM.T.)]T.到标量输出yT.),使用以下关系:

y T. 的) = y 0. + χ T. 的) X ¯ 的) T. P. L. + W. χ T. 的) 的) + S. χ T. 的) 的)

在这里:

  • XT.)是一个M.- 1个输入的向量,或回归者,平均值 χ ¯

  • y0.是输出偏移量,标量。

  • P.是一个M.-经过-P.投影矩阵,M.是回归数和是吗P.是线性重量的数量。M.必须大于或等于P.

  • L.是A.P.-乘1的权重向量。

  • W.X) 和S.X)共同构成小波网络的非线性函数。W.X)是扩展的小波和翻译的小波之和S.X)是扩张和翻译的缩放功能的总和(也称为scalelets).小波的总数D.W.和缩放功能D.S.被称为单位数网络。

对于小波函数项的定义W.X)和缩放函数术语S.X), 看更多关于

使用idWaveletNetwork作为价值outputfcn.财产的idnlarx模型或者InputNonlinearity输出线性属性的idnlhw对象。例如,指定idWaveletNetwork当你估计一个idnlarx使用以下命令的模型。

sys = nlarx(数据,回归器,IDWaveletNetwork)
什么时候nlarx估计模型,它基本上估计了该模型idWaveletNetwork功能。

您可以配置idWaveletNetwork函数禁用组件和修复参数。省略线性组件,设置LinearFcn。使用.省略偏移量,设置偏移量。使用.要指定线性函数的已知值和偏移量,请设置它们价值属性,并设置相应免费的属性到.使用评估计算给定输入的给定向量的函数的输出。

创建

描述

例子

W.= idWaveletNetwork创造一个idWaveletNetwork目的W.,该功能在模型估计期间自动计算单位数。

例子

W.= idwaveletnetwork(numUnits的)指定单元数numUnits.该语法包含一个选项,允许您交互式地评估单元数量和未解释方差之间的关系。

例子

W.= idwaveletnetwork(numUnitsUseLinearFcn的)指定函数是否使用线性函数作为子分量。

例子

W.= idwaveletnetwork(numUnitsUseLinearFcn使用OFFSET.的)指定函数是否使用偏移量项。

输入参数

展开全部

指定为表示的字符串或字符向量的单位数'汽车'“互动”,或正整数。numUnits确定小波或尺度函数的数量,或者,如果两个元素都存在,小波和尺度函数的组合数量。一般来说,小波网络要么包含小波,要么包含尺度函数,但不能两者都包含。指定numUnits作为下列价值之一:

  • '汽车'- 软件在模型估计期间自动确定单位数。

  • “互动”-在模型估计期间,软件显示一个互动的条形图,将未解释的方差与单位的数量联系起来。单击一个条形图,查看所选单位数量的估计数据可达到的适合度。蓝条表示基于广义交叉验证(GCV)准则的最优选择。选择单位数量的一般规则是使用最小的单位数量,以捕获大部分的方差。

  • 正整数 - 软件直接使用指定的值。

这个论点设置了W.NonlinearFcn.NumberOfUnits财产。

选项要使用线性函数子组件,指定为真正的.此参数设置了值的值w.linearfcn.use.财产。

选项要使用偏移项,指定为真正的.此参数设置了值的值W.Offset.Use财产。

特性

展开全部

用于估计的信号的输入信号信息,指定为vectorsM.调控房地产的价值,M.为输入信号的个数。的输入每个输入信号的属性如下:

  • 的名字- 输入信号的名称,指定为1-by-M.字符串或字符数组,在哪里M.输入的数量是多少

  • 的意思是- 输入信号的平均值,指定为数字标量

  • 范围—输入信号的范围,用2-by-表示M.包含最小值和最大值的数字数组

输出信号信息,指定为特定属性值。的输出属性如下:

  • 的名字- 输出信号的名称,指定为字符串或字符数组

  • 的意思是- 输出信号的平均值,指定为数字标量

  • 范围—输出信号的范围,指定为一个2乘1的数字数组,包含最小值和最大值

线性函数的参数,指定如下:

  • 使用- 选项要在小波网络中使用线性函数,指定为标量逻辑。默认值是真正的.有关设置此选项的示例,请参见从小波网络映射对象中排除线性项

  • 价值- 组成的线性重量L.',指定为1-by-P.向量。

  • InputProight.-输入投影矩阵P.,指定为M.-经过-P.矩阵,转换长度的输入矢量M.变成一个长度的向量P..对于Hammerstein-Wiener模型,InputProight.等于1

  • 免费的—选择更新的项价值在估计期间,指定为1-by-P.逻辑向量。软件荣誉免费的说明仅当起始值为价值是有限的。默认值是真正的

  • 最低- 最小界限价值,指定为1-P.向量。如果最低用有限值和?的初始值指定价值是有限的,然后软件强制在模型估计期间的最小界限。

  • 最大值- 最大限度的界限价值,指定为1-P.向量。如果最大值用有限值和?的初始值指定价值是有限的,然后软件强制实施模型估计期间的最大限制。

  • SelectedInputIndex——指数idWaveletNetwork输入(参见输入。的名字)用作线性函数的输入,指定为1-by-N.R.整数向量,N.R.为输入的个数。对于非线性ARX模型回归杂志属性确定这些指数。对于Hammerstein-Wiener模型,SelectedInputIndex总是1

偏移项的参数,指定如下:

  • 使用-选择在小波网络中使用偏移量,指定为标量逻辑。默认值是真正的

  • 价值- 偏移值,指定为标量。

  • 免费的-更新选项价值在估计期间,指定为标量逻辑。软件荣誉免费的规范的只有当值价值是有限的。默认值是真正的

  • 最低- 最小界限价值,指定为数字标量或-inf..如果最低是用一个有限值指定的价值是有限的,然后软件强制在模型估计期间的最小界限。默认值是-inf.

  • 最大值- 最大限度的界限价值,指定为数字标量或inf.如果最大值用有限值和?的初始值指定价值是有限的,然后软件强制实施模型估计期间的最大限制。默认值是inf

非线性函数的参数,指定如下:

  • NumberOfUnits—单位数,指定为'汽车'“互动”或者是正整数。NumberOfUnits确定小波或尺度函数的数量,或者,如果两个元素都存在,小波和尺度函数的组合数量。一般来说,小波网络要么包含小波,要么包含尺度函数,但不能两者都包含。的选项NumberOfUnits如下面所述:

    • '汽车'- 软件在模型估计期间自动确定单位数。

    • “互动”-在模型估计期间,软件显示一个互动的条形图,将未解释的方差与单位的数量联系起来。单击一个条形图,查看所选单位数量的估计数据可达到的适合度。蓝条表示基于广义交叉验证(GCV)准则的最优选择。选择单位数量的一般规则是使用最小的单位数量,以捕获大部分的方差。

    • 正整数 - 软件直接使用指定的值。

  • 结构—控制小波和尺度函数结构的高级选项,具体如下表所示。

    财产 描述 默认的
    FinestCell 最小单元中数据点的最小数目,指定为'汽车'或者一个正整数。单元格是小波明显非零的部分所覆盖的面积。的默认设置'汽车'指定软件在评估期间确定此值。 '汽车'
    MinimumCells 分区中最小单元格数,指定为正整数。 16
    MaximalCells. 分区中的最大单元格数,指定为正整数。 16
    MaximumLevels 最大小波级数,指定为正整数。 10
    膨胀 膨胀步长,指定为正整数。 2
    TranslationStep 翻译步长,指定为正整数。 1

  • 参数- 参数idWaveletNetwork,如下表所示。

    字段名称 描述 默认的
    InputProight.

    投影矩阵问:,指定为M.-经过-问:矩阵。问:转换贬值的输入向量 X X ¯ 的) 的长度M.变成一个长度的向量问:.通常,问:和线性投影矩阵的维数相同吗P..在这种情况下,问:等于P.,即线性权值的个数。

    对于Hammerstein-Wiener模型,InputProight.等于1

    []
    缩放Coffir

    缩放功能系数S.一世,指定为DS.-by-1矢量。

    []
    scalingTranslation.

    缩放平移矩阵,指定为DS.-经过-问:缩放翻译行向量的矩阵E.一世

    []
    ScalingDilation

    缩放功能扩张系数D.一世,指定为DS.-by-1矢量。

    []
    WaveletCoefficient

    小波函数系数W.一世,指定为DW.-by-1矢量。

    []
    WaveletTranslation

    小波翻译矩阵,E.一世,指定为DW.-经过-问:小波变换行向量矩阵C一世

    []
    WaveletDilation

    小波扩张系数B.一世,指定为DW.-by-1矢量。

    []

  • 免费的- 估计参数的选项,指定为逻辑标量。如果所有参数都有有限的值,例如何时idWaveletNetwork对象对应于先前估计的模型,然后设置免费的导致非线性函数的参数W.X) 和S.X),以在估计期间保持不变。默认值是真正的

  • SelectedInputIndex——指数idWaveletNetwork输入(参见输入。的名字)作为非线性函数的输入,指定为1-by-N.R.整数向量,N.R.为输入的个数。对于非线性ARX模型回归杂志属性确定这些指数。对于Hammerstein-Wiener模型,SelectedInputIndex总是1

例子

全部折叠

莫= idWaveletNetwork;

观看idWaveletNetwork对象。

disp (MO)
小波网络非线性函数:小波网络的单位数自动选择线性函数:未初始化输出偏移:未初始化输入:'<函数输入>'输出:'<函数输出>'线性函数参数>'非线性fcn: '<小波和标度函数单位及其参数>'偏移:'' EstimationOptions: ''

创造idWaveletNetwork映射对象

莫= idWaveletNetwork;

将线性项排除

MO.LinearFcn.Use = false;

观看idWaveletNetwork对象。

disp (MO)
小波网络非线性函数:小波网络的单位数自动选择线性函数:未使用输出偏移:未初始化输入:'<函数输入>'输出:'<函数输出>'线性函数参数>'非线性fcn: '<小波和标度函数单位及其参数>'偏移:'' EstimationOptions: ''

线性函数没有被使用。

加载估计数据。

负载Twotankdata.y;

创建一个iddata.来自估计数据的对象。

z = iddata (y、u, 0.2);

创建一个带有五个单元的小波网络映射对象。

莫= idWaveletNetwork (5);

估计非线性ARX模型。

sys = nlarx(z,[4 4 1],MO)
SYS =非线性ARX模型具有1个输出和1个输入输入:U1输出:Y1回归:变量中的线性回归y1,U1所有回归量的列表输出功能:小波网络有5个单位采样时间:0.2秒状态:使用nlarx估计域数据“z”。适合估算数据:96.8%(预测焦点)FPE:3.553E-05,MSE:3.515E-05

加载估计数据。

负载motorizedcamera;

创建一个iddata.对象。

z = iddata(y,u,0.02,'姓名''机动相机''不时's);

Z.是一个iddata.具有六个输入和两个输出的对象。

指定模型订单和延迟。

订单=[(2,6),则(2,6)的(2,6)];

为每个输入通道指定相同的非线性估计器。

InputNL = idWaveletNetwork;

为每个输出通道指定不同的非线性估计值。

OutputNL = [idDeadZone, idWaveletNetwork];

估计Hammerstein-Wiener模型。

sys = nlhw (z,订单、InputNL OutputNL);

要查看估计的输入和输出非线性的形状,请绘制非线性。

情节(系统)

图Hammerstein-Wiener模型图包含6个轴对象和UIPanel类型的其他对象,UIControl。轴对象1包含类型线的对象。此对象表示SYS:IDWaveletNetwork。轴对象2包含类型线的对象。此对象表示SYS:IDWaveletNetwork。轴对象3包含类型线的对象。此对象表示SYS:IDWaveletNetwork。轴对象4包含类型线的对象。此对象表示SYS:IDWaveletNetwork。轴对象5包含类型线的对象。 This object represents sys:idWaveletNetwork. Axes object 6 contains an object of type line. This object represents sys:idWaveletNetwork.

单击绘图顶部的输入和输出非线性块以查看非线性。

加载估计数据。

负载Iddata7.Z7.;

指定idWaveletNetwork对于模型输出功能。配置idWaveletNetwork对象具有固定的偏移值1,并在非线性组件中使用五个单位。

w = idWaveletNetwork;w.Offset.Value = 1;w.Offset.Free = false;w.NonlinearFcn.NumberOfUnits = 5;

使用LAG阵列指定线性模型回归集合,该滞后数组产生四个连续输出回收器和五个连续输入回归位。

reg = linearreborlardor({'y1'‘u1’}, {1:4, 0:4});

估计非线性ARX模型。

sys = nlarx (z7 reg w);

检查输出函数的后估计属性。

disp (sys.OutputFcn)
小波网络输入:y1(t-1), y1(t-2), y1(t-3), y1(t-4), u1(t), u1(t-1), u1(t-2), u1(t-3), u1(t-4)输出:y1非线性函数:5单位小波网络线性函数:初始化为[-1.12 0.469 1.25 0.556 -0.81 -0.261 -0.074 0.711 1.15]<线性函数参数>'非线性fcn: '<小波和缩放函数单位及其参数>'偏移:'<偏移参数>'估计选项:'<估计选项>'
disp (sys.OutputFcn.Input)
功能输入名称:{1x9小区}均值:[0.0795 0.0848 0.1082 0.1134 0.0253 0.0253 0.020202022 0.0202 0.0202]范围:[2x9双]
disp (sys.OutputFcn.NonlinearFcn)
小波和缩放功能单位及其参数NumberofUnits:5参数:'<小波参数>'免费:1 SENCESENTIONINUTINDEX:[1 2 3 4 5 6 7 8 9]

加载估计数据。

负载throttledata

指定idWaveletNetwork对于模型输出非线性并设置参数NumUnits5.UseLinearFcn使用OFFSET.

w = idWaveletNetwork(5日假,假);

另一种消除线性函数和偏移的方法是在创建非线性后使用点符号。

w.linearfcn.use = false;w.offset.USE = false;

估计模型,使用订单规范的(4 4 1)

sys = nlhw(ThrottleData,[4 4 1],[],w);

将模拟模型响应与估计数据进行比较。

比较(throttledata,sys);

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象表示ThrottleData(节流阀位置),sys: 92.68%。

更多关于

展开全部

算法

您可以使用idWaveletNetwork在非线性ARX和Hammerstein-Wiener模型中。估计的算法idWaveletNetwork参数取决于您所估计的模型。

  • 在非线性ARX模型中,idWaveletNetwork根据选项设置,使用非特性或迭代技术来预测参数,这是根据选项设置来预测参数nlarxOptions

    • 如果重点选项设置为'预言', 然后idWaveletNetwork使用快速非迭代技术来估计参数[1].第一次估计后的连续细化使用迭代算法。

    • 如果重点选项设置为“模拟”, 然后idWaveletNetwork使用迭代技术来估计参数。

    • 要始终使用迭代或非标语算法,请指定IterativeWavenet的属性nlarxOptions作为'在''离开', 分别。

  • 在Hammerstein-Wiener模型中,idWaveletNetwork使用迭代最小化来确定参数。

兼容性的考虑

展开全部

不推荐从R2021B开始

不推荐在R2021A中开始

参考文献

[1]清华。“小波网络在非参数估计中的应用”。神经网络学报8,不。2(1997年3月):227-36。https://doi.org/10.1109/72.557660。

在R2007A介绍