MATLAB: About wavenet documentation

wavelet networkswavenet

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

Best Answer

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
Related Question