如何在多元时间序列数据中使用特征缩放?

时间:2020-02-06 10:19:28

标签: python-3.x machine-learning scikit-learn time-series standardized

我正在尝试对多元时间序列数据进行分类。我想对这类数据进行特征缩放。假设多元时间序列数据如下:

F1                             F2                              F3                             
[1.0 2.0 3.0 4.0........]    [41.0 23.0 3.0 4.0.........]    [103.0 27.0 3.0 43.0.......]        
[331.0 2.0 3.0 4.0......]    [41.0 23.0 3.50 444.0......]    [1333.0 27.0 3.0 43.0......]        

以此类推

我应该如何在此处使用特征缩放将所有特征置于同一范围内?

方法1: 1.对于F1中的每个列表,计算均值和标准差并标准化数据 2.对所有功能(F2,F3)中的所有列表重复上述步骤

方法2: 1.计算F1中每个列表的平均值,然后计算所有列表的平均值,类似地计算每个列表的std并在F1中对所有列表取平均值。使用此均值和标准差来标准化特征F1 2.对所有其他功能(F2,F3)重复上述步骤

标准化此类数据的正确方法是什么?上面提到的方法正确吗?

1 个答案:

答案 0 :(得分:1)

如您所见here,要标准化的公式是:

z = (x-x')/S, where x is a point, x' is the sample mean and S is the stdev of the sample.

这意味着x'应该是列中所有列表的平均值(例如F1),而S应该是列中所有列表的stdev。然后应将此计算z应用于每个点。

标准化此类数据的正确方法是什么?上面提到的方法正确吗?

方法1并不是一种好方法,因为列表1的平均值将与列表2的平均值不同,并且由于它们是同一样本的一部分,因此居中平均值应该相同。方法2在平均值计算中可以,但是我不确定在stdev的计算中。一起计算所有列表的stdev绝对正确。