Wavelet Denoising Edge Effects and Causal Filtering
Summary
The document discusses boundary artifacts when denoising a forex price series with a discrete wavelet transform. Keeping a small fixed set of large coefficients can distort the series near its endpoints, especially when the trend makes the first and last observations differ. The questioner reports that differencing and reconstructing the series performed poorly, while subtracting a line between the endpoints looked better but still left a mismatch in the ending slope. The question also raises whether fixed-count coefficient selection is appropriate compared with thresholding methods.
The replies explain that wavelet reconstruction depends on how data are extended at the boundaries, and that longer filters can affect more edge observations. Causal wavelets use only current and past data, which may reduce the endpoint problem, but they discard information from future observations. One reply cautions that threshold-based wavelet denoising may blur signal structure and remove noise imperfectly. These are qualitative observations rather than a comparative empirical evaluation, so the best filter depends on the use case and acceptable information loss.
Key ideas
- Wavelet reconstruction can create endpoint distortions because filtering relies on data extension at the series boundaries.
- Longer wavelet filters can affect a larger region near the endpoints.
- Causal wavelets use present and past observations and can reduce reliance on future data.
- Causal filtering trades reduced look-ahead dependence for loss of information from future observations.
- Keeping a fixed number of large coefficients may be problematic, and thresholding also has limitations.
Tags
Full text
# How to eliminate border effects on Wavelet denoising? # How to eliminate border effects on Wavelet denoising? After reading a few references here to wavelets, I'm trying to denoise (or at least 'compress') a time-series of forex prices using a Daubechy04 wavelet (forward tranform, 8 most important (in absolute value) coeffients are kept among the 64 values, reverse-transform). When a down or up trend is occuring, there is a border-effect since the first and last values differ, on the last point (and the first, but that doesn't matter, since it's possible to remove some of the first points). The wavelet is in red, (in blue, a moving average) (This happens also, with Discrete Fourier tranform, where I believe it's normal since they assume periodicity) I tried to diff (`b[i] = a[i+1]-a[i]`) then undiff the series before the tranform: terrible results. Another try with `b[i] = a[i] - ((a[63]-a[0])/63*i + a[0])` (subtracting the line between the two extremities: better 'visual' result but not perfect, several time steps further.. (the end slope is not matching well): I'm also reading Wavelet thresholding methods, because this idea of relying on a fixed number of coefficients (8) is maybe problematic ## Answer by user2763361 (score 2) https://quant.stackexchange.com/a/9979 What you are after are causal wavelets, which is an approach to wavelet filtering that only takes in present and past data. http://soliton.ae.gatech.edu/people/dcsl/papers/aiaa04.pdf ## Answer by Barnaby (score 1) https://quant.stackexchange.com/a/17416 Your signal on the edges after denoising will be always altered by the boundary effect of the extension of the data which is incorporated in the reconstruction of the filter as per how wavelets are constructed (take pass and future data) the effect will be greater the longer the filter length you select as it implies more coeficients. Causal wavelets as mentioned by user2763361 will be sucesful on this however a significant amount of information will be lost as it will only account for pass history of the data. Another point I wanted to make is that non stationary Wavelet denosing thresholding and similar and their mixed procedures are not very good at eliminating noise (they are brute force mechanisms). So the frequency location of your signal which will yield your signal will still be blurried.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.