python - 使用具有每小时时间序列作为输入的 LSTM 预测每日价值
问题描述
我正在训练一个编码如下的单层 LSTM:
model = keras.Sequential()
model.add(keras.layers.LSTM(units=64,
input_shape=(X_train.shape[1], X_train.shape[2])))
model.add(keras.layers.Dense(units=1, activation='sigmoid'))
model.compile(
loss='binary_crossentropy',
optimizer = keras.optimizers.Adam(lr=0.0001),
metrics=['acc']
)
我的 LSTM 的输入是每小时的时间序列。我想根据每小时系列预测每天的值。
目前我所做的是生成每小时预测,然后将第一个预测作为每天的预测。但是我想知道是否有一种方法可以每天生成相同的预测。
谢谢!
解决方案
我认为你有两个选择。
使用基于每日的训练数据集训练模型。在筛选出当天最合适的数据点时,您可以使用重复次数最多的数据点 ( mode ) 或平均值。
以每小时为基础的输出,但预测接下来 24 小时的 24 个输出,并获得这 24 个输出的平均值或模式作为当天的预测。
最好的方法可能是第二种。这将是非常准确的。
推荐阅读
- amazon-web-services - 具有持久会话的 AWS IOT MQTT - 订阅失败
- .net-core - Entity Framework Core:如何返回可查询的
与“使用”? - html - 为不同的项目获得多个不同的评级以工作
- python - 如何复制 matplotlib 标准化功能 imshow
- java - 来自 Set.of(...) 的随机迭代顺序
- python - 迭代df列列表并用字典中的值替换现有键有效python
- c++ - 理解operator()(函数对象)的使用
- python - 计算列表中的第一个数字,如二十一点纸牌游戏
- php - 如何仅通过一个查询从 mysql 数据库中获取多个数据?
- java - 在 JSP 页面中使用 request.getRealPath("/") 时出错