About wavenet documentation
7 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
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
More Answers (3)
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
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.
0 Comments
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?
0 Comments
See Also
Categories
Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!