cost_matrix¶
- cost_matrix(x: ndarray, y: ndarray, method: str | Callable[[ndarray, ndarray, Any], float] | None = None, **kwargs: Unpack[DistanceKwargs]) ndarray [source]¶
Compute the alignment path and distance between two time series.
- Parameters:
- xnp.ndarray, of shape (n_channels, n_timepoints) or (n_timepoints,)
First time series.
- ynp.ndarray, of shape (m_channels, m_timepoints) or (m_timepoints,)
Second time series.
- methodstr or Callable
The distance to use. A list of valid distances can be found in the documentation for
aeon.distances.get_distance_function
or by calling the functionaeon.distances.get_distance_function_names
.- kwargsAny
Arguments for distance. Refer to each distance documentation for a list of possible arguments.
- Returns:
- np.ndarray (n_timepoints, m_timepoints)
cost matrix between x and y.
- Raises:
- ValueError
If x and y are not 1D, or 2D arrays. If distance is not one of the supported strings or a callable.
Examples
>>> import numpy as np >>> from aeon.distances import cost_matrix >>> x = np.array([[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]) >>> y = np.array([[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]) >>> cost_matrix(x, y, method="dtw") array([[ 0., 1., 5., 14., 30., 55., 91., 140., 204., 285.], [ 1., 0., 1., 5., 14., 30., 55., 91., 140., 204.], [ 5., 1., 0., 1., 5., 14., 30., 55., 91., 140.], [ 14., 5., 1., 0., 1., 5., 14., 30., 55., 91.], [ 30., 14., 5., 1., 0., 1., 5., 14., 30., 55.], [ 55., 30., 14., 5., 1., 0., 1., 5., 14., 30.], [ 91., 55., 30., 14., 5., 1., 0., 1., 5., 14.], [140., 91., 55., 30., 14., 5., 1., 0., 1., 5.], [204., 140., 91., 55., 30., 14., 5., 1., 0., 1.], [285., 204., 140., 91., 55., 30., 14., 5., 1., 0.]])