说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。
1.项目背景
ETS模型(Error-Trend-Seasonality Model),是一种广泛应用于时间序列预测的统计方法。ETS模型专门用于处理包含误差、趋势和季节性成分的时间序列数据。
Error (E):表示随机误差项,即在模型中无法解释的短期波动部分。
Trend (T):代表时间序列中的长期上升或下降趋势,可以是线性的、二次的、指数的或其他形式的趋势,并且在某些实现中趋势也可能是随机的(例如随机游走)。
Seasonality (S):反映数据随固定周期重复出现的模式,如月度、季度或年度等季节性变化。
ETS模型通过分别对这三个组成部分建模,然后将它们组合起来以捕捉时间序列的整体动态行为。
本项目通过ETSModel算法来构建ETS指标平滑模型。
2.数据获取
本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:
编号 | 变量名称 | 描述 |
1 | DATE | |
2 | y |
数据详情如下(部分展示):
3.数据预处理
3.1 用Pandas工具查看数据
使用Pandas工具的head()方法查看前五行数据:
关键代码:
3.2 数据缺失查看
使用Pandas工具的info()方法查看数据信息:
从上图可以看到,总共有1个变量,数据中无缺失值,共49条数据。
关键代码:
3.3 数据描述性统计
通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。
关键代码如下:
4.探索性数据分析
4.1 变量直方图
用Matplotlib工具的hist()方法绘制直方图:
从上图可以看到,变量主要集中在150~500之间。
4.2 折线图
从上图中可以看到,房价指数是不断波动的。
5.构建ETS指标平滑模型
主要使用ETSModel算法,用于ETS指标平滑模型。
5.1 构建模型
编号 | 模型名称 | 参数 |
1 | ETS指标平滑模型 | error='add' |
2 | trend='add' | |
3 | damped_trend=True |
5.2 模型摘要信息一
5.3 模型摘要信息二
应用启发式方法对模型参数进行初始化。
6.模型评估
6.1 真实值与预测值对比图一
6.2 真实值与预测值对比图二
7.结论与展望
综上所述,本文采用了ETSModel算法来构建ETS指标平滑模型,最终证明了我们提出的模型效果良好。此模型可用于日常产品的预测。
# 本次机器学习项目实战所需的资料,项目资源如下:
# 项目说明:
# 获取方式一:
# 项目实战合集导航:
https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2
# 获取方式二:
链接:https://pan.baidu.com/s/1qoBo6knOYm6Dw1NJH7kF3g
提取码:vtc1