# tslearn.barycenters.softdtw_barycenter¶

tslearn.barycenters.softdtw_barycenter(X, gamma=1.0, weights=None, method='L-BFGS-B', tol=0.001, max_iter=50, init=None)[source]

Compute barycenter (time series averaging) under the soft-DTW [1] geometry.

Soft-DTW was originally presented in [1].

Parameters:
Xarray-like, shape=(n_ts, sz, d)

Time series dataset.

gamma: float

Regularization parameter. Lower is less smoothed (closer to true DTW).

weights: None or array

Weights of each X[i]. Must be the same size as len(X). If None, uniform weights are used.

method: string

Optimization method, passed to scipy.optimize.minimize. Default: L-BFGS.

tol: float

Tolerance of the method used.

max_iter: int

Maximum number of iterations.

init: array or None (default: None)

Initial barycenter to start from for the optimization process. If None, euclidean barycenter is used as a starting point.

Returns:
numpy.array of shape (bsz, d) where bsz is the size of the init array if provided or sz otherwise

Soft-DTW barycenter of the provided time series dataset.

References

[1]

M. Cuturi, M. Blondel “Soft-DTW: a Differentiable Loss Function for Time-Series,” ICML 2017.

Examples

```>>> time_series = [[1, 2, 3, 4], [1, 2, 4, 5]]
>>> softdtw_barycenter(time_series, max_iter=5)
array([[1.25161574],
[2.03821705],
[3.5101956 ],
[4.36140605]])
>>> time_series = [[1, 2, 3, 4], [1, 2, 3, 4, 5]]
>>> softdtw_barycenter(time_series, max_iter=5)
array([[1.21349933],
[1.8932251 ],
[2.67573269],
[3.51057026],
[4.33645802]])
```

## Examples using `tslearn.barycenters.softdtw_barycenter`¶

Barycenters

Barycenters

Soft-DTW weighted barycenters

Soft-DTW weighted barycenters