About wavenet documentation

9 views (last 30 days)
Emanuel
Emanuel on 21 Feb 2011
Answered: liu ke on 17 Mar 2022
Hi all,
In the documentation for wavenet estimator (Lenart Ljung, System Identification Tool Box 7 - Reference; Page 2-455). I have not found the references page about the function expansion used in the matlab identification toolbox. In case, F(x) = (x-r)PL + As1f((Bs1(x-r)Q-Cs1)+...Asnf((BsnS(x-r)Q-Csn)+Aw1G(((Bw1(x-r))Q-Cw1)+...+Awnwg((BwnW(x-r))Q-Cwn)+d. i didn't find papers that speak about it.
In the case, how would the scaling function f and the wavelet function g overwritten in the function expansion, for NARX case?
Thanks,
Emanuel

Accepted Answer

Rajiv Singh
Rajiv Singh on 24 Feb 2011
The formula shown for overall nlarx model is just a shorthand notation for the actual one and it is there only for the ease of description on that page. The "real formula" would be the one on reference pages for various nonlinearity estimators such as wavenet, sigmoidnet etc. The distinction between the linear and nonlinear pieces is also virtual: both are pieces of the same overall formula of a nonlinearity estimator. So You are right on both accounts:
(1) L'(x-r) +d is the "(x-r)PL +d " piece of the wavenet's overall formula.
(2) g(Q(x-r)) is the remaining piece which is composed of two summations - one over the scaling basis functions f() and the other over the wavelet basis functions g().
To make it simpler, simply remember that the nlarx model has two components connected in series:
Data ---> BLOCK 1 ---> BLOCK 2 ---> response
BLOCK1 takes the I/O data and transforms them into a matrix of regressors. Use the GETREG command to do this manually, that is obtain the regressor matrix from give I/O signals.
BLOCK 2 is your nonlinear function (wavenet) which takes the regressor matrix as input ("x") and uses it to compute the response F(x). Calling EVALUATE command on a wavenet object achieves this transformation.
If you were doing this calculation by hand you would first obtain the regressor matrix using GETREG and then obtain the model's response by calling EVALUATE on the model's nonlinearity (wavenet) using the regressor matrix as input argument. The reference I cited earlier shows an example of this using a sigmoid network, but the same process would apply for a wavelet network using a different formula for the nonlinearity. This example is at:
http://www.mathworks.com/help/toolbox/ident/ug/bq5o_xw-1.html#br7139m
Please see my fex submission for a tutorial-type analysis of the whole thing at:
http://www.mathworks.com/matlabcentral/fileexchange/28618-data-based-modeling-of-nonlinear-dynamic-systems-using-system-identification-toolbox
It goes into some details on the structure of nonlinear models, how to decipher them and configure them to suit your needs.
Finally, I do not quite understand what you mean by "explain how the function expansion was achieved". The wavelet network is a well defined formula using linear term and two summations over the scaling and wavelet functions. The number of terms to be used in the summations is an unknown but can be prescribed in a variety of ways during estimation by the user - let the estimation method (NLARX) pick it automatically, give a number for it explicitly or choose a value interactively. See the "NumberOfUnits" property of the wavenet object which controls this choice. See:
Zhang, Q., and A. Benveniste, "Wavelet networks." IEEE Transactions on Neural Networks. Vol. 3, Issue 6, 1992, pp. 889–898.
for the automatic basis selection algorithm. This should be main reference for the wavelet network's structure too (which will perhaps answer your question).
Once the number of terms is determined, there are dedicated algorithms to determine the values of the various coefficients of the wavelet network (various scaling, translation and dilation coefficients in the expansion - d, as, bs, cs,...).
Does this help? Rajiv
  1 Comment
Emanuel
Emanuel on 27 Feb 2011
Yes, it helps me.
Thank you very much!

Sign in to comment.

More Answers (3)

Rajiv Singh
Rajiv Singh on 22 Feb 2011
I am not sure what your question is, but see the following:
(1) For details on the formula used to represent a wavelet network, see:
http://www.mathworks.com/help/toolbox/ident/ref/wavenet.html
It describes what f() and g() represent. See also: http://www.mathworks.com/help/toolbox/ident/ug/bq5o_xw-1.html
and in particular: http://www.mathworks.com/help/toolbox/ident/ug/bq5o_xw-1.html#br7139m
which describes how you can extract the relevant information from an nlarx model structure and use it to manually evaluate the nonlinear function.
(2) Academic references can be found at: http://www.mathworks.com/help/toolbox/ident/gs/bqt1qbd.html
Rajiv
  1 Comment
Emanuel
Emanuel on 23 Feb 2011
Thank you very much for helping me, Mr. Rajiv!
I'll try to explain my doubt.
According [http://www.mathworks.com/help/toolbox/ident/ug/bq5o_xw-1.html],
in the NARX model, the nonlinearity estimator block can include linear and nonlinear blocks in parallel. In the case, F(x) = L'(x-r)+d+g(Q(x-r)), where L'(x)+d is the output of linear function block, and g(Q(x-r)) is the output of nonlinear function block.
According [http://www.mathworks.com/help/toolbox/ident/ref/wavenet.html],
the wavelet network function is based on the following function expansion:
F(x) = (x-r)PL + As1f((Bs1(x-r)Q-Cs1)+...Asnf((BsnS(x-r)Q-Csn)+Aw1G(((Bw1(x-r))Q-Cw1)+...+Awnwg((BwnW(x-r))Q-Cwn)+d
So, does that mean that L'(x-r) +d (in NARX model) = (x-r)PL +d (in wavelet network function expansion), and
g(Q(x-r)) (in NARX model) = As1f((Bs1(x-r)Q-Cs1)+...Asnf((BsnS(x-r)Q-Csn)+Aw1G(((Bw1(x-r))Q-Cw1)+...+Awnwg((BwnW(x-r))Q-Cwn) (in wavelet network function expansion) ??
If I’m not mistaken, the articles and books that you’ve indicated do not explain how the function expansion was achieved. Could you indicate a reference to explain the function expansion with more details?
Thank you for your attention!

Sign in to comment.


liu ke
liu ke on 17 Mar 2022
Hi Rajiv,
After reading your introduction, I still don't understand this wavelet function.
And I do not know nLARx nonlinear identification, choose different estimators, such as wavelet network, Sigmoid network. Do different estimators make any difference in recognition? I want to know the deep meaning. Now I only understand that different estimators correspond to different nonlinear basis functions, but how to choose estimators for data, or is there any paper on that?
Could you please re-send the above links? Most of them cannot be opened.

liu ke
liu ke on 17 Mar 2022
hi rajiv
There are nine identification methods in MATLAB software. For a set of data, how can we quickly choose identification methods, such as distinguishing linear identification from nonlinear identification? And the model order estimation, is there an automatic search?

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!