tslearn.matrix_profile.MatrixProfile

class tslearn.matrix_profile.MatrixProfile(subsequence_length=1, implementation='numpy', scale=True)[source]

矩阵轮廓变换。

Matrix Profile最初在[1]中提出。

Parameters:
subsequence_lengthint (default: 1)

用于子序列距离计算的子序列长度(也称为窗口大小)。

implementationstr (default: “numpy”)

要使用的矩阵轮廓实现。 默认为“numpy”以使用纯numpy版本。 所有可用的实现是[“numpy”, “stump”, “gpu_stump”]。

“stump” 和 “gpu_stump” 都是来自 stumpy Python 库的实现,后者需要 GPU。Stumpy 是一个用于高效计算矩阵轮廓的库,该库在速度、性能和内存方面进行了优化。有关文档,请参见 [2]。“numpy” 是默认的纯 numpy 实现,不需要安装 stumpy。

scale: bool (default: True)

是否应该对每个时间序列的每个特征进行缩放,使其具有零均值和单位方差。 此参数的默认值设置为True,以匹配标准矩阵配置文件设置。

参考文献

[1]

C. M. Yeh, Y. Zhu, L. Ulanova, N.Begum 等人。 矩阵轮廓 I:时间序列的所有对相似性连接:一个统一视图,包括主题、不和谐和形状。 ICDM 2016。

示例

>>> time_series = [0., 1., 3., 2., 9., 1., 14., 15., 1., 2., 2., 10., 7.]
>>> ds = [time_series]
>>> mp = MatrixProfile(subsequence_length=4, scale=False)
>>> mp.fit_transform(ds)[0, :, 0]  
array([ 6.85...,  1.41...,  6.16...,  7.93..., 11.40...,
       13.56..., 18.  ..., 13.96...,  1.41...,  6.16...])

方法

fit(X[, y])

拟合一个矩阵轮廓表示。

fit_transform(X[, y])

将时间序列数据集转换为其矩阵轮廓

from_hdf5(path)

从HDF5文件加载模型。

from_json(path)

从JSON文件加载模型。

from_pickle(path)

从pickle文件加载模型。

get_metadata_routing()

获取此对象的元数据路由。

get_params([deep])

获取此估计器的参数。

set_output(*[, transform])

设置输出容器。

set_params(**params)

设置此估计器的参数。

to_hdf5(path)

将模型保存到HDF5文件。

to_json(path)

将模型保存为JSON文件。

to_pickle(path)

将模型保存到pickle文件中。

transform(X[, y])

将时间序列数据集转换为其矩阵轮廓

fit(X, y=None)[source]

拟合一个矩阵轮廓表示。

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

时间序列数据集

Returns:
MatrixProfile

自身

fit_transform(X, y=None, **fit_params)[source]
Transform a dataset of time series into its Matrix Profile

表示。

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

时间序列数据集

Returns:
numpy.ndarray of shape (n_ts, output_size, 1)

矩阵轮廓转换后的数据集。ouput_size 等于 sz - subsequence_length + 1

classmethod from_hdf5(path)[source]

从HDF5文件加载模型。 需要 h5py http://docs.h5py.org/

Parameters:
pathstr

文件的完整路径。

Returns:
Model instance
classmethod from_json(path)[source]

从JSON文件加载模型。

Parameters:
pathstr

文件的完整路径。

Returns:
Model instance
classmethod from_pickle(path)[source]

从pickle文件加载模型。

Parameters:
pathstr

文件的完整路径。

Returns:
Model instance
get_metadata_routing()[source]

获取此对象的元数据路由。

请查看用户指南了解路由机制的工作原理。

Returns:
routingMetadataRequest

一个封装了路由信息的MetadataRequest

get_params(deep=True)[source]

获取此估计器的参数。

Parameters:
deepbool, default=True

如果为True,将返回此估计器及其包含的子对象(如果也是估计器)的参数。

Returns:
paramsdict

参数名称映射到它们的值。

set_output(*, transform=None)[source]

设置输出容器。

请参阅Introducing the set_output API 以了解如何使用API的示例。

Parameters:
transform{“default”, “pandas”}, default=None

配置transformfit_transform的输出。

  • “default”: 转换器的默认输出格式

  • “pandas”: DataFrame 输出

  • None: 转换配置未更改

Returns:
selfestimator instance

估计器实例。

set_params(**params)[source]

设置此估计器的参数。

该方法适用于简单的估计器以及嵌套对象(如Pipeline)。后者具有形式为<component>__<parameter>的参数,以便可以更新嵌套对象的每个组件。

Parameters:
**paramsdict

估计器参数。

Returns:
selfestimator instance

估计器实例。

to_hdf5(path)[source]

将模型保存到HDF5文件。 需要 h5py http://docs.h5py.org/

Parameters:
pathstr

完整文件路径。文件必须不存在。

Raises:
FileExistsError

如果已经存在具有相同路径的文件。

to_json(path)[source]

将模型保存到JSON文件。

Parameters:
pathstr

完整文件路径。

to_pickle(path)[source]

将模型保存到pickle文件中。

Parameters:
pathstr

完整文件路径。

transform(X, y=None)[source]
Transform a dataset of time series into its Matrix Profile

表示。

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

时间序列数据集

Returns:
numpy.ndarray of shape (n_ts, output_size, 1)

矩阵轮廓转换后的数据集。ouput_size 等于 sz - subsequence_length + 1

使用tslearn.matrix_profile.MatrixProfile的示例

矩阵轮廓

Matrix Profile

距离和矩阵轮廓

Distance and Matrix Profiles