poincareMap {fractal} | R Documentation |
Create a map using the extrema of a scalar time series.
poincareMap(x, extrema="min", denoise=FALSE)
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" . |
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.
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.
Holger Kantz and Thomas Schreiber, Nonlinear Time Series Analysis, Cambridge University Press, 1997.
embedSeries
, corrDim
, infoDim
.
## 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)