返回

拓端数据tecdat|R语言神经网络模型预测车辆数量时间序列

发布时间:2022-11-15 22:24:02 198
# 数据

具有单个隐藏层和滞后输入的前馈神经网络,可以用于预测单变量时间序列。将神经网络模型拟合到以时间序列的滞后值作为输入的时间序列。因此它是一个非线性的模型,不可能得出预测区间。

因此我们使用仿真。

读取数据进行可视化:

1.  
2.
## Date Actual
3.
##
4.
## 1 2016-01-11 26
5.
## 2 2016-01-18 27
6.
## 3 2016-01-25 28
7.
## 4 2016-02-01 22
8.
## 5 2016-02-08 27
9.
## 6 2016-02-15 31

1.
dat%>%ggplot(aes(Date,Actual))+
2.
labs(title = "耐久性车辆预测", x = "时间", y = "耐用车辆数量",
3.
subtitle = " 2016 & 2017年数据") +

拓端数据tecdat|R语言神经网络模型预测车辆数量时间序列_R语言

 

1.  
#数据必须为数字,tsclean函数才能正常工作
2.
dat%>%dplyr::rename(Date=Week)%>%na.omit()
3.
dat_ts = ts(dat["实际数量"])

nn(data, lambda=0.5)1.
2.
3.
Average of 20 networks, each of which is
4.
a 1-1-1 network with 4 weights
5.
options were - linear output units
6.
7.
sigma^2 estimated as 0.2705

我使用了Box-Cox变换,其中λ=0.5,

确保残差同方差。

该模型可以写成:

拓端数据tecdat|R语言神经网络模型预测车辆数量时间序列_数据_02

其中yt-1 =(yt-1,yt-2,⋯,yt-8)是包含序列的滞后值的向量,f是一个神经网络,在单个层中具有4个隐藏节点。

通过从正态分布或从历史值中重采样随机生成ϵt的值,我们可以迭代地模拟该模型的未来样本路径。

因此,如果{ϵ ∗ T + 1}是从时间T + 1的误差分布中随机抽取的,则

拓端数据tecdat|R语言神经网络模型预测车辆数量时间序列_时间序列_03

是从yT + 1的预测分布中得出的一种概率。设置

y * T + 1 =(y * T + 1,yT,⋯,yT-6)然后我们可以重复此过程来获得

拓端数据tecdat|R语言神经网络模型预测车辆数量时间序列_数据_04

我们可以迭代地模拟未来的样本路径。通过反复模拟样本路径,我们基于拟合的神经网络建立了所有未来值的分布。这是对数据的9种将来可能的采样路径的模拟。每个样本路径覆盖了观测数据之后的未来20年。

plot(dat_ts) + autolayer(sim)

拓端数据tecdat|R语言神经网络模型预测车辆数量时间序列_R语言_05

如果执行此操作几百或数千次,则可以很好地了解预测分布。预测区间:

 

plot(fcast)

拓端数据tecdat|R语言神经网络模型预测车辆数量时间序列_R语言_06

模拟次数为1000。默认情况下,误差来自于正态分布。

拓端数据tecdat|R语言神经网络模型预测车辆数量时间序列_时间序列_07

 

拓端数据tecdat|R语言神经网络模型预测车辆数量时间序列_数据_08

 

拓端数据tecdat|R语言神经网络模型预测车辆数量时间序列_数据_09


拓端数据tecdat|R语言神经网络模型预测车辆数量时间序列_预测_10

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
03 运算符 2022-11-15 21:41:15