Description Usage Arguments Details Value S3 METHODS References See Also Examples

This function first finds the extrema locations (in time and in scale)
of the continuous wavelet transform input. The set of extrema are then
subdivided into sets of *branches*, where each branch represents
a collection of extrema that correspond to the same ridge in the CWT time-scale plane.
A coarse-to-fine scale strategy is used to identify the members
of each branch as follows: (i) a single extremum at the coarsest
scale is selected as the start of a given branch,
(ii) the closest neighboring extremum in time at the next finest
scale is then added to the branch, (iii) step ii is repeated
until the smallest scale is reached or an apparent break
occurs in the branch across scale, and (iv) steps i-iii are
repeated until all extrema have been accounted. A branch is not grown unless
the nearest neighbor candidate at the next finest scale is
close in time to the last recorded branch member, where "close"
is defined as being less than the current scale of the neighbor
candidate. This means that the window in time for admissible
neighbor extrema candidates (at the next finest scale) shrinks
proportionally with scale.

1 | ```
wavCWTTree(x, n.octave.min=1, tolerance=0.0, type="maxima")
``` |

`x` |
an object of class |

`n.octave.min` |
a pruning factor for excluding non-persistent branches. If a branch of connected extrema does not span this number of octaves, it is excluded from the tree. Default: 1. |

`tolerance` |
a tolerance vector used to find CWT extrema.
This vector must be as long as there are scales in the CWT such that
the |

`type` |
a character string denoting the type of extrema to seek in the CWT plane.
Supported types are |

A point in the CWT *W(t,j)* is defined
as an extremum if *|W(t-1,j)| + tol < |W(t,j)|* and *|W(t+1,j)| + tol < |W(t,j)|*
where `tol`

is a (scale-dependent) tolerance specified by the user.
The search algorithm is also adpated to identify plateaus in the data,
and will select the the middle of the plateau as a maximum location
when encountered. The data *|W(t,j)|* is first scaled so that its
maximum value is 1.0, so the tolerances should be adjusted accordingly.
Since the CWT coefficients are (in effect) a result band-pass filtering operations,
the large scale coefficients form a smoother curve than do the small
scale coefficients. Thus, the tolerance vector allows the user to specify
scale-dependent tolerances, helping to weed out undesirable local maxima.
It is recommended that the tolerance be set proportional to the scale,
e.g., `tolerance=C / sqrt(scale)`

where *C* is a constant
*0 < C < 1*.
The user is also allowed to control the types of peaks to pursue in
the CWT plane: extrema, maxima, or minima. The algorithm (described above) is
adjusted accordingly.

The output object contains a list of sublists, each sublist corresponds to a single branch in the CWT tree and contains the named vectors:

- itime
index locations in time of CWT extrema

- iscale
index locations in scale of CWT extrema

- time
times associated with CWT extrema

- scale
scales associated with CWT extrema

- extrema
CWT extrema values

In addition, the returned object contains the following attributes:

- iendtime
integer vector of indices corresponding to the locations in time where the branches terminated as the scale appraoches zero.

- endtime
numeric vector containing branch termination times

- time
numeric vector of times corresponding to the original time series

- scale
numeric vector of scales used to form the CWT

- extrema.mask
a binary matrix (of the same dimension as the CWT matrix) containing a 1 where there exists a corresponding extremum value in the CWT plane

- noise
a numeric vector containing the first scale's CWT coefficients. Statistical analysis of these data are often used as a rough estimate of the (local) noise level(s) in the original time series.

- branch.hist
a numeric vector containing the sum across time of all extrema values. This data can be used to help automate the selection of scales of interest in the CWT plane.

an object of class `wavCWTTree`

. See **DETAILS** section for more information.

- [
extracts a subset of branches from the tree. For example, to extract branches 2 through 5, use the syntax

`x[2:5]`

. To extract branches which terminate near times 0.47, 0.3, and 1.4, use the syntax`x[time=c(0.47, 0.3, 1.4)]`

. To extract all branches which terminate between times 1.2 and 1.5, use the syntax`x[range=c(1.2, 1.5)]`

.- plot
plots the WTMM tree. The plot method also supports the following optional arguments (assume that the variable

`x`

is an output of the`wavCWTTree`

function):- fit
A logical flag. If

`fit=TRUE`

, a subset of branches (limited to four) are fit with various linear regression models on a log(|WTMM|) versus log(scale) basis. The models are specified by the optional`models`

argument. This scheme illustrates the process by which exponents are estimated using the WTMM branches. For example, to see the regressions over chains 10 through 13, issue`plot(x[10:13], fit=TRUE)`

. Default:`FALSE`

.- models
A vector of character strings denoting the linear models to use in illustring the calculation of exponents. This argumetn is used only if

`fit=TRUE`

. Default:`c("lm", "lmsreg", "ltsreg")`

.- labels
Logical flag. If

`TRUE`

, the branch number is placed at the head of each branch. Default:`TRUE`

.- extrema
A logical flag. If

`TRUE`

, the locations of the (non-pruned and unbranched) extrema are marked in the time-scale plane. Default:`FALSE`

.- pch
The marker used in plotting branch points via the

`par`

function. Default:`"o"`

.

prints a summary of the object.

- summary
sumamrizes the branches comprising the tree ala a data.frame object

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ```
## create linchirp series
linchirp <- make.signal("linchirp")
## calculate the CWT
W <- wavCWT(linchirp)
## form CWT tree
W.tree <- wavCWTTree(W)
## print the object
print(W.tree)
## summarize the object
summary(W.tree)
## plot thea CWT image with a tree overlay
## (R-only)
plot(W)
if (is.R()) plot(W.tree, extrema=TRUE, add=TRUE)
## plot all CWT tree branches
plot(W.tree)
## plot a subset of CWT tree branches
plot(W.tree[5:10])
## plot an illustration of the Holder exponent
## estimation process. select branches between
## times 0.2 and 0.4 (only the first four found
## will be fitted)
plot(W.tree[range=c(0.2, 0.4)], fit=TRUE)
``` |

wmtsa documentation built on Dec. 6, 2017, 5:05 p.m.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.