从多个曲线中提取特征

我从不同传感器中获得了多个曲线,但这些传感器都附着在同一个移动物体上。

现在我想从中提取特征,假设我将0-10的时间段作为窗口1,那么在窗口1中我有5个图表,每个图表代表一个特定位置的传感器,每个传感器生成3条曲线,分别是x(红色)、y(绿色)和z(蓝色),如下图所示:

整个图表是一个单一窗口 **整个图表是一个单一窗口

由于所有传感器都附着在同一个移动物体上,我认为这些图表和曲线之间应该有一些可以用作机器学习算法(特别是SVM)特征的关系。但它们实在是太多了,我有点迷茫了。

从这个单一窗口中我能生成多少合理的特征?

非常感谢任何建议…谢谢!


回答:

你可以通过解决正交Procrustes问题来将不同的时间序列转换到同一个坐标系中。

这是你提供的五个欧拉角数组(它们存储在arr[0]arr[4]中,作为169×3的numpy数组):

旋转前的图表

现在我们通过以下Python程序解决正交Procrustes问题,这允许我们将一个数组旋转以尽可能接近另一个数组:

def rotate_into(arr0, arr1):    """解决正交Procrustes问题"""    M = dot(arr0.T, arr1)    (U,S,V) = svd(M)    Q = dot(U, V)  # 转换arr0到arr1的旋转矩阵    return arr0.dot(Q)

svd是奇异值分解,位于numpy.linalg.svd中。现在我们可以将这个程序应用到每个数组上,并将其转换为尽可能接近参考数组,这里是第一个数组:

reference = 0for i in range(0,5):    subplot(2,3, i+1)    plot(rotate_into(arr[i], arr[reference]))

旋转后的图表

现在所有系列都是可比较的,你可以通过计算均值、标准差等来轻松提取特征。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注