从多条曲线中提取特征
Feature extraction from multiple curves
我从不同的传感器获得了多条曲线,但都附加在同一个移动物体上。
现在我想从中提取特征,假设我已经将 0-10 切割为 window1,所以在 window1 中我有 5 个图表,每个图表代表一个传感器中的一个特定位置,每个传感器生成3条曲线,x(red),y(green),z(blue),如下图:
**整个图是一个 window
由于所有传感器都附在同一个移动物体上,我认为这些图形和曲线应该具有一些关系,我可以将其用作机器学习算法(尤其是 SVM)中的特征。但是太多了,我有点迷路了。
我可以从这个单一的 window 中生成多少个合理的特征?
非常感谢您的任何建议.. 谢谢!
您可以通过求解 orthogonal Procrustes problem.
将不同的时间序列转换到同一坐标系中
这是你给我的五个欧拉角数组(它们作为 169x3 numpy 数组存储在 arr[0]
到 arr[4]
中):
现在我们通过以下 Python 例程解决正交 Procrustes 问题,它允许我们旋转数组之一以尽可能接近地匹配另一个数组:
def rotate_into(arr0, arr1):
"""Solve orthogonal Procrustes problem"""
M = dot(arr0.T, arr1)
(U,S,V) = svd(M)
Q = dot(U, V) # the rotation matrix which transforms arr0 into arr1
return arr0.dot(Q)
svd
是奇异值分解,住在numpy.linalg.svd
。现在我们可以将此例程应用于每个数组并将其转换为尽可能接近参考数组,这里是第一个:
reference = 0
for i in range(0,5):
subplot(2,3, i+1)
plot(rotate_into(arr[i], arr[reference]))
现在所有系列都具有可比性,您可以通过取均值、标准差等轻松计算它们的特征。
我从不同的传感器获得了多条曲线,但都附加在同一个移动物体上。
现在我想从中提取特征,假设我已经将 0-10 切割为 window1,所以在 window1 中我有 5 个图表,每个图表代表一个传感器中的一个特定位置,每个传感器生成3条曲线,x(red),y(green),z(blue),如下图:
由于所有传感器都附在同一个移动物体上,我认为这些图形和曲线应该具有一些关系,我可以将其用作机器学习算法(尤其是 SVM)中的特征。但是太多了,我有点迷路了。
我可以从这个单一的 window 中生成多少个合理的特征?
非常感谢您的任何建议.. 谢谢!
您可以通过求解 orthogonal Procrustes problem.
将不同的时间序列转换到同一坐标系中这是你给我的五个欧拉角数组(它们作为 169x3 numpy 数组存储在 arr[0]
到 arr[4]
中):
现在我们通过以下 Python 例程解决正交 Procrustes 问题,它允许我们旋转数组之一以尽可能接近地匹配另一个数组:
def rotate_into(arr0, arr1):
"""Solve orthogonal Procrustes problem"""
M = dot(arr0.T, arr1)
(U,S,V) = svd(M)
Q = dot(U, V) # the rotation matrix which transforms arr0 into arr1
return arr0.dot(Q)
svd
是奇异值分解,住在numpy.linalg.svd
。现在我们可以将此例程应用于每个数组并将其转换为尽可能接近参考数组,这里是第一个:
reference = 0
for i in range(0,5):
subplot(2,3, i+1)
plot(rotate_into(arr[i], arr[reference]))
现在所有系列都具有可比性,您可以通过取均值、标准差等轻松计算它们的特征。