失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 拓端tecdat|R语言神经网络模型预测车辆数量时间序列

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

时间:2019-04-12 21:51:39

相关推荐

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

原文链接:/?p=19980

原文出处:拓端数据部落公众号

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

因此我们使用仿真。

读取数据进行可视化:

## # A tibble: 6 x 2## Date Actual## <dttm> <dbl>## 1 -01-1126## 2 -01-1827## 3 -01-2528## 4 -02-0122## 5 -02-0827## 6 -02-1531

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

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

nn(data, lambda=0.5)

Average of 20 networks, each of which isa 1-1-1 network with 4 weightsoptions were - linear output units sigma^2 estimated as 0.2705

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

确保残差同方差。

该模型可以写成:

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

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

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

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

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

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

plot(dat_ts) + autolayer(sim)

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

plot(fcast)

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

最受欢迎的见解

1.用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类

2.Python中利用长短期记忆模型LSTM进行时间序列预测分析 – 预测电力消耗数据

3.python在Keras中使用LSTM解决序列问题

4.Python中用PyTorch机器学习分类预测银行客户流失模型

5.R语言多元Copula GARCH 模型时间序列预测

6.在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析

7.R语言中ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型用于预测时间序列数

8.R语言估计时变VAR模型时间序列的实证研究分析案例

9.用广义加性模型GAM进行时间序列分析

如果觉得《拓端tecdat|R语言神经网络模型预测车辆数量时间序列》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。