tslearn.piecewise.SymbolicAggregateApproximation

class tslearn.piecewise.SymbolicAggregateApproximation(n_segments=1, alphabet_size_avg=5, scale=False)[source]

符号聚合近似(SAX)变换。

SAX最初在[1]中提出。

Parameters:
n_segmentsint (default: 1)

要计算的PAA段数

alphabet_size_avgint (default: 5)

使用的SAX符号数量

scale: bool (default: False)

是否应该对输入数据进行缩放,以使每个特征在拟合时传递的数据集中具有零均值和单位方差。 此参数的默认值在0.4版本中设置为False,以确保向后兼容性,但在未来版本中可能会更改。

Attributes:
breakpoints_avg_numpy.ndarray of shape (alphabet_size - 1, )

用于生成SAX符号的断点列表

注释

此方法需要一个等长时间序列的数据集。

参考文献

[1]

J. Lin, E. Keogh, L. Wei, 等. 体验SAX:一种新颖的时间序列符号表示法. 数据挖掘与知识发现, 2007. 卷15(107)

示例

>>> sax = SymbolicAggregateApproximation(n_segments=3, alphabet_size_avg=2)
>>> data = [[-1., 2., 0.1, -1., 1., -1.], [1., 3.2, -1., -3., 1., -1.]]
>>> sax_data = sax.fit_transform(data)
>>> sax_data.shape
(2, 3, 1)
>>> sax_data
array([[[1],
        [0],
        [1]],

       [[1],
        [0],
        [1]]])
>>> sax.distance_sax(sax_data[0], sax_data[1])  
0.0
>>> sax.distance(data[0], data[1])  
0.0
>>> sax.inverse_transform(sax_data)
array([[[ 0.67448975],
        [ 0.67448975],
        [-0.67448975],
        [-0.67448975],
        [ 0.67448975],
        [ 0.67448975]],

       [[ 0.67448975],
        [ 0.67448975],
        [-0.67448975],
        [-0.67448975],
        [ 0.67448975],
        [ 0.67448975]]])

方法

distance(ts1, ts2)

计算SAX表示之间的距离,定义见[1]

distance_paa(paa1, paa2)

计算PAA表示之间的距离,定义见[1]

distance_sax(sax1, sax2)

计算SAX表示之间的距离,定义见[1]

fit(X[, y])

拟合一个SAX表示。

fit_transform(X[, y])

拟合SAX表示并相应地转换数据。

from_hdf5(path)

从HDF5文件加载模型。

from_json(path)

从JSON文件加载模型。

from_pickle(path)

从pickle文件加载模型。

get_metadata_routing()

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

get_params([deep])

获取此估计器的参数。

inverse_transform(X)

计算与给定SAX表示相对应的时间序列。

set_output(*[, transform])

设置输出容器。

set_params(**params)

设置此估计器的参数。

to_hdf5(path)

将模型保存到HDF5文件。

to_json(path)

将模型保存到JSON文件。

to_pickle(path)

将模型保存到pickle文件中。

transform(X[, y])

将时间序列数据集转换为其SAX表示。

distance(ts1, ts2)[source]

计算在[1]中定义的SAX表示之间的距离。

Parameters:
ts1array-like

时间序列

ts2array-like

另一个时间序列

Returns:
float

SAX距离

参考文献

[1] (1,2)

J. Lin, E. Keogh, L. Wei, 等. 体验SAX:一种新颖的时间序列符号表示法. 数据挖掘与知识发现, 2007. 卷15(107)

distance_paa(paa1, paa2)[source]

计算PAA表示之间的距离,如[1]中所定义。

Parameters:
paa1array-like

时间序列的PAA表示

paa2array-like

另一个时间序列的PAA表示

Returns:
float

PAA距离

参考文献

[1] (1,2)

E. Keogh & M. Pazzani. 扩展动态时间规整以用于数据挖掘应用。SIGKDD 2000, 第285–289页。

distance_sax(sax1, sax2)[source]

计算在[1]中定义的SAX表示之间的距离。

Parameters:
sax1array-like

时间序列的SAX表示

sax2array-like

另一个时间序列的SAX表示

Returns:
float

SAX距离

参考文献

[1] (1,2)

J. Lin, E. Keogh, L. Wei, 等. 体验SAX:一种新颖的时间序列符号表示法. 数据挖掘与知识发现, 2007. 卷15(107)

fit(X, y=None)[source]

拟合一个SAX表示。

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

时间序列数据集

Returns:
SymbolicAggregateApproximation

自身

fit_transform(X, y=None, **fit_params)[source]

拟合一个SAX表示并相应地转换数据。

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

时间序列数据集

Returns:
numpy.ndarray of integers with shape (n_ts, n_segments, d)

SAX转换后的数据集

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

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

inverse_transform(X)[source]

计算与给定SAX表示相对应的时间序列。

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

SAX系列的数据集。

Returns:
numpy.ndarray of shape (n_ts, sz_original_ts, d)

与提供的表示相对应的时间序列数据集。

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)。后者具有__形式的参数,以便可以更新嵌套对象的每个组件。

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]

将时间序列数据集转换为其SAX表示。

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

时间序列数据集

Returns:
numpy.ndarray of integers with shape (n_ts, n_segments, d)

SAX转换后的数据集

使用tslearn.piecewise.SymbolicAggregateApproximation的示例

PAA和SAX特征

PAA and SAX features