Learn R Programming

wmtsa (version 1.1-1)

holderSpectrum: The Holder spectrum of a time series

Description

Using a tree, this function returns time localized exponent estimations for a given time series.

Usage

holderSpectrum(x, n.scale.min=3, fit=lmsreg)

Arguments

x
an object of class wavCWTTree.
fit
a linear regression function to use in fitting the resulting data. Default: lmsreg.
n.scale.min
the minimum number of scales (points) that a given suitable branch segment must have before being considered as an admissible candidate for exponent estimation. Default: 3.

Value

  • a list containing the estimated exponents, associated times and corresponding branch number.

concept

Holder spectrumsingularity detection

Details

Many real-world time series contain sharp dicontinuities (cusps) which can be attributed to rapid changes in the observed system. These cusps are called singularities and their strength can be quantified via localized exponents as follows: Let $f(t)$ be a continuous real-valued function containing a singularity at time $t_0$. The exponent $h(t_0)$ is defined as the supremum (least upper bound) of all exponents $h$ which satisfies the condition $$|f(t) - P_n(t - t_0)| \le C|t - t_0|^{h(t_0)},$$ where $P_n(t - t_0)$ is a polynomial of degree $n \le h(t_0)$ and $C$ is a constant. The collection of exponents for a given time series denotes the so-called spectrum. Mallat demonstrated that a cusp singularity at time $t_0$ can be estimated via the CWT by noting that the wavelet transform modulus maxima behave as $W_{a,t_0}(f) \propto |a|^{h(t_0)}$ as the scale $a \rightarrow 0$.

Thus, the strength of cusp singularities in a given time series can be quantified by [object Object],[object Object],[object Object],[object Object]

In practice, the above technique can be unstable when applied to observational data due to negative moment divergences and so-called outliers which correspond to the end points of sample singularities. One must also be very careful in selecting an appropriate scaling region of a tree branch before fitting the data. We accomplish this by first segmenting a given tree branch into regions which exhibit approximate linear behavior in the log(scale)-log(WTMM) space, and subsequently selecting the region corresponding to the smallest scales for exponent estimation. Furthermore, through the n.scale.min argument, the user can control the minimum number of scales (points) that must exist in the isolated scaling region before a exponent estimation is recorded.

References

S.G. Mallat, A Wavelet Tour of Signal Processing (2nd Edition), Academic Press, Cambridge, 1999.

S.G. Mallat and W.L. Hwang, ``Singularity detection and processing with wavelets", IEEE Transactions on Information Theory, 38, 617--643 (1992).

S.G. Mallat and S. Zhong, ``Complete signal representation with multiscale edges", IEEE Transactions on Pattern Analysis and Machine Intelligence, 14, 710--732 (1992).

J.F. Muzy, E. Bacry, and A. Arneodo, ``The multifractal formalism revisited with wavelets.", International Journal of Bifurcation and Chaos, 4, 245--302 (1994).

See Also

wavCWT, wavCWTFilters, wavCWTTree.

Examples

Run this code
## create series with a linear trend and two 
## cusps: h(x = 1) = 0.5 and h(x = 15) = 0.3 
cusps <- function(x) -0.2 * abs(x-1)^0.5 - 0.5* abs(x-15)^0.3 + 0.00346 * x + 1.34
x <- seq(-5, 20, length=1000)
y <- signalSeries(cusps(x), x)

## calculate CWT using Mexican hat filter 
W <- wavCWT(y, wavelet="gaussian2")

## calculate WTMM and extract first two branches 
## in tree corresponding to the cusps 
W.tree <- wavCWTTree(W)[1:2]

## plot the CWT tree overlaid with a scaled 
## version of the time series to illustrate 
## alignment of branches with cusps 
yshift <- y@data - min(y@data)
yshift <- yshift / max(yshift) * 4 - 4.5
plot(W.tree, xlab="x")
lines(x, yshift, lwd=2)
text(6.5, -1, "f(x) = -0.2|x-1|^0.5 - 0.5|x-15|^0.3 + 0.00346x + 1.34", cex=0.8)

## estimate Holder exponents 
holder <- holderSpectrum(W.tree)
print(holder)

Run the code above in your browser using DataLab