时间序列分析之Holt-Winters的R语言实现

代码如下(数据附在文末):

library(readxl)
library(TTR)
library(forecast)
library(ggplot2)
#取数据中的第一列进行分析
dat <- read_excel("rawdatacompet.xlsx",sheet=1,na="NA")
series1 <- dat[,1]
series1 <- series1[1:60,]

#将数据转化为时间序列
series1 <- ts(series1)
#将数据转化为双精度,没有貌似会报错
series1 <- as.double(series1)
#用简单移动平均来平滑数据
series <- SMA(series1,n=5)
#因为数据平均后移,数据前四个为NA,去除前四个
series <- series[5:60]
seriesforecasts <- HoltWinters(series, gamma=FALSE) 
#观察对原数据进行预测的效果 
plot(seriesforecasts) #如图一 
#对之后的五个时间点的值进行预测
seriesforecasts2 <- forecast(seriesforecasts, h=5)  
#将预测情况绘图表示,如图二
autoplot(seriesforecasts2) 

图一:

可以看出,虽然有些延迟,二者的相似度还是比较高的
图二
在这里插入图片描述
预测数据之后的情况

所用数据如下(此处只取第一列,蓝色部分为待预测值):
在这里插入图片描述
本文系编程小白所写,如有错漏,敬请指正。

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

today__present

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值