deep-learning - 时间序列模型参数问题
问题描述
我在网上阅读了许多关于参数 [样本、时间步长、功能] 的资源。而且,我想澄清两点:
我看到了一些我无法说出为什么要以一种或另一种方式选择它们的例子。例如,这里 https://machinelearningmastery.com/use-different-batch-sizes-training-predicting-python-keras/ (顺便说一下很好的资源),作者选择这两个序列作为 2 个特征
1 0.1 0.0 2 0.2 0.1 3 0.3 0.2 4 0.4 0.3 5 0.5 0.4 6 0.6 0.5 7 0.7 0.6 8 0.8 0.7 9 0.9 0.8
但是,我不明白为什么它们不是具有 1 个特征和 9 个时间步长的两个样本,这是一样的吗?
假设我有一个包含 50 行 9 列的数据框(这将是特征 fet1,...,fet9)。但是,它们实际上是三天的三元组,所以实际上序列类似于
day1_fet1, day1_fet2, day1_fet3, day2_fet1,....,day3_fet3)
, 和一个目标列(即多对一情况)。我试图重塑新行day1_fet1, day1_fet2, day1_fet3 day2_fet1 etc....
所以 timesteps=3 和 features=3 (我想要任何一组 3 行 0-2、3-5 等。将是一个示例)。
这听起来好吗?如果我将所有 9 个功能都保留在同一行会发生什么,是否也有可能?谢谢!!
解决方案
好吧,这一切都取决于您期望模型的输出。通常,只有每个时间戳的特征应该在该行中。
我假设在您的示例中,第二行从第 4 天数据开始。因此,为每个时间戳设置单独的行更有意义。但是您也可以在每行有 3 天时测试模型。在这种情况下,每个预测步骤都预测 3 天的数据。
推荐阅读
- android - 如何将跨度应用于整个 Spannable 字符串
- python - 如何使用 SimpleITK 将自定义过滤器函数(一些 lambda)应用于 2D 图像对象?
- rust - 我怎样才能拥有一个采用可变引用的属性,该引用会比自身寿命更长?
- c++ - 确定调用线程在哪个 CPU 上运行?
- flutter - 将列表索引数据传递给有状态的小部件以动态加载 PDF 文档
- node.js - 从 NodeJS aws-sdk 成功调用 .createInstance() 后,Amazon Connect 处于“CREATION_FAILED”状态
- php - SQLSTATE[22007] 日期时间格式无效 1366 整数值不正确:列的字段
- php - Laravel 从会话表中的 user_agent 列获取用户浏览器和平台
- java - AWS Java SDK 错误:请求签名“与提供的签名不匹配”检查您的密钥等。但凭证正确
- r - 从 R 中的 JSP 抓取网页