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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 用R语言中的神经网络预测时间序列:多层感知器和极限学习机

对于此示例,我将对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. plotMLP预测的输出。

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



# 自动拟合 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几乎以相同的方式工作。




# 拟合 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

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

 

METHOD MAE
MLP (5 nodes) 62.471
MLP (auto) 48.234
ELM 48.253
THieF-MLP 45.906
ETS 64.528

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

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
3天前
|
机器学习/深度学习 编解码 算法
R语言用FNN-LSTM假近邻长短期记忆人工神经网络模型进行时间序列深度学习预测4个案例
R语言用FNN-LSTM假近邻长短期记忆人工神经网络模型进行时间序列深度学习预测4个案例
|
12天前
|
机器学习/深度学习 传感器 自然语言处理
R语言基于递归神经网络RNN的温度时间序列预测
R语言基于递归神经网络RNN的温度时间序列预测
26 0
|
13天前
|
机器学习/深度学习 数据采集 数据可视化
R语言实现拟合神经网络预测和结果可视化
R语言实现拟合神经网络预测和结果可视化
16 1
|
7月前
|
机器学习/深度学习 传感器 算法
【lssvm回归预测】基于变模态结合秃鹰算法优化最小二乘支持向量机VMD-BES-LSSVM实现数据预测模型(多输入单输出)含Matlab代码
【lssvm回归预测】基于变模态结合秃鹰算法优化最小二乘支持向量机VMD-BES-LSSVM实现数据预测模型(多输入单输出)含Matlab代码
|
8月前
|
机器学习/深度学习
回归预测 | MATLAB实现DBN-ELM深度置信网络结合极限学习机多输入单输出回归预测
回归预测 | MATLAB实现DBN-ELM深度置信网络结合极限学习机多输入单输出回归预测
|
8月前
|
机器学习/深度学习 传感器 算法
【ELM回归预测】基于RELM鲁棒极限学习机实现数据预测附matlab代码
【ELM回归预测】基于RELM鲁棒极限学习机实现数据预测附matlab代码
|
8月前
|
机器学习/深度学习 传感器 算法
【ELM回归预测】基于极限学习机的数据回归预测附matlab代码
【ELM回归预测】基于极限学习机的数据回归预测附matlab代码
|
9月前
|
机器学习/深度学习
基于BP神经网络、RBF神经网络以及PSO优化的RBF神经网络进行数据的预测(Matlab代码实现)
基于BP神经网络、RBF神经网络以及PSO优化的RBF神经网络进行数据的预测(Matlab代码实现)
基于BP神经网络、RBF神经网络以及PSO优化的RBF神经网络进行数据的预测(Matlab代码实现)
|
9月前
|
机器学习/深度学习 算法
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
129 0
|
机器学习/深度学习 传感器 资源调度
【FNN回归预测】基于Jaya优化前馈神经网络FNN实现数据回归预测附Matlab代码
【FNN回归预测】基于Jaya优化前馈神经网络FNN实现数据回归预测附Matlab代码

热门文章

最新文章

http://www.vxiaotou.com