从原始加速度计数据创建特征

数据挖掘 机器学习 时间序列 统计数据 特征选择 特征提取
2022-03-12 13:28:23

我有一个数据集,其中包含从用户小腿收集的原始 3 轴加速度计数据,我想创建一个分类模型(尽可能简单)来检测用户是坐下还是站立。我有大约 50,000 个事件(还有更多事件),这些事件标有正确的姿势,并且在姿势期间具有原始加速度。我从每个事件的原始数据(例如信号平均值、范围、频率内容等)中创建了一些特征,但这些特征都没有清楚地区分事件(在可视化数据集时)。

有没有一种方法可以从标记的原始数据中自动生成有用的特征,从而实现结果之间的良好分离?

如果这是不可能的,最好创建一个包含所有你能想到的特征的特征集,然后尝试找到解释结果之间最大差异的那些?你怎么做到这一点?我看过 PCA 和 LDA,但它们似乎没有“挑选”最好的功能,它们只是将它们组合到新组件中。

最后,是否有人对可以解释站立和坐下小腿运动差异的特征有任何想法。我假设与站立相比,坐着时小腿可以以更极端的角度移动,但你如何在特征中描述这一点。

1个回答

这是一个活跃的研究领域,称为人类活动识别。有几个公共数据集可用于交叉验证您的方法,您可能想从这里开始:UCI HAR 数据集数据集附带了一篇论文,描述了他们的预处理方法,因此您需要看一下,看看是否有任何对特征工程有帮助的东西。

运动科学领域存在大量基于回归的模型,但我在非常简单的转换数据上使用 1D 卷积神经网络获得了很好的结果。我们只是将信号(通过平均)下采样到 1 或 2 Hz,并通过欧几里德矢量幅度将 3 个轴减少到单个时间序列(我们的受试者正在执行更高强度的活动,这通常会导致传感器在他们的肢体上旋转,改变每个轴输入的方向 - 减少到 EVM 消除了潜在的混淆)。

我不完全确定您的数据是什么样的 - 您是否有转换(从坐着到站立和背部)?我不会使用 PCA(如果你小心的话,有一些观点认为 LDA 可以工作)。有一种叫做 tICA (时间序列独立分量分析)的东西,但我认为这不是你想要的,因为它会降低每个时间步的维数(并且你的每个时间步只有 3 个特征)。您可能会使用傅立叶特征(请参阅上面的链接)或简单的下采样/EVM。

这里的另一个问题是数据可能无法可靠地分离,因为每个活动的强度都很低。每个“事件”持续多长时间(我将每个事件理解为具有一定持续时间的活动“回合”)?过去,我的模型很难区分某些低强度的活动回合,因为如果一个人站着不动而另一个人坐下不动,那么模型就无法区分 0 和 0 并且基本上是在猜测. 希望那里有足够的信号以获得良好的结果,这仅取决于您的实验设置。