tslearn.piecewise.OneD_SymbolicAggregateApproximation¶
- class tslearn.piecewise.OneD_SymbolicAggregateApproximation(n_segments=1, alphabet_size_avg=5, alphabet_size_slope=5, sigma_l=None, scale=False)[source]¶
一维符号聚合近似(1d-SAX)变换。
1d-SAX最初在[1]中提出。
- Parameters:
- n_segmentsint (default: 1)
要计算的PAA段数。
- alphabet_size_avgint (default: 5)
用于描述平均值的SAX符号数量。
- alphabet_size_slopeint (default: 5)
用于描述斜率的SAX符号数量。
- sigma_lfloat or None (default: None)
用于量化斜率的高斯分布的尺度参数。 如果为None,则使用[1]中给出的公式: \(\sigma_L = \sqrt{0.03 / L}\),其中\(L\)是每个线段的长度。
- scale: bool (default: False)
是否应该对每个时间序列的每个特征进行数据缩放,使其具有零均值和单位方差。 在版本0.4中,此参数的默认值设置为False以确保向后兼容性,但在未来版本中可能会更改。
- Attributes:
- breakpoints_avg_numpy.ndarray of shape (alphabet_size_avg - 1, )
用于生成平均值SAX符号的断点列表。
- breakpoints_slope_numpy.ndarray of shape (alphabet_size_slope - 1, )
用于生成斜率SAX符号的断点列表。
注释
此方法需要一个等长时间序列的数据集。
参考文献
示例
>>> one_d_sax = OneD_SymbolicAggregateApproximation(n_segments=3, ... alphabet_size_avg=2, alphabet_size_slope=2, sigma_l=1.) >>> data = [[-1., 2., 0.1, -1., 1., -1.], [1., 3.2, -1., -3., 1., -1.]] >>> one_d_sax_data = one_d_sax.fit_transform(data) >>> one_d_sax_data.shape (2, 3, 2) >>> one_d_sax_data array([[[1, 1], [0, 0], [1, 0]], [[1, 1], [0, 0], [1, 0]]]) >>> one_d_sax.distance_sax(one_d_sax_data[0], one_d_sax_data[1]) 0.0 >>> one_d_sax.distance(data[0], data[1]) 0.0 >>> one_d_sax.inverse_transform(one_d_sax_data) array([[[ 0.33724488], [ 1.01173463], [-0.33724488], [-1.01173463], [ 1.01173463], [ 0.33724488]], [[ 0.33724488], [ 1.01173463], [-0.33724488], [-1.01173463], [ 1.01173463], [ 0.33724488]]]) >>> one_d_sax.fit(data).sigma_l 1.0
方法
distance(ts1, ts2)计算1d-SAX表示之间的距离,定义见[1]。
distance_1d_sax(sax1, sax2)计算1d-SAX表示之间的距离,定义见[1]。
distance_paa(paa1, paa2)计算PAA表示之间的距离,定义见[1]。
distance_sax(sax1, sax2)计算SAX表示之间的距离,定义见[1]。
fit(X[, y])拟合一个1d-SAX表示。
fit_transform(X[, y])拟合1d-SAX表示并相应地转换数据。
from_hdf5(path)从HDF5文件加载模型。
from_json(path)从JSON文件加载模型。
from_pickle(path)从pickle文件加载模型。
获取此对象的元数据路由。
get_params([deep])获取此估计器的参数。
计算与给定1d-SAX表示相对应的时间序列。
set_output(*[, transform])设置输出容器。
set_params(**params)设置此估计器的参数。
to_hdf5(path)将模型保存到HDF5文件。
to_json(path)将模型保存为JSON文件。
to_pickle(path)将模型保存到pickle文件中。
transform(X[, y])将时间序列数据集转换为其1d-SAX表示。
- distance(ts1, ts2)[source]¶
计算在[1]中定义的1d-SAX表示之间的距离。
- Parameters:
- ts1array-like
时间序列
- ts2array-like
另一个时间序列
- Returns:
- float
1d-SAX 距离
参考文献
- distance_1d_sax(sax1, sax2)[source]¶
计算在[1]中定义的1d-SAX表示之间的距离。
- Parameters:
- sax1array-like
时间序列的1d-SAX表示
- sax2array-like
另一个时间序列的1d-SAX表示
- Returns:
- float
1d-SAX 距离
注释
与SAX距离不同,1d-SAX距离不会下界原始时间序列之间的欧几里得距离。
参考文献
- distance_paa(paa1, paa2)[source]¶
计算PAA表示之间的距离,如[1]中所定义。
- Parameters:
- paa1array-like
时间序列的PAA表示
- paa2array-like
另一个时间序列的PAA表示
- Returns:
- float
PAA距离
参考文献
- distance_sax(sax1, sax2)[source]¶
计算在[1]中定义的SAX表示之间的距离。
- Parameters:
- sax1array-like
时间序列的SAX表示
- sax2array-like
另一个时间序列的SAX表示
- Returns:
- float
SAX距离
参考文献
- fit(X, y=None)[source]¶
拟合一个1d-SAX表示。
- Parameters:
- Xarray-like of shape (n_ts, sz, d)
时间序列数据集
- Returns:
- OneD_SymbolicAggregateApproximation
自身
- fit_transform(X, y=None, **fit_params)[source]¶
拟合一个1d-SAX表示并相应地转换数据。
- Parameters:
- Xarray-like of shape (n_ts, sz, d)
时间序列数据集
- Returns:
- numpy.ndarray of integers with shape (n_ts, n_segments, 2 * d)
1d-SAX转换后的数据集。最后一个维度的顺序是: 前d个元素代表平均值 (标准SAX符号),最后d个元素代表斜率
- 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
参数名称映射到它们的值。
- inverse_transform(X)[source]¶
计算与给定1d-SAX表示相对应的时间序列。
- Parameters:
- Xarray-like of shape (n_ts, sz_sax, 2 * 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
配置transform和fit_transform的输出。
“default”: 转换器的默认输出格式
“pandas”: DataFrame 输出
None: 转换配置未更改
- Returns:
- selfestimator instance
估计器实例。
- set_params(**params)[source]¶
设置此估计器的参数。
该方法适用于简单的估计器以及嵌套对象(如
Pipeline)。后者具有形式为的参数,以便可以更新嵌套对象的每个组件。__ - Parameters:
- **paramsdict
估计器参数。
- Returns:
- selfestimator instance
估计器实例。
- to_hdf5(path)[source]¶
将模型保存到HDF5文件。 需要
h5pyhttp://docs.h5py.org/- Parameters:
- pathstr
完整文件路径。文件必须不存在。
- Raises:
- FileExistsError
如果已经存在具有相同路径的文件。