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。
[2]STUMPY 文档 https://stumpy.readthedocs.io/en/latest/
示例
>>> 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_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文件加载模型。 需要
h5pyhttp://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
配置transform和fit_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文件。 需要
h5pyhttp://docs.h5py.org/- Parameters:
- pathstr
完整文件路径。文件必须不存在。
- Raises:
- FileExistsError
如果已经存在具有相同路径的文件。