# Extrapolating signals using 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.

-

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.

-
that helps a lot! so they basically try to "curve-fit" the coefficients to get future values and then predict the future signal right? But then why wouldnt they just try to curve-fit their data points and get the future points that way? – vineet Mar 24 '12 at 15:13
@vineet Good question. The goal is to come up with a model that fits the data because it's a good model for the data generation process, rather than a model that just fits a specific data set; i.e. we must avoid overfitting the data. The idea is that the wavelet basis functions might be useful for capturing structural information about the data generation process. If we expect this structure to persist, or to change in predictable ways -- e.g. a pattern in the trajectories of the coefficients -- then this might provide a better model than just fitting the data with, say, a moving average. – William DeMeo Mar 26 '12 at 1:46
yes, i tried that out. Predicting a series by extrapolating the coefficients and then reconstructing the dataset is way more accurate than extrapolating the dataset itself. Thanks for the explanation! – vineet Mar 26 '12 at 12:37