如何区分表示重要数据和不重要数据的序列?
一些背景和一个例子:在数据图(图)中可以看到的,在这个时间序列中有9个片段,这是用IMU记录的(测量加速度- x,y,z,围绕x,y,z旋转)。有关数字如下:

情节所依赖的数据:Data.csv
在这种情况下,这些代表了一个从右手剪出的运动。在每个信号之间,有一个延迟(2-3秒).这一延迟也可以延长。
哪一种方法是最容易分割数据的?在哪里可以找到这些数据的例子,或者你能给我一个简单的例子吗?,我想找出什么?:相关信号的起点在哪里?
然后,将这些片段作为手势分类器的训练示例。
[可选附加信息:记录环境:执行手挂松->手势-->手挂松->在松臂位置等待5 Sec ->记录手势的下一次迭代。另一个重要的条件是,我需要分割不同类型的手势(信号看起来不一样);不仅是剪短手势,还可以向上滑动、向下滑动或竖起大拇指。]
(事先非常感谢:)
欢迎马克斯
发布于 2017-09-07 10:51:58
有一些可能的解决方案: DBSCAN 这里的例子或DTW 这里的例子方法。
此外,您还可以手动完成(例如,Matlab文件)。这里: axaR是来自加速度计的信号(沿x轴),k个点数,阈值-手动调整值。
figure (100)
for fig = 1: 5
k = 200;
threshold =20*fig*std(axaR);
fprintf('window size %d, threshold is %f\n', k,threshold)
for i = 1: (length(axaR)-k)
summa = 0;
for j= 1:k
summa = summa + abs(axaR(i+j));
end
if (summa > threshold)
c(i) = 1;
else
c(i) = 0;
end
end
subplot(5,1,fig)
plot ( axaR, 'LineWidth', lw), hold on
plot(1:k,ones(k,1),'*r')
hold on,
plot ( c, 'LineWidth', lw),
hold on,
xlim([0,5000]),
title (strcat('threshold ', num2str(threshold), 'window size', num2str(k) ))
end这是从步行分析的例子,它完全是直觉为基础的方法,如果你知道任何数学或物理背景,请毫不犹豫地分享它。
最好的
发布于 2017-07-16 18:06:46
“我如何将表示重要数据的序列从不重要的数据中分离出来?”你的问题不明确。什么是“重要的”是主观的,而不是固有的数据。
但是,如果您想要构建一个分类器,您可以将问题重组为“什么是最保守的子序列?”你可以用以下方式回答:
matrixProfile,profileIndex,motifIndex,discordIndex = interactiveMatrixProfileVer2(耶,250);(代码在http://www.cs.ucr.edu/~eamonn/MatrixProfile.html上是免费的)
发布于 2018-03-30 08:41:12
如果您想手动分割数据(监督学习),我遇到了同样的问题,所以我创建了一个简单的python库:https://github.com/XavierTolza/python-timeseries-segmenter。
https://stackoverflow.com/questions/45089337
复制相似问题