繁体   English   中英

如何调整python上的时间序列数据的大小

[英]How can I resize on time-series data on python

我正在尝试对时间序列数据进行深度学习。

每个数据有 12 个特征,但每个系列数据的数据量并不相同。

有些形状是 [48,12],有些是 [54,12],我试图将它们调整为 [50,12]。

到目前为止我所知道的只是在skimage.transform使用 resize ,但我不知道它是否有效。

有没有其他解决方案可以做到这一点?

例如,数据中的特征之一如下所示。 形状是 [55, 1] 我想将它重塑为 [50, 1]。

a = np.array[-5.529309, -4.6293,   -3.068647, -4.897388, -4.39951,  -4.753769, -3.729291,
 -4.973984, -5.060155, -4.686748, -4.696322, -3.939932, -3.470778, -6.209103,
 -5.586756, -4.466532, -3.193116, -5.337818, -5.596331, -4.006954, -3.499502,
 -3.413331, -6.304848, -4.322914, -4.246317, -5.759098, -5.893142, -6.381444,
 -4.52398,  -4.198445, -5.634629, -6.276124, -5.17505,  -4.322914, -4.198445,
 -4.600576, -4.39951,  -4.945261, -5.759098, -4.677173, -3.623971, -5.692076,
 -6.563361, -5.462287, -4.868664, -5.941015, -6.400594, -5.692076, -4.591002,
 -6.027186, -5.960164, -6.256975, -5.414414, -5.730374, -6.726129]

如果我使用调整大小,数据将如下所示。

调整大小之前和调整大小之后:

1

一种选择是在 tslearn 中使用 TimeSeriesResampler。 这通过(线性)插值重新采样数据,将给定的时间序列调整为您指定的固定大小。 https://tslearn.readthedocs.io/en/stable/gen_modules/preprocessing/tslearn.preprocessing.TimeSeriesResampler.html

例子:

from tslearn.preprocessing import TimeSeriesResampler
ts = np.arange(5)
new_ts = TimeSeriesResampler(sz=9).fit_transform(ts)
final_ts = np.squeeze(new_ts)
print(ts)   # [0 1 2 3 4]
print(new_ts)  # [[[0. ] [0.5] [1. ] [1.5] [2. ] [2.5] [3. ] [3.5] [4. ]]]
print(final_ts)  # [0. 0.5 1. 1.5 2. 2.5 3. 3.5 4.]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM