存储时间序列数据的建议

数据挖掘 时间序列 数据 实验 CSV 元数据
2021-09-24 09:47:13

作为我论文的一部分,我做了一些实验,这些实验产生了合理数量的时间序列数据(运动捕捉 + 眼球运动)。我有一种存储和组织所有这些数据的方法,但这让我想知道是否有针对此类任务的最佳实践。

我将描述我所拥有的,也许这将有助于提供一些建议。所以,我有一个实验,要求受试者使用他们的视觉和移动他们的身体来完成一项任务。每项任务为一次试验,每个受试者进行多次试验以完成实验。在试验期间,我在定期采样的时间点(~100Hz)记录运动和眼动仪(~200 个通道)。我将这些存储在 CSV 文件中(每次试验一个文件),每个时间点一行,每个变量一列(例如,左指尖-x、左指尖-y、左指尖-z 等) mocap 和 left-eye-x,left-eye-y 用于眼睛)。

与每次试验相关联的是一些元数据,例如试验的实验条件(例如,试验中的目标移动的速度)。我使用“key=value”类型的语法将这些值存储在 CSV 文件名本身中。

虽然这对我的目的来说足够好,但它真的是临时的!我想了解其他人是否解决了这样的问题,如果是,如何解决?

2个回答

有两种解决方案值得关注:

InfluxDB是一个专门为时间序列数据设计的开源数据库平台。该平台包括许多与时间相关的优化功能,您可以在任何时间间隔收集数据并在报告时计算汇总/聚合。该公司最近推出了一款名为Chronograf的查询应用程序。我没有用过这个——但如果它不好,你也可以看看 Grafana(它使用非常广泛且稳定)。

您可能想要采用的替代策略是弹性搜索索引。Elasticsearch 擅长对数据运行聚合和其他数学函数。许多人使用它来存储服务器日志数据,然后使用 Kibana 查询所述数据。

作为 ELK 的一部分,您会发现一个非常不错的时间序列分析开源调用 timelion。一旦你了解它是如何工作的,它就是一个出色的框架。