*3.2. Wavelet Decomposition*

Fourier analysis is often used to examine the frequency composition of signals and to extract features from time series (e.g., Jespersen et al. [33]). However, a drawback of Fourier transforms is the loss of temporal information and the stringent sine and cosine basis functions. Wavelets are more suited to the analysis of images, music and transient events, as they overcome the limitations of Fourier analysis by encoding both time and frequency information in the basis function [85]. The Stationary Wavelet Transform (SWT), also known as the Á Trous algorithm [86], is a shift-invariant transform, which convolves a signal with scaled and shifted versions of the basis wavelet function. The shift-invariance feature of the SWT has made it a popular method for pattern recognition [87,88]. The SWT returns two coefficients, known as Approximation and Detail coefficients, of equal length to the input signal. The coefficients are computed using a filter-bank algorithm [34] with lowand high-pass filters, which decomposes the input signal. Multiple levels of decomposition can be performed, whereby the output of the low-pass filter is successively fed to the next decomposition level.

The pywt.swt function of the PyWavelets package [89] was applied to the light curve vectors using the symlet family of wavelets, which is a more symmetric version of the Daubechies wavelet family [90], but other wavelet families produce similar results. A twolevel decomposition was performed, resulting in four components of equal length to the vector containing the light curves in four bands (Figure 2). These were concatenated into one vector for each GRB prior to dimensionality reduction.
