时间序列分析实战(四):Holt-Winters建模及预测

简介: 时间序列分析实战(四):Holt-Winters建模及预测

1 目的

  该篇文章主要展示针对时序进行Holt-Winters建模,案例数据同 时间序列分析实战(三):时序因素分解法:某欧洲小镇1963年1月至1976年12月每月旅馆入住的房间数构成时间序列x t x_txt

2 Holt-Winters三参数指数平滑乘法模型

  通过上一篇 Blog 知道该时序数据具有季节效应,并且具有长期趋势,考虑首先建立Holt-Winters三参数指数平滑乘法模型:x_t=[a(t-1)+b(t)]c(t)

  运行程序:

fit1=HoltWinters(data1,seasonal = "mult")
fit1

  运行结果:

## Holt-Winters exponential smoothing with trend and multiplicative seasonal component.
## 
## Call:
## HoltWinters(x = data1, seasonal = "mult")
## 
## Smoothing parameters:
##  alpha: 0.01567674
##  beta : 0.008068444
##  gamma: 0.4392594
## 
## Coefficients:
##            [,1]
## a   875.5123349
## b     1.9568538
## s1    0.9301067
## s2    0.8613974
## s3    0.8741871
## s4    0.9798006
## s5    0.9624445
## s6    1.0964284
## s7    1.2846348
## s8    1.3110818
## s9    1.0004965
## s10   0.9987417
## s11   0.8628932
## s12   0.9793806

  基于R最优拟合原则得到平滑系数α \alphaα=0.01567674,β \betaβ=0.008068444,γ \gammaγ=0.4392594。经迭代得到三个参数的最后迭代值:a ( t ) a(t)a(t)=875.5123349,b ( t ) b(t)b(t)=1.9568538,参数c ( t ) c(t)c(t)的最后12个月估计值对应的是12个月的季节指数,见表1。

  该序列向前任意k kk期的预测值为:x^t+k=(875.512+1.967k)Sj,k1

  式中,jt+k期对应的季节。

3 Holt-Winters三参数指数平滑乘法模型预测

  运行程序:

library(forecast)
fore1=forecast::forecast(fit1,h=36)
fore1$mean

  运行结果:

##            Jan       Feb       Mar       Apr       May       Jun       Jul
## 1977  816.1400  757.5353  770.4935  865.4968  852.0489  972.8099 1142.3105
## 1978  837.9810  777.7629  791.0214  888.5047  874.6492  998.5565 1172.4766
## 1979  859.8220  797.9904  811.5493  911.5126  897.2496 1024.3031 1202.6427
##            Aug       Sep       Oct       Nov       Dec
## 1977 1168.3931  893.5675  893.9546  774.0477  880.4578
## 1978 1199.1802  917.0614  917.4073  794.3104  903.4559
## 1979 1229.9674  940.5553  940.8600  814.5731  926.4540

 运行程序:

plot(fore1,lty=2,sub='图1 入住房间数序列Holt-Winters三参数指数平滑预测效果图')
lines(fore1$fitted,col=4)

   运行结果:

图1 Holt-Winters三参数指数平滑乘法模型预测效果


相关文章
|
1月前
|
机器学习/深度学习 存储 自然语言处理
【机器学习】基于逻辑回归的分类预测
【机器学习】基于逻辑回归的分类预测
|
3月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
5月前
|
机器学习/深度学习 数据可视化 算法
【阿旭机器学习实战】【36】糖尿病预测---决策树建模及其可视化
【阿旭机器学习实战】【36】糖尿病预测---决策树建模及其可视化
|
6月前
|
机器学习/深度学习 数据采集 数据可视化
机器学习 —— 分类预测与集成学习(上)
机器学习 —— 分类预测与集成学习
|
6月前
|
数据可视化
【R语言实战】——金融时序ARIMA建模
【R语言实战】——金融时序ARIMA建模
|
6月前
|
数据可视化 vr&ar Python
时间序列分析技巧(二):ARIMA模型建模步骤总结
时间序列分析技巧(二):ARIMA模型建模步骤总结
|
6月前
|
机器学习/深度学习 数据采集 自然语言处理
探索机器学习中的维度诅咒与特征工程
【4月更文挑战第26天】 在高维数据空间航行,机器学习模型常受维度诅咒之困扰,遭遇过拟合、计算成本增加和解释性下降等问题。本文通过深入分析维度诅咒的成因,探讨了特征工程作为解决之道的关键策略,包括特征选择、特征提取及特征转换等技术。我们将透过实例说明如何巧妙运用这些方法,以降低数据维度,提升模型性能,同时保持结果的可解释性。
|
6月前
|
机器学习/深度学习
机器学习 —— 分类预测与集成学习(下)
机器学习 —— 分类预测与集成学习(下)
|
6月前
|
机器学习/深度学习 数据可视化
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析(上)
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析
|
6月前
|
机器学习/深度学习 数据可视化 算法
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析(下)
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析