idWaveletNetwork
非线性ARX和Hammerstein-Wiener模型的小波网络函数
描述
一个idWaveletNetwork
对象实现了一个小波网络函数,是一个非线性映射函数,用于估计非线性ARX和非线性Hammerstein-Wiener模型。映射函数,也称为a非线性它使用线性权重、偏移量和非线性函数的组合来计算输出。非线性函数包含小波单元函数,它作用于输入的径向组合。
数学上,idWaveletNetwork
是映射的函数吗米输入X(t) = [x(t1),x2(t),…x米(t)]T到标量输出y(t)使用下列关系:
在这里:
X(t)是一个米输入的-by-1向量,或者解释变量.
y0是输出偏移量,一个标量。
P是一个米——- - - - - -p投影矩阵,其中米回归量的数量和p是线性权值的个数。米必须大于等于p.
l是一个p-by-1的权重向量。
W(X),年代(X)共同构成小波网络的非线性函数。W(X)是扩展小波和平移小波的和年代(X)是扩张和平移缩放函数的和(也称为scalelets).小波的总数dw缩放函数d年代被称为单位数量网络的。
关于小波函数项的定义W(X)和标度函数项年代(X),看更多关于.
使用idWaveletNetwork
的值OutputFcn
的属性idnlarx
模型或InputNonlinearity
而且OutputLinearity
属性idnlhw
对象。例如,指定idWaveletNetwork
当你估计idnlarx
使用以下命令进行建模。
sys = nlarx(数据,回归器,idWaveletNetwork)
nlarx
估计模型,它本质上估计参数idWaveletNetwork
函数。
您可以配置idWaveletNetwork
函数禁用组件并修复参数。要省略线性分量,请设置LinearFcn。使用
来假
.若要省略偏移量,请设置偏移量。使用
来假
.若要指定线性函数和偏移量的已知值,请设置它们价值
属性,并设置相应的免费的
属性来假
.使用评估
计算给定输入向量下函数的输出。
创建
语法
描述
创建一个W
= idWaveletNetworkidWaveletNetwork
对象W
,该函数在模型估计时自动计算单元数。
指定函数是否使用线性函数作为子组件。W
= idWaveletNetwork (numUnits
,UseLinearFcn
)
指定函数是否使用偏移量项。W
= idWaveletNetwork (numUnits
,UseLinearFcn
,UseOffset
)
输入参数
numUnits
- - - - - -单位数量
“汽车”
(默认)|“互动”
|正整数
单位数,指定为表示的字符串或字符向量“汽车”
或“互动”
,或作为正整数。numUnits
确定小波或缩放函数的数量,或者,如果两个元素都存在,则确定小波和缩放函数的组合数量。通常,小波网络要么包含小波,要么包含尺度函数,但不是两者都包含。指定numUnits
作为下列值之一:
“汽车”
-软件在模型估计时自动确定单元数。“互动”
-在模型估计期间,软件显示一个交互式条形图,将无法解释的方差与单元数联系起来。点击一个栏查看可达到的拟合估计数据为选定的单位数量。蓝色条表示基于广义交叉验证(GCV)准则的最佳选择。选择单位数的一般规则是使用捕获大部分方差的最小单位数。正整数-软件直接使用指定的数值。
此参数设置W.NonlinearFcn.NumberOfUnits
财产。
UseLinearFcn
- - - - - -选择使用线性函数
真正的
(默认)|假
选项使用线性函数子组件,指定为真正的
或假
.属性的值W.LinearFcn.Use
财产。
UseOffset
- - - - - -选择使用抵消条款
真正的
(默认)|假
选项,用于使用偏移量项,指定为真正的
或假
.属性的值W.Offset.Use
财产。
属性
输入
- - - - - -输入信号名称
单元阵列
映射对象的输入的输入信号名称,指定为1 × -米单元格数组,其中米是输入信号的个数。这个属性是在估计过程中确定的。
输出
- - - - - -输出信号名称
单元阵列
映射对象输出的输出信号名称,指定为1乘1单元格数组。这个属性是在估计过程中确定的。
LinearFcn
- - - - - -线性函数参数
线性函数属性值(默认)
线性函数的参数,具体如下:
使用
-选择使用小波网络中的线性函数,指定为标量逻辑。默认值为真正的
.有关设置此选项的示例,请参见从小波网络映射对象中排除线性项.价值
-线性权重组成l',指定为1 × -p向量。InputProjection
-输入投影矩阵P,指定为米——- - - - - -p矩阵,它变换输入向量的长度米变成一个长度向量p.对于Hammerstein-Wiener模型,InputProjection
等于1
.免费的
-选项更新的条目价值
在估计期间,指定为1 × -p逻辑向量。该软件尊重免费的
规格仅当起始值为价值
是有限的。默认值为真正的
.
抵消
- - - - - -偏移项参数
偏移属性值
偏移量项的参数,指定如下:
使用
-选择在小波网络中使用偏移量,指定为标量逻辑。默认值为真正的
.价值
—偏移值,指定为标量。免费的
-更新选项价值
在估计期间,指定为标量逻辑。该软件尊重免费的
规范的假
只若值价值
是有限的。默认值为真正的
.
NonlinearFcn
- - - - - -非线性函数参数
非线性函数属性值
非线性函数的参数,具体如下:
NumberOfUnits
-单元数,指定为“汽车”
,“互动”
,或正整数。NumberOfUnits
确定小波或缩放函数的数量,或者,如果两个元素都存在,则确定小波和缩放函数的组合数量。通常,小波网络要么包含小波,要么包含尺度函数,但不是两者都包含。的选项NumberOfUnits
分别如下:“汽车”
-软件在模型估计时自动确定单元数。“互动”
-在模型估计期间,软件显示一个交互式条形图,将无法解释的方差与单元数联系起来。点击一个栏查看可达到的拟合估计数据为选定的单位数量。蓝色条表示基于广义交叉验证(GCV)准则的最佳选择。选择单位数的一般规则是使用捕获大部分方差的最小单位数。正整数-软件直接使用指定的数值。
结构
—高级选项,用于控制小波和缩放函数的结构,具体如下表所示。财产 描述 默认的 FinestCell
最小单元格中的最小数据点数,指定为 “汽车”
或者一个正整数。单元格是小波中显著非零的部分所覆盖的区域。的默认设置“汽车”
指定软件在估计期间确定此值。“汽车”
MinimumCells
分区中的最小单元格数,指定为正整数。 16
MaximumCells
分区中的最大单元格数,指定为正整数。 16
MaximumLevels
小波级别的最大数目,指定为正整数。 10
DilationStep
膨胀步长,指定为正整数。 2
TranslationStep
转换步长,指定为正整数。 1
参数
-参数idWaveletNetwork
,具体如下表所示。字段名 描述 默认的 InputProjection
投影矩阵问,指定为米——- - - - - -问矩阵。问转换去趋势输入向量 的长度米变成一个长度向量问.通常情况下,问与线性投影矩阵的维数相同P.在这种情况下,问等于p,即线性权值的个数。
对于Hammerstein-Wiener模型,
InputProjection
等于1
.[]
ScalingCoefficient
标度函数系数年代我,指定为ds1的向量。
[]
ScalingTranslation
缩放平移矩阵,指定为ads——- - - - - -问变换行向量的矩阵e我.
[]
ScalingDilation
缩放函数膨胀系数d我,指定为ds1的向量。
[]
WaveletCoefficient
小波函数系数w我,指定为dw1的向量。
[]
WaveletTranslation
小波平移矩阵,e我,指定为dw——- - - - - -问小波平移行向量的矩阵c我.
[]
WaveletDilation
小波膨胀系数b我,指定为dw1的向量。
[]
免费的
-估计参数的选项,指定为逻辑标量。如果所有参数都有有限值,例如idWaveletNetwork
对象对应于先前估计的模型,然后进行设置免费的
来假
导致非线性函数的参数W(X),年代(X)在估算时保持不变。默认值为真正的
.
例子
创建小波网络映射对象
MO = id小波网络;
查看idWaveletNetwork
对象。
disp (MO)
小波网络非线性函数:自动选择单元数的小波网络线性函数:未初始化输出偏移量:未初始化输入:{1x0 cell}输出:{1x0 cell}非线性fcn: '<小波和标度函数单元及其参数>'线性fcn: '<线性函数参数>'偏移量:'<偏移量参数>' EstimationOptions: '<估计选项>'
从小波网络映射对象中排除线性项
创建idWaveletNetwork
映射对象莫
.
MO = id小波网络;
排除线性项莫
.
MO.LinearFcn.Use = false;
查看idWaveletNetwork
对象。
disp (MO)
小波网络非线性函数:自动选择单元数的小波网络线性函数:未使用输出偏移量:未初始化输入:{1x0 cell}输出:{1x0 cell}非线性fcn: '<小波和标度函数单元及其参数>'线性fcn: '<线性函数参数>'偏移量:'<偏移量参数>' EstimationOptions: '<估计选项>'
线性函数没有被使用。
用特定映射函数估计非线性ARX模型
加载估计数据。
负载twotankdatayu;
创建一个iddata
对象从估计数据中获取。
Z = iddata(y,u,0.2);
创建带有五个单元的小波网络映射对象。
MO = idWaveletNetwork(5);
估计非线性ARX模型。
sys = nlarx(z,[4 4 1],MO)
sys = 1输出1输入的非线性ARX模型输入:u1输出:y1回归器:变量y1, u1中的线性回归器所有回归器列表输出函数:5单元小波网络采样时间:0.2秒状态:在时域数据“z”上使用NLARX估计。与估计数据拟合:96.8%(预测焦点)FPE: 3.553e-05, MSE: 3.515e-05
估计MIMO Hammerstein-Wiener模型
加载估计数据。
负载motorizedcamera;
创建一个iddata
对象。
Z = iddata(y,u,0.02,“名字”,“机动相机”,“TimeUnit”,“年代”);
z
是一个iddata
对象,具有六个输入和两个输出。
指定模型顺序和延迟。
Orders = [ones(2,6),ones(2,6),ones(2,6)];
为每个输入通道指定相同的非线性估计器。
InputNL = idWaveletNetwork;
为每个输出通道指定不同的非线性估计器。
OutputNL = [idDeadZone,idWaveletNetwork];
估计Hammerstein-Wiener模型。
sys = nlhw(z,Orders,InputNL,OutputNL);
要查看估计的输入和输出非线性的形状,请绘制非线性图。
情节(系统)
单击图顶部的输入和输出非线性块查看非线性。
应用idWaveletNetwork
估计非线性ARX模型时的约束条件
加载估计数据。
负载iddata7z7;
指定idWaveletNetwork
为模型输出函数。配置idWaveletNetwork
对象使其具有固定的偏移值1,并在非线性组件中使用五个单元。
w = id小波网络;w.Offset.Value = 1;w.Offset.Free = false;w.NonlinearFcn.NumberOfUnits = 5;
使用产生四个连续输出回归量和五个连续输入回归量的滞后数组指定线性模型回归量集。
reg =线性回归({“日元”,‘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(t)非线性函数:5单元小波网络线性函数:初始化为[-1.12 0.469 1.25 0.556 -0.81 -0.261 -0.074 0.711 1.15]输出偏移量:固定为1输入:{1x9单元}输出:{'y1(t)'}非线性函数cn: '<小波和缩放函数单元及其参数>'线性函数cn: '<线性函数参数>'偏移量:'<偏移量参数>'估计选项:“<选项>估计”
disp (sys.OutputFcn.Input)
函数输入名称:{1x9 cell}含义:[5.3829e-17 7.1772e-17 2.6914e-17 0 -4.4857e-18 -4.4857e-17…范围:[2x9 double]
disp (sys.OutputFcn.NonlinearFcn)
小波和尺度函数单元及其参数NumberOfUnits: 5参数:'<小波参数>'自由:1输入:{1x9单元}输出:{'y1(t):非线性'}
应用idWaveletNetwork
估计Hammerstein-Wiener模型时的约束条件
加载估计数据。
负载throttledata
指定idWaveletNetwork
为模型输出非线性并设置参数NumUnits
来5
而且UseLinearFcn
而且UseOffset
来假
.
w = idWaveletNetwork(5,false,false);
删除线性函数和偏移量的另一种方法是在创建非线性后使用点表示法。
w.LinearFcn.Use = false;w.Offset.Use = false;
估计模型,使用订单
规范的[4 4 1]
.
sys = nlhw(ThrottleData,[4 4 1],[],w);
将模拟模型响应与估计数据进行比较。
比较(ThrottleData sys);
更多关于
小波非线性函数W(X)
小波非线性函数是膨胀小波和平移小波的和,描述如下:
在这里:
问是一个米——- - - - - -问投影矩阵,其中米≥问
w1,w2、……wdw标量系数叫做小波系数.
b1,b2、……bdw标量叫做小波相呼应它乘以输入矩阵X.
c1,c2、……cdw1 -问行向量叫做小波转换.
径向函数是否只取决于矢量大小的平方x.x行向量是由带偏移量的输入的线性组合组成的吗c我.
尺度非线性函数年代(X)
标度非线性函数是扩张标度函数和平移标度函数的和,描述如下:
在这里:
问是一个米——- - - - - -问投影矩阵,其中米≥问.
年代1,年代2、……年代ds标量系数叫做比例系数.
d1,d2、……dds标量叫做扩展相呼应它乘以输入矩阵X.
e1,e2、……eds1 -问行向量叫做扩展翻译.
径向函数是否只取决于矢量大小的平方x.x行向量是由带偏移量的输入的线性组合组成的吗e我.米等于输入的数量,
暗(x)
.
算法
你可以使用idWaveletNetwork
在非线性ARX和Hammerstein-Wiener模型。估计的算法idWaveletNetwork
参数取决于您所估计的模型。
在非线性ARX模型中,
idWaveletNetwork
使用非迭代或迭代技术来预测参数,这取决于中的选项设置nlarxOptions
.如果
焦点
选项设置为“预测”
,然后idWaveletNetwork
使用快速非迭代技术估计参数[1].第一次估计之后的连续细化使用迭代算法。如果
焦点
选项设置为“模拟”
,然后idWaveletNetwork
使用迭代技术估计参数。若要始终使用迭代或非迭代算法,请指定
IterativeWavenet
的属性nlarxOptions
作为“上”
或“关闭”
,分别。
在Hammerstein-Wiener模型中,
idWaveletNetwork
采用迭代最小化法确定参数。
参考文献
[1]张清华。小波网络在非参数估计中的应用。IEEE神经网络汇刊8,不。2(1997年3月):227-36。https://doi.org/10.1109/72.557660。
版本历史
在R2007a中引入R2022a:以前idnlarx
数据规范化信息从映射对象属性移动到idnlarx
归一化
财产
R2022a的行为发生了变化
从R2022a开始,与数据规范化相关的信息已从映射对象级别转移到模型级别。的归一化
的属性idnlarx
模型包含估计过程计算的数据定心和缩放信息。
作为R2022a归一化更改的一部分,映射对象的回归器选择过程也移到了模型级别。模型现在将实际的回归器名称而不是选择索引传递给映射对象,从而消除了映射对象级别上索引属性的需要。
下表总结了R2022a中已删除的映射对象子属性。有关更多信息,请参见归一化
的属性idnlarx
.
主属性/子属性 | 输入 |
输出 |
LinearMdl |
抵消 |
NonlinearMdl |
---|---|---|---|---|---|
的意思是 |
X | X | |||
范围 |
X | X | |||
最低 |
X | X | X | ||
最大 |
X | X | X | ||
SelectedInputIndex |
X | X |
此更改适用于中列出的所有映射对象非线性ARX模型的可用映射函数.
R2021b:使用先前的idnlarx
而且idnlhw
不建议使用对象名称映射。
不建议从R2021b开始
从R2021b开始,映射对象(也称为非线性)用于对象的非线性组件idnlarx
而且idnlhw
对象已重命名。下表列出了名称更改。
Pre-R2021b名字 | R2021b名字 |
---|---|
wavenet |
idWaveletNetwork |
sigmoidnet |
idSigmoidNetwork |
treepartition |
idTreePartition |
customnet |
idCustomNetwork |
饱和 |
idSaturation |
死区 |
idDeadZone |
pwlinear |
idPiecewiseLinear |
poly1d |
idPolynomial1D |
unitgain |
idUnitGain |
线性 |
idLinear |
neuralnet |
idFeedforwardNetwork |
使用旧名称的脚本仍然正常运行,尽管它们会产生一个警告。考虑使用新名称以继续兼容新开发的特性和算法。目前还没有排除使用这些对象名称的计划
R2021a:不建议使用以前的非线性估计器属性
不建议从R2021a开始
从R2021a开始,映射对象的属性,以前称为非线性估计,已被重组。这些对象是wavenet
(W),sigmoidnet
(年代)treepartition
(T)customnet
(C)线性
(L).财产变更不适用于neuralnet
.不建议使用下表中r2021a之前的属性。但是,软件仍然接受设置这些属性的命令。目前还没有排除此类命令的计划。
Pre-R2021a财产 | R2021a财产 | 适用映射对象 |
---|---|---|
NumberOfUnits |
NonlinearFcn。NumberOfUnits |
W S、T、C |
LinearTerm |
LinearFcn。使用 ,偏移量。使用 |
W S C |
参数 |
分成三部分:
|
W S、T、C、L
|
选项 |
NonlinearFcn。结构 |
W T |
Beispiel offnen
Sie haben eine geänderte版本dieses Beispiels。Möchten Sie dieses Beispiel mit Ihren Änderungen öffnen?
MATLAB-Befehl
你的身体和身体之间的联系MATLAB-Befehl
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus。web浏览器unterstützen keine MATLAB-Befehle。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。