首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言神经网络模型预测车辆数量时间序列

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

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

相关视频

因此我们使用仿真。

读取数据进行可视化:

## # A tibble: 6 x 2

##         Date Actual

##         

## 1 2016-01-11     26

## 2 2016-01-18     27

## 3 2016-01-25     28

## 4 2016-02-01     22

## 5 2016-02-08     27

## 6 2016-02-15     31

dat%>%ggplot(aes(Date,Actual))+

labs(title = "耐久性车辆预测", x = "时间", y = "耐用车辆数量",

subtitle = " 2016 & 2017年数据") +

#数据必须为数字,tsclean函数才能正常工作

dat%>%dplyr::rename(Date=Week)%>%na.omit()

dat_ts = ts(dat\["实际数量"\])

nn(data, lambda=.5)

Average of 20 networks, each of which is

a 1-1-1 network with 4 weights

options were - linear output units

sigma^2 estimated as .2705

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

确保残差同方差。

该模型可以写成:

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

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

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

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

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

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

plot(dat_ts) + autolayer(sim)

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

plot(fcast)

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20221020A04S6R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券