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

用R语言中的神经网络预测时间序列:多层感知器和极限学习机

拓端数据部落 2023-02-22
415

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


对于此示例,我将对R中的时间序列进行建模点击文末“阅读原文”获取完整代码数据

相关视频



我将最后24个观察值保留为测试集,并将使用其余的观察值来拟合神经网络。当前有两种类型的神经网络可用,多层感知器;和极限学习机。


# 拟合 多层感知器
mlp.fit <- mlp(y.in)
plot(mlp.fit)
print(mlp.fit)

这是使MLP网络适合时间序列的基本命令。这将尝试自动指定自回归输入和时间序列的必要预处理。利用预先指定的参数,它训练了20个用于生成整体预测的网络和一个具有5个节点的隐藏层。print
是输出拟合网络的摘要:

MLP fit with 5 hidden nodes and 20 repetitions.
Series modelled in differences: D1.
Univariate lags: (1,3,4,6,7,8,9,10,12)
Deterministic seasonal dummies included.
Forecast combined using the median operator.
MSE: 6.2011.

该函数选择了自回归滞后,并将虚拟变量用于季节性趋势。使用plot
显示网络的体系结构(图1)。

 

图1.输出 plot(mlp.fit).

浅红色输入代表用于编码季节性的二进制虚拟变量,而灰色输入则是自回归滞后项。要生成预测,您可以输入:

 forecast(mlp.fit,h=tst.n)


图2显示了整体预测,以及各个神经网络的预测。

图2. plot
MLP预测的输出。


点击标题查阅往期内容


【视频】CNN(卷积神经网络)模型以及R语言实现回归数据分析


左右滑动查看更多


01

02

03

04




您还可以选择隐藏节点的数量。

# 自动拟合 MLP 
hd.auto.type="valid"

这将评估1到10个隐藏节点,并选择验证集MSE上的最佳节点。也可以使用交叉验证。输出误差:

        MSE
H.1 0.0083
H.2 0.0066
H.3 0.0065
H.4 0.0066
H.5 0.0071
H.6 0.0074
H.7 0.0061
H.8 0.0076
H.9 0.0083
H.10 0.0076

ELM几乎以相同的方式工作。

# Fit ELM
elm.fit <- elm(y.in)
print(elm.fit)
plot(elm.fit)



以下是模型摘要:

ELM fit with 100 hidden nodes and 20 repetitions.
Series modelled in differences: D1.
Univariate lags: (1,3,4,6,7,8,9,10,12)
Deterministic seasonal dummies included.
Forecast combined using the median operator.
Output weight estimation using: lasso.
MSE: 83.0044.

在图3的网络体系结构中只有用黑线连接到输出层的节点才有助于预测。其余的连接权重已缩小为零。

图3. ELM网络架构。

该程序包在R中实现了层次时间预测。可以通过以下方式进行操作:


forecastfunction=mlp.thief

因为对于这个简单的示例,我保留了一些测试集,所以我将预测与指数平滑进行比较:

 

METHODMAE
MLP (5 nodes)62.471
MLP (auto)48.234
ELM48.253
THieF-MLP45.906
ETS64.528

 

像MAPA这样的时间层次结构使您的预测更可靠,更准确。但是,使用神经网络会明显增加计算成本!


点击文末“阅读原文”

获取全文完整代码数据资料


本文选自《用R语言中的神经网络预测时间序列:多层感知器和极限学习机》。


点击标题查阅往期内容

Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
深度学习实现自编码器Autoencoder神经网络异常检测心电图ECG时间序列
spss modeler用决策树神经网络预测ST的股票
Python中TensorFlow的长短期记忆神经网络(LSTM)、指数移动平均法预测股票市场和可视化
RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测
结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
用PyTorch机器学习神经网络分类预测银行客户流失模型
PYTHON用LSTM长短期记忆神经网络的参数优化方法预测时间序列洗发水销售数据
Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化
R语言深度学习卷积神经网络 (CNN)对 CIFAR 图像进行分类:训练与结果评估可视化
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
R语言深度学习Keras循环神经网络(RNN)模型预测多输出变量时间序列
R语言KERAS用RNN、双向RNNS递归神经网络、LSTM分析预测温度时间序列、 IMDB电影评分情感
Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化
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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论