Skip to content

AlignerDTW

AlignerDTW

class AlignerDTW(dist_method='euclidean', step_pattern='symmetric2', window_type='none', window_size=None, open_begin=False, open_end=False, variable_to_align=None)[source]

Aligner interface for dtw-python.

Behaviour: computes the full alignment between X[0] and X[1]

assumes pairwise alignment (only two series) and univariate if multivariate series are passed: alignment is computed on univariate series with variable_to_align; if this is not set, defaults to the first variable of X[0] raises an error if variable_to_align is not present in X[0] or X[1]

Parameters:
dist_methodstr, optional, default = “euclidean”

distance function to use, a distance on real n-space one of the functions in scipy.spatial.distance.cdist

step_patternstr, optional, or dtw_python stepPattern object, optional

step pattern to use in time warping one of: ‘symmetric1’, ‘symmetric2’ (default), ‘asymmetric’, and dozens of other more non-standard step patterns; list can be displayed by calling help(stepPattern) in dtw

window_typestring, the chosen windowing function

“none”, “itakura”, “sakoechiba”, or “slantedband”

  • “none” (default) - no windowing

  • “sakoechiba” - a band around main diagonal

  • “slantedband” - a band around slanted diagonal

  • “itakura” - Itakura parallelogram

window_size: int, optional, default=None

size of the window if a windowing function is used if None and window_type=”sakoechiba”, defaults to 10% of series length

open_beginboolean, optional, default=False
open_end: boolean, optional, default=False

whether to perform open-ended alignments open_begin = whether alignment open ended at start (low index) open_end = whether alignment open ended at end (high index)

variable_to_alignstring, default = first variable in X[0] as passed to fit

which variable to use for univariate alignment

Attributes:
is_fitted

Whether fit has been called.

Examples

Basic usage example:

>>> import numpy as np
>>> import pandas as pd
>>> from sktime.alignment.dtw_python import AlignerDTW
>>> X = [
...     pd.DataFrame({'col1': np.random.randn(100)}),
...     pd.DataFrame({'col1': np.random.randn(100)})
... ]
>>> aligner = AlignerDTW(dist_method='euclidean', step_pattern='symmetric2')
>>> aligner.fit(X)
AlignerDTW(...)
>>> alignment_df = aligner.get_alignment()

Advanced usage example with open-ended alignment:

>>> aligner_advanced = AlignerDTW(
...     dist_method='cityblock',
...     window_type='sakoechiba',
...     window_size=10,
...     step_pattern='asymmetric',
...     open_begin=True,
...     open_end=True,
... )
>>> X_advanced = [
...     pd.DataFrame({'col1': np.random.randn(150)}),
...     pd.DataFrame({'col1': np.random.randn(150)})
... ]
>>> aligner_advanced.fit(X_advanced)
AlignerDTW(...)
>>> alignment_df_advanced = aligner_advanced.get_alignment()

Methods

check_is_fitted([method_name])

Check if the estimator has been fitted.

clone()

Obtain a clone of the object with same hyper-parameters and config.

clone_tags(estimator[, tag_names])

Clone tags from another object as dynamic override.

create_test_instance([parameter_set])

Construct an instance of the class, using first test parameter set.

create_test_instances_and_names([parameter_set])

Create list of all test instances and a list of names for them.

fit(X[, Z])

Fit alignment given series/sequences to align.

get_aligned()

Return aligned version of sequences passed to fit.

get_alignment()

Return alignment for sequences/series passed in fit (iloc indices).

get_alignment_loc()

Return alignment for sequences/series passed in fit (loc indices).

get_class_tag(tag_name[, tag_value_default])

Get class tag value from class, with tag level inheritance from parents.

get_class_tags()

Get class tags from class, with tag level inheritance from parent classes.

get_config()

Get config flags for self.

get_distance()

Return overall distance of alignment.

get_distance_matrix()

Return distance matrix of alignment.

get_fitted_params([deep])

Get fitted parameters.

get_param_defaults()

Get object's parameter defaults.

get_param_names([sort])

Get object's parameter names.

get_params([deep])

Get a dict of parameters values for this object.

get_tag(tag_name[, tag_value_default, ...])

Get tag value from instance, with tag level inheritance and overrides.

get_tags()

Get tags from instance, with tag level inheritance and overrides.

get_test_params([parameter_set])

Test parameters for AlignerDTWdist.

is_composite()

Check if the object is composed of other BaseObjects.

load_from_path(serial)

Load object from file location.

load_from_serial(serial)

Load object from serialized memory container.

reset()

Reset the object to a clean post-init state.

save([path, serialization_format])

Save serialized self to bytes-like object or to (.zip) file.

set_config(**config_dict)

Set config flags to given values.

set_params(**params)

Set the parameters of this object.

set_random_state([random_state, deep, ...])

Set random_state pseudo-random seed parameters for self.

set_tags(**tag_dict)

Set instance level tag overrides to given values.