Python时间序列LSTM预测系列教程(3)-单变量
来源:互联网 发布:红蜘蛛软件年费 编辑:程序博客网 时间:2024/06/07 01:08
单变量LSTM预测模型(3)
教程原文连接
LSTM 建模
LSTM基础
Keras 中 LSTM 的层维护一个 batch 的状态
一个 batch = 来自训练数据的确定个数的 rows , 他确定了在更新整个网络权重前需要处理的 pattern 的个数
默认的,batchs 间的状态会清空,通过调用 reset_states() 可以控制什么时候清除 LSTM 层状态
LSTM 层输入格式:
为矩阵,矩阵内容 [ samples, time steps, features ]
samples:来自 domain 的独立观测值,通常是 data 的行数据--就是行数
time steps:对于给定的观测值,给定变量有单独的时间步--就是时间窗口
features:在得到观测值的时刻,观测到的单独的 measures--就是列数(属性个数)
建模步骤
1、数据reshape为LSTM输入格式
X, y = train[:, 0:-1], train[:, -1]X = X.reshape(X.shape[0], 1, X.shape[1])
2、LSTM层定义
layer = LSTM(neurons, batch_input_shape=(batch_size, X.shape[1], X.shape[2]), stateful=True)
batch_input_shape=表示每个batch需要读取的数据格式(batch_size=每batch读的数据行数,步长,属性数)
neurons=神经元个数,即记忆单元个数,1~5 就很高效了
batch通常和epoch一起
epochs:确定网络学习数据快慢,即权重的更新频率
3、输出定义
输出层是单一的神经元,用的线性激活函数来预测下一时间步的数据
4、度量与优化定义
损失函数=用MSE
优化算法=用ADAM
5、编译
model = Sequential()model.add(LSTM(neurons, batch_input_shape=(batch_size, X.shape[1], X.shape[2]), stateful=True))model.add(Dense(1))model.compile(loss='mean_squared_error', optimizer='adam')
由于LSTM是有状态的,需要在每个epoch里面控制状态更新
默认的
(1)在每个epoch里的sample会被打乱,可以设置shuffle=False解决
(2)网络会输出debug信息,可以设置verbose=0解决
LSTM预测
两种训练/预测方式
(1)固定方式:将所有训练数据fit到模型,然后从测试数据,每次预测一个
(2)动态方式:在测试数据阶段,每次都会re-fit模型或更新模型
阅读全文
0 0
- Python时间序列LSTM预测系列教程(3)-单变量
- Python时间序列LSTM预测系列教程(1)-单变量
- Python时间序列LSTM预测系列教程(2)-单变量
- Python时间序列LSTM预测系列教程(4)-单变量
- Python时间序列LSTM预测系列教程(5)-单变量
- Python时间序列LSTM预测系列教程(6)-单变量
- Python时间序列LSTM预测系列教程(10)-多步预测
- Python时间序列LSTM预测系列教程(11)-多步预测
- Python时间序列LSTM预测系列教程(7)-多变量
- Python时间序列LSTM预测系列教程(8)-多变量
- Python时间序列LSTM预测系列教程(9)-多变量
- LSTM预测时间序列
- LSTM预测时间序列
- LSTM 时间序列预测 matlab
- Pytorch LSTM 时间序列预测
- python利用LSTM进行时间序列分析预测
- python利用LSTM进行时间序列分析预测
- Python中利用LSTM模型进行时间序列预测分析
- HashMap+ConcurrentHashMap+HashTable
- [[][[]]+[]][+[]][++[+[]][+[]]] is "n" in javascript
- 如何使用Burp Suite Macros绕过防护进行自动化fuzz测试
- Oracle 创建表的存储过程
- Android中的WIFI模块开发思路
- Python时间序列LSTM预测系列教程(3)-单变量
- : java.net.SocketTimeoutException: connect timed out
- PowerDesigner逆向工程导入MYSQL数据库总结
- oh-my-zsh 强大漂亮的shell命令
- flex布局
- vim配置文件属性设置
- c++与其他语言的语法区别总结
- HTML中用CSS实现图片与内容前后翻转动画效果
- 入手树莓派3+python小试GPIO输出