neural-network - 如何处理 LSTM 神经网络 Pytorch 的“具有多个观察/个体的多变量时间序列”数据集?
问题描述
在具有多个观察/个人的多变量时间序列序列到序列(例如,5 到 1)预测的背景下,我试图了解如何处理我拥有的数据集。
数据集的结构如下:20'000个观察次数(例如人)、30 个特征/变量、70 个时间戳(与每个特征/变量和人相关联)。在 PyTorch 中,数据集形状为 (20000, 70, 30)(使用 dataset_loaded.shape)。这意味着我们有 20,000 人,对于每个人,每个特征总共需要 70 个值(因为有 70 个时间戳)。
我的目标是对人进行二元分类;每个人都与 30 个不同的时间序列(70 个时间戳)相关联,提供有关如何对人进行分类的信息。
我当前的问题是构建一个正确的训练数据加载器,以便使用简单的 LSTM 神经网络执行小批量训练。
到目前为止,我发现的所有示例都没有多个个体(例如,人、股票、设备等)。这意味着在每个时间戳(例如,它们有 70 行)和每个特征(例如,它们有 30 列)只有“观察”(例如,仅针对一个特定的人或一个特定的股票或一个特定的设备) )。因此,处理此类数据、使用移动窗口并创建正确的训练数据加载器变得很简单,因为我们有一个大小为 (70, 30) 的张量。
我应该如何处理“多人”方面?这是否意味着我应该创建 20'000 个训练数据加载器并训练 20'000 个 LSTM 模型?好像不太合理...
我问的有道理吗?是否有一种明显的方法可以更好地(或至少正确地处理数据?)?对于这样的任务,只使用一个训练数据加载器和一个 LSTM 模型是一个合理的想法吗?
我可能错过了一些重要的事情,因为我似乎无法找到我的问题的答案,即使这样的任务(即,让多个人在多个时间戳上测量多个特征)应该很常见......
解决方案
推荐阅读
- node.js - 使用 Mocha 进行节点超级测试:未捕获的错误:读取 ECONNRESET
- regex - 正则表达式获取一组文本
- ios - self 与“generic typet” ceating 扩展时的 T 差异
- ruby-on-rails - 如何为一位 kiosk 用户优化 Rails?
- ansible - Ansible:从字典中删除项目
- shopify - 将 QR 码阅读器添加到 Shopify iOS POS 应用?
- xamarin.forms - LoadApplication(new App()) 在 Xamarin Forms Acr.UserDialog 中失败 TypeLoadException
- java - 转换List下的元素
一口气转为大写 - javascript - Bootstrap Carousel:如何在大屏幕上停止自动滑动
- c++ - 具有不同签名的 lambda 映射?