假设我在numpy中有几个随机时间序列,例如:
my_time_series = dict()
for L in range(20,50,10):
scaling = np.random.randint(100)
my_time_series[L] = scaling * np.random.rand(L) + scaling * np.random.rand(L)
我想规范化他们的比例和长度,以便我可以将它们可视化并比较一段时间内的变化。为此,一种方法如下:
动机:我最感兴趣的是比较时间序列的相对变异性与其生命周期(无论它们有多长)。
我怎么能在numpy中做到这一点?
答案 0 :(得分:4)
y_normed = {k: (data-np.mean(data))/np.std(data)
for k, data in my_time_series.items()}
maxlength = max(my_time_series)
x_interped = {k: np.interp(np.linspace(0, 1, maxlength),
np.linspace(0, 1, k), data)
for k, data in y_normed.items()}
[plot(data) for data in x_interped.values()]