poincareMap {fractal} | R Documentation

## Create a Poincare map

### Description

Create a map using the extrema of a scalar time series.

### Usage

    poincareMap(x, extrema="min", denoise=FALSE)

### Arguments

`x` | a vector holding a scalar time series.
`denoise` | a logical value. If `TRUE`, the data is first denoised via waveshrink prior to analysis. Default: `FALSE`.
`extrema` | the type of extrema desired. May be "min" for minima, "max" for maxima, or "all" for both maxima and minima. Default: `"min"`.

### Details

This function finds the extrema of a scalar time series to form a map. The time series is assumed to be a uniform sampling of s(t), where s(t) is a (possibly noisy) measurement from a deterministic non-linear system. It is known that s'(t), s''(t), ... are legitimate coordinate vectors in the phase space. Hence the hyperplane given by s'(t)=0 may be used as a Poincare surface of section. The intersections with this plane are exactly the extrema of the time series. The time series minima (or maxima) are the interesections in a given direction and form a map that may be used to estimate invariants, e.g., correlation dimension and Lyapunov exponents, of the underlying non-linear system.

The algorithm used to create a Poincare map is as follows.

1
  The first and second derivatives of the resulting series are approximated via the continuous wavelet transform (CWT) using the first derivative of a Gaussian as a mother wavelet filter (see references for details).
2
  The locations of the local extrema are then estimated using the standard first and second derivative tests on the CWT coefficients at a single and appropriate scale (an appropriate scale is one that is large enough to smooth out noisy components but not so large as to the oversmooth the data).
3
  The extrema locations are then fit with a quadratic interpolation scheme to estimate the amplitude of the extrema using the original time series.

### Value

a list where the first element (`location`) is a vector containing the temporal locations of the extrema values, with respect to sample numbers 1,...N, where N is the length of the original time series. The second element (`amplitude`) is a vector containing the extrema amplitudes.

### References

Holger Kantz and Thomas Schreiber, Nonlinear Time Series Analysis, Cambridge University Press, 1997.

### See Also

`embedSeries`, `corrDim`, `infoDim`.

### Examples

    ## Using the third coordinate (\eqn{z} state) of a
    ## chaotic Lorenz system, form a discrete map
    ## using the series maxima. Embed the resulting
    ## extrema in a 2-dimensional delay embedding
    ## (with delay=1 for a map). The resulting plot
    ## reveals a tent map structure common to
    ## Poincare sections of chaotic flows.
    z <- poincareMap(lorenz[,3], extrema="max")
    z <- embedSeries(z$amplitude, tlag=1, dimension=2)
    plot(z, pch=1, cex=1)

[Package fractal version 1.0-1 Index]