预测是一件复杂的事情,在这方面做得好的企业会在同行业中出类拔萃。时间序列预测的需求不仅存在于各类业务场景当中,而且通常需要对未来几年甚至几分钟之后的时间序列进行预测。如果你正要着手进行时间序列预测,那么本文将带你快速掌握一些必不可少的概念。
目录
- 什么是时间序列?
- 如何在Python中绘制时间序列数据?
- 时间序列的要素是什么?
- 如何分解时间序列?
- 经典分解法
- 如何获得季节性调整值?
- STL分解法
- 时间序列预测的基本方法:
- Python中的简单移动平均(SMA)
- 为什么使用简单移动平均?
- Python中的加权移动平均(WMA)
- Python中的指数移动平均(EMA)
什么是时间序列?
顾名思义,时间序列是按照固定时间间隔记录的数据集。换句话说,以时间为索引的一组数据是一个时间序列。请注意,此处的固定时间间隔(例如每小时,每天,每周,每月,每季度)是至关重要的,意味着时间单位不应改变。别把它与序列中的缺失值混为一谈。我们有相应的方法来填充时间序列中的缺失值。
在开始使用时间序列数据预测未来值之前,思考一下我们需要提前多久给出预测是尤其重要的。你是否应该提前一天,一周,六个月或十年来预测(我们用“界限”来表述这个技术术语)?需要进行预测的频率是什么?在开始预测未来值的详细工作之前,与将要使用你的预测结果的人谈一谈也不失为一个好主意。
如何在Python中绘制时间序列数据?
可视化时间序列数据是数据科学家了解数据模式,时变性,异常值,离群值以及查看不同变量之间的关系所要做的第一件事。从绘图查看中获得的分析和见解不仅将有助于建立更好的预测,而且还将引导我们找到最合适的建模方法。这里我们将首先绘制折线图。折线图也许是时间序列数据可视化最通用的工具。
这里我们用到的是AirPassengers数据集。该数据集是从1949年到1960年之间的每月航空旅客人数的集合。下面是一个示例数据,以便你对数据信息有个大概了解。
#Reading Time Series Data
Airpassenger = pd.read_csv(\"AirPassengers.csv\")
Airpassenger.head(3)
现在,我们使用折线图绘制数据。在下面的示例中,我们使用set_index()将date列转换为索引。这样就会自动在x轴上显示时间。接下来,我们使用rcParams设置图形大小,最后使用plot()函数绘制图表。
Airpassenger = Airpassenger.set_index(\'date\')
pyplot.rcParams[\"figure.figsize\"] = (12,6)
Airpassenger.plot()
pyplot.show()
来源:https://www.cnblogs.com/python147/p/14455625.html
图文来源于网络,如有侵权请联系删除。