Wavelet Decomposition: Difference in MODWT and MODWTMRA functions
16 views (last 30 days)
Referring to MATLAB example,
realgdpwt = modwt(realgdp,'db2',6,'reflection');
gdpmra = modwtmra(realgdpwt,'db2','reflection');
I am finding it difficult to fathom the need for Multi-resolution analysis (MRA) when MODWT yields (additive) details and approximation coefficients at desired levels. Also, the output of MRA has a look-ahead bias, which is undesirable, esp. for computing reliable boundary coefficients for prediction purposes.
Wayne King on 19 Jan 2017
Hi Rajat, MODWT and MODWTMRA are actually doing very different things. MODWT is providing the expansion coefficients while MODWTMRA is providing vector projections onto the various wavelet subspaces and final-level scaling space. I think you may be confused because in the case of the MODWT, there are as many expansion coefficients at each level as they are samples in the original data. But they are very different and as such they have very different properties and use cases.
For example, the MODWT coefficients are norm-preserving in the sense that if you add up the energy in the wavelet coefficients and the final-level scaling coefficients, you get back the same value as the energy (L2 norm squared) of the original signal. This is NOT true of the MRA. I'll illustrate this with the MATLAB var() command which works easily with matrices.
wt = modwt(noisdopp);
% Sum the variances at each level. There will be 10 wavelet subspaces and 1 final-level scaling space
% Remember these are the expansion coefficients
% Compare with signal
Note they are equal. So the MODWT expansion coefficients provide an analysis of variance of the data.
This will NOT be the case with the MODWTMRA, which are the PROJECTIONS (not expansion coefficients) onto the various subspaces.
However, if you sum the components in the MRA element by element, you get back the original time series. This property is NOT shared by the expansion coefficients (output of MODWT). Using the MODWT decomposition from above.
mra = modwtmra(wt);
xrec = sum(mra);
You get back the original signal exactly. If you try that with the MODWT coefficients, you will NOT get back the original data. The MRA has a zero-phase property in that features in the MRA are exactly lined-up with where they occur in the time series, this is why you can simply sum the components in the MRA and get back the original data. Again, not a property shared by the MODWT coefficients.
If you want to see the analogy with the critically-sampled DWT, MODWT provides the same thing as WAVEDEC, while MODWTMRA provides the same thing as WRCOEF.
Hope that helps, Wayne