[Math] Extrapolating signals using wavelets

wavelets

I am an absolute beginner to wavelets, and I've read a few articles on how wavelets are used for predicting future points of a dataset, notably Wavelet prediction for Oil Prices and 1D Signal Prediction using wavelets

So, what I can not understand is that, for the N samples, how the N/2 detail coeffecients approximations are used for prediction.

I am using the PyWavelets package for python, and when I pass my N samples to the pywt.wavedec, I can see the approximation coeefficients show similar behavior to my dataset, but I don't understand how that is used together with the detail coefficients for prediction.

Best Answer

Though I believe the methodology and conclusions in the first paper you mention are fundamentally flawed, I'll give a brief and simplified explanation of what I think they are doing. It will not be very precise, but my explanation should help you understand how they are getting their predictions.

Suppose you decompose your signal (or time-series) $f(t)$ using a wavelet basis. This is a time-scale decomposition of $f(t)$, and at each scale s, at each time step (or window) $t_i$, you have a coefficient, $\alpha_{s,i}$, indicating the "amount" or "weight" of the $(s,i)$-th wavelet basis function present in your signal at time (window) $t_i$.

(Such a decomposition is described at Wikipedia, and in this article. But imho the best reference for this stuff is Mallat's book)

Now, it appears that the authors of the paper you cite look at the series of all coefficients of a certain scale, or "level of detail," as I believe they call it. Then they try to fit a spline or other model to this series in order to extrapolate these weights into the future. They do this for each scale, and this gives them their future wavelet coefficients. That is, they use these extrapolated values as the weights when writing the predicted signal as a linear combination of the wavelet basis functions.

If anything I've said is confusing (and/or if you think any of it is incorrect) please let me know.

Related Question