core.time_embedded_series.TimeEmbeddedSeries

core.time_embedded_series.TimeEmbeddedSeries(
    series,
    m,
    tau=None,
    embedded_data=None,
    embedded_time=None,
    value_name=None,
    value_unit=None,
    time_name=None,
    time_unit=None,
    label=None,
)

Time embedded time series object. Precursor to recurrence matrix and recurrence network.

Parameters

series : pyleoclim.Series or pandas.Series

Time series to be embedded.

m : int

Embedding dimension.

tau : int = None

Embedding delay. If None, calculated automatically via the first minimum of mutual information.

embedded_data : numpy.ndarray = None

Pre-computed time delay embedded data. If not passed, will be calculated from series, m, and tau.

embedded_time : array - like = None

Time axis corresponding to embedded_data. Must be passed alongside embedded_data if providing pre-computed data.

value_name : str = None

Name of the value variable.

value_unit : str = None

Units of the value variable.

time_name : str = None

Name of the time variable.

time_unit : str = None

Units of the time variable.

label : str = None

Label for the object.

Methods

Name Description
create_recurrence_matrix Function to create Recurrence Matrix object
create_recurrence_network Function to create Recurrence Network object
find_epsilon Function to find epsilon value given target recurrence matrix density

create_recurrence_matrix

core.time_embedded_series.TimeEmbeddedSeries.create_recurrence_matrix(epsilon)

Function to create Recurrence Matrix object

Parameters

epsilon : float

Fixed radius used to calculate whether two points are recurrent

Returns

RecurrenceMatrix : ammonyte.RecurrenceMatrix object

create_recurrence_network

core.time_embedded_series.TimeEmbeddedSeries.create_recurrence_network(epsilon)

Function to create Recurrence Network object

Parameters

epsilon : float

Fixed radius used to calculate whether two points are recurrent.

Returns

RecurrenceNetwork : ammonyte.RecurrenceNetwork object

find_epsilon

core.time_embedded_series.TimeEmbeddedSeries.find_epsilon(
    eps,
    target_density=0.05,
    tolerance=0.01,
    initial_density=None,
    parallelize=False,
    num_processes=None,
    amp=10,
    verbose=True,
)

Function to find epsilon value given target recurrence matrix density

Parameters

eps : float

Starting epsilon value (best guess).

target_density : float = 0.05

Desired recurrence matrix density.

tolerance : float = 0.01

Amount of allowable difference between target density and actual density.

initial_density : float = None

If you have already calculated the initial density for your settings you can pass it here to save computation time.

parallelize : bool; {True,False} = False

Whether or not to parallelize the search process. Currently only tested on macOS, could be issues running this on Windows.

num_processes : int = None

Number of processes to run. Automatically set to cpu count minus 2 if not passed.

amp : int = 10

Amplitude of the epsilon search range. Higher values cover ground quickly but converge more slowly. Default is 10.

verbose : bool; {True,False} = True

Whether or not to print output after each iteration. Default is True.

Returns

results : dict

Dictionary with keys: - 'Epsilon' : float — the epsilon value that produces the desired recurrence density within the specified tolerance. - 'Output' : ammonyte.RecurrenceMatrix — the recurrence matrix computed at the converged epsilon value.

See Also

ammonyte.utils.range_finder.range_finder

ammonyte.RecurrenceMatrix