基于树模型的时间序列预测实战
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
基于树的时间序列预测摘要
尽管近期大模型非常流行,但在时间序列预测竞赛中基于树的机器学习方法,尤其是像LightGBM这样的梯度提升模型更受欢迎。本文详细介绍了如何从单变量时间序列中创建特征,使用提前一步预测的监督学习框架,并建立LightGBM预测模型。
从单变量时间序列中创建特征
单变量时间序列信息有限,因此需要通过创建滞后变量等方法生成足够的特征。通过pandas可以轻松创建基于时间的特征,如日期、星期、季度等。在实践中,使用了包含2017至2020年的每小时用电量记录的数据集,以处理单变量时间序列,并进行了可视化分析,显示出明显的周期性模式。
创建滞后特征和未来特征
滞后特征是通过.shift(n)创建的,它们是自回归模型中的关键因素。除了滞后特征,还可以创建移动平均等统计特征,以提高预测的准确度。
建立LightGBM预测模型
LightGBM是一个有效的梯度提升框架,适用于处理大型数据集。本文中的模型使用了时间序列的滞后项和时间相关特征作为输入,通过预测提前一步的方式进行了建模。数据被分为实时和非实时部分,以进行训练和测试,并使用了LightGBM的.Dataset()类打包数据。
预测准确性评估和可视化
预测准确性通过计算平均绝对百分比误差 (MAPE) 来评估,结果显示预测值可以高于或低于实际值1.90%。实际值与预测值的可视化表明训练期和测试期的预测值与实际值吻合良好。
模型可解释性
通过特征重要性图,可以直观地了解到哪些特征对预测有显著影响。结果显示,滞后特征和移动平均特征对预测结果具有较大的影响。
结论
本文探讨了基于树的监督学习框架如何处理单变量时间序列数据,并通过LightGBM模型进行了有效预测,同时也提高了模型的可解释性。
原创内容来自公众号『数据STUDIO』,文章涵盖了Python、数据分析、可视化、机器学习、数据挖掘等数据科学领域的知识。
想要了解更多内容?
点击领取《Python学习手册》,后台回复「福利」获取。『数据STUDIO』专注于数据科学原创文章分享,内容以 Python 为核心语言,涵盖机器学习、数据分析、可视化、MySQL等领域干货知识总结及实战项目。