说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。
1.项目背景
时间序列分析中的简单指数平滑(Simple Exponential Smoothing, SES)模型是一种用于短期预测的统计方法,特别适用于没有明显趋势或季节性模式的时间序列数据。该方法通过给予最近观测值不同的权重来估计当前水平,并以此作为对未来时间点预测的基础。
简单指数平滑模型的核心思想是:最新的观测值具有较高的权重,而较早的观测值权重逐渐递减,权重的衰减依赖于一个平滑系数α(alpha),0 < α ≤ 1。每个时期的预测值是前一时期的实际观测值和前一时期的预测值按照α和平滑常数(1-α)加权求和的结果。
本项目通过SimpleExpSmoothing算法来构建时间序列分析简单指数平滑模型。
2.数据获取
本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:
编号 | 变量名称 | 描述 |
1 | DATE | |
2 | y |
数据详情如下(部分展示):
3.数据预处理
3.1 用Pandas工具查看数据
使用Pandas工具的head()方法查看前五行数据:
关键代码:
3.2 数据缺失查看
使用Pandas工具的info()方法查看数据信息:
从上图可以看到,总共有1个变量,数据中无缺失值,共12条数据。
关键代码:
3.3 数据描述性统计
通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。
关键代码如下:
4.探索性数据分析
4.1 变量直方图
用Matplotlib工具的hist()方法绘制直方图:
从上图可以看到,变量主要集中在430~520之间。
4.2 折线图
从上图中可以看到,数据有一定的波动的。
5.构建简单指数平滑模型
主要使用SimpleExpSmoothing算法,用于时间序列分析简单指数平滑模型。
5.1 构建模型
编号 | 模型名称 | 参数 |
1 | 简单指数平滑模型 | initialization_method="heuristic" |
2 | smoothing_level=0.2 | |
3 | optimized=False |
5.2 模型摘要信息一
平滑系数为0.2的模型摘要信息:
5.3 模型摘要信息二
平滑系数为0.6的模型摘要信息:
5.4 模型摘要信息三
无平滑处理的模型摘要信息:
6.模型评估
6.1 真实值与预测值比对图
7.结论与展望
综上所述,本文采用了SimpleExpSmoothing算法来构建时间序列分析简单指数平滑模型,最终证明了我们提出的模型效果良好。此模型可用于日常产品的预测。
# 本次机器学习项目实战所需的资料,项目资源如下:
# 项目说明:
# 获取方式一:
# 项目实战合集导航:
https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2
# 获取方式二:
链接:https://pan.baidu.com/s/1XE1QxztjUlYz0THL8-kXjg
提取码:rh6o