暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

R语言深度学习Keras循环神经网络(RNN)模型预测多输出变量时间序列

拓端数据部落 2022-05-09
931

原文链接:http://tecdat.cn/?p=23902

递归神经网络被用来分析序列数据。它在隐藏单元之间建立递归连接,并在学习序列后预测输出。

在本教程中,我们将简要地学习如何用R中的Keras RNN模型来拟合和预测多输出的序列数据,你也可以对时间序列数据应用同样的方法。我们将使用Keras R接口在R中实现神经网络:

  • 准备数据

  • 定义模型

  • 预测和可视化结果

我们将从加载R的必要包开始。

library(keras)

准备数据

首先,我们将为本教程创建一个多输出数据集。它是随机产生的数据,下面有一些规则。在这个数据集中有三个输入变量和两个输出变量。我们将绘制生成的数据,以直观地检查它。

plot(s, df$y1, ylim = c(min(df), max(df)), type = "l")
lines(s, df$y2, type = "l")
lines(s, df$x1, type = "l")
lines(s, df$x2, type = "l")
lines(s, df$x3, type = "l")

接下来,我们将把数据分成训练和测试两部分。最后的50个元素将是测试数据。



点击标题查阅往期内容


R语言实现CNN(卷积神经网络)模型进行回归数据分析


左右滑动查看更多


01

02

03

04




train = df\[1:(n-tsize), \]
test = df\[(n-tsize+1):n, \]

我们将创建x输入和y输出数据来训练模型,并将它们转换成矩阵类型。

xtrain = as.matrix(data.frame(train$x1, train$x2, train$x3))
ytrain = as.matrix(data.frame(train$y1, train$y2))

接下来,我们将通过给定的步长值对输入和输出值进行切分来准备数据。在这个例子中,步长值是2,我们将把x的第一和第二行以及y的第二行作为一个标签值。下一个元素成为x的第二和第三行以及y的第三行,这个序列一直持续到结束。下表解释了如何创建x和y数据的序列。

如果步长值为3,我们将取3行x数据,第三行y数据成为输出。

dim(trains$x)
\[1\] 798   3   2
dim(trains$y)
\[1\] 798   2

定义模型

我们将通过添加简单的RNN层、用于输出的Dense层和带有MSE损失函数的Adam优化器来定义序列模型。我们将在模型的第一层设置输入维度,在最后一层设置输出维度。

model %>% summary()

我们将用训练数据来拟合这个模型。

fit(trains$x, trains$y)

并检查训练的准确性。

evaluate(trains$x, trains$y, verbose = 0)
print(scores)

预测和可视化的结果

最后,我们将预测测试数据,用RMSE指标检查y1和y2的准确性。

 
cat("y1 RMSE:", RMSE(tests$y\[, 1\], ypred\[, 1\]))

   

``````
cat("y2 RMSE:"RMSE(tests$y\[, 2\], ypred\[, 2\]))

我们可以在图中直观地检查结果。
``````
plot(x_axes, tests$y\[, 1\], ylim = c(min(tests$y), max(tests$y))type = "l", lwd = 2,

在本教程中,我们已经简单了解了如何用R中的Keras rnn模型来拟合和预测多输出的顺序数据。


点击文末“阅读原文”

获取全文完整资料


本文选自《R语言深度学习Keras循环神经网络(RNN)模型预测多输出变量时间序列》。


点击标题查阅往期内容

Python TensorFlow循环神经网络RNN-LSTM神经网络预测股票市场价格时间序列和MSE评估准确性
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类
RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测
结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
用PyTorch机器学习神经网络分类预测银行客户流失模型
PYTHON用LSTM长短期记忆神经网络的参数优化方法预测时间序列洗发水销售数据
Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化
Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告
R语言深度学习:用keras神经网络回归模型预测时间序列数据
Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
MATLAB中用BP神经网络预测人体脂肪百分比数据
Python中用PyTorch机器学习神经网络分类预测银行客户流失模型
R语言实现CNN(卷积神经网络)模型进行回归数据分析
SAS使用鸢尾花(iris)数据集训练人工神经网络(ANN)模型
【视频】R语言实现CNN(卷积神经网络)模型进行回归数据分析
Python使用神经网络进行简单文本分类
R语言用神经网络改进Nelson-Siegel模型拟合收益率曲线分析
R语言基于递归神经网络RNN的温度时间序列预测
R语言神经网络模型预测车辆数量时间序列
R语言中的BP神经网络模型分析学生成绩
matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类
R语言实现拟合神经网络预测和结果可视化
用R语言实现神经网络预测股票实例
使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测
python用于NLP的seq2seq模型实例:用Keras实现神经网络机器翻译
用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类


文章转载自拓端数据部落,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论