只需一行代码!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