只需一行代码!Python中9大时间序列预测模型
在时间序列问题上,机器学习被广泛应用于分类和预测问题。当有预测模型来预测未知变量时,在时间充当独立变量和目标因变量的情况下,时间序列预测就出现了。
预测值可以是潜在雇员的工资或银行账户持有人的信用评分。任何正式引入统计数据的数据科学都会遇到置信区间,这是某个模型确定性的衡量标准。
因此,预测一段时间内某些数据的价值需要特定的技术,并且需要多年的发展。
由于每种都有其特殊用途,必须注意为特定应用选择正确的技术。预测人员在技术选择中发挥作用,他们越了解预测可能性的范围,公司的预测工作就越有可能取得成果。
其方法的选择取决于预测的背景、历史数据的相关性和可用性、所需的准确度、预测的时间段、对企业的预测成本以及分析所需的时间。
影响预测的因素
· 增加或减少趋势
· 季节性
· 数据集的大小
时间序列的组成部分与数据本身一样复杂。随着时间的增加,获得的数据也会增加。有时候更多的数据并不意味着更多的信息,但是更大的样本避免了由于随机采样而产生的误差。
因此,对于每个应用程序,使用的技术都会发生变化。
来源:数据科学博客
在本文中,我们列出了最广泛使用的时间序列预测方法,只需一行代码就可以在Python中使用它们:
- Autoregression(AR)
AR方法在先前时间步骤中模拟为观察的线性函数。
模型的表示法涉及指定模型p的顺序作为AR函数的参数。
from statsmodel.tsa.ar_model import AR
- Autoregressive Moving Average(ARMA)
ARMA方法结合了自回归(AR)模型和移动平均(MA)模型。
from statsmodel.tsa.arima_model import ARMA
- Autoregressive Integrated Moving Average(ARIMA)
ARIMA方法结合自回归(AR)和移动平均(MA)模型以及序列的差分预处理步骤以使序列静止,称为积分。
from statsmodel.tsa.arima_model import ARIMA
- Seasonal Autoregressive Integrated Moving-Average (SARIMA)
SARIMA方法将序列中的下一步建模为先前时间步骤的差异观测值、误差、差异性季节观测值和季节性误差的线性函数。
它结合了ARIMA模型,能够在季节性水平上执行相同的自回归、差分和移动平均建模。
from statsmodel.tsa.statespace.sarimax import SARIMAX
- Seasonal Autoregressive Integrated Moving-Average with Exogenous Regressors (SARIMAX)
SARIMAX是SARIMA模型的扩展,还包括外生变量的建模。
SARIMAX方法还可用于使用外生变量对包含的模型进行建模,例如ARX,MAX,ARMAX和ARIMAX。
from statsmodel.tsa.statespace.sarimax import SARIMAX
- Vector Autoregression (VAR)
向量自回归方法使用AR模型。AR是多个并行时间序列的推广。
from statsmodel.tsa.vector_ar.var_model import VAR
- Vector Autoregression Moving-Average (VARMA)
这是ARMA对多个并行时间序列的推广,例如,多变量时间序列。
from statsmodel.tsa.statespace.varmax import VARMAX
- Vector Autoregression Moving-Average with Exogenous Regressors(VARMAX)
VARMAX是VARMA模型的扩展,它还包括外生变量的建模。它是ARMAX方法的多变量版本。
- Holt Winter’s Exponential Smoothing (HWES)
HWES是在先前时间步骤的观测的指数加权线性函数,将考虑趋势和季节性因素。
from statsmodel.tsa.holtwinters import ExponentialSmoothing