在时间序列中,我们经常观察到过去和现在的值之间的相似性。那是因为我们在此类数据中遇到自相关。换句话说,通过了解当今产品的价格,我们经常可以对明天的产品价值做出大致的预测。因此,在大数据分析python自回归模型中,我们将讨论一个反映这种相关性的模型。–自回归模型。
什么是自回归模型?
自回归模型或简称为AR模型,仅依靠过去的时间值来预测当前值。这是一个线性模型,其中当前期间的值是过去结果的总和乘以数字因子。我们将其表示为AR(p),其中“ p”称为模型的阶数,表示我们要包括的滞后值的数量。
例如,如果我们将X作为时间序列变量,则AR(1)(也称为简单自回归模型)将看起来像这样:
X t = C + ϕ 1 X t-1 + ϵ t
让我们仔细研究这个等式的不同部分,以确保我们很好地理解这个概念。
X t-1是多少?
对于初学者,X t-1表示上一期间的X值。
让我们详细说明。
如果“ t”代表今天并且我们有每周值,那么“ t-1”代表上周。因此,X t-1描述了一周前记录的值。
ϕ 1是什么?
系数ϕ 1是一个数字常数,通过该常数我们可以将滞后变量(X t-1)相乘。您可以将其解释为先前值的一部分,该值会保留在将来。值得注意的是,这些系数应始终在-1和1之间。
让我解释一下原因。
如果系数的绝对值大于1,则随着时间的流逝,它将无可估量地爆炸。
起初,这个想法似乎令人困惑。因此,让我们看一个数学示例。
假设我们有一个包含1000个观测值的时间序列,ϕ 1 = 1.3并且C = 0。
然后,X 2 = 0 + 1.3 X 1
既然X 3 = 1.3 X 2,我们可以用(1.3 X 1)代替X 2,得到X 3 = 1.3(1.3 X 1)= 1.3 2 X 1。然后,随着累积的时间越多(例如X 50),系数增加的幅度就越大(1.3 49 X 1)。
当我们到达第1000个周期时,我们将得到X 1000 = 1.3 999 X 1。这意味着这些值会继续增加,最终比初始值要高得多。这显然不是预测未来的可靠方法。
什么是ε 牛逼?
好了,现在我们需要打破方程的唯一部分是ε 牛逼。这就是所谓的残留,并代表周期t和正确的值(ε我们的预测之间的差吨 = Y 吨 - ŷ 吨)。这些残差通常是不可预测的差异,因为如果存在某种模式,它将被模型的其他现有因素捕获。
我们如何解释自回归模型?
现在我们知道模型的所有部分代表什么,让我们尝试对其进行解释。根据等式,在给定时期(X值吨)等于某个部分(φ 1中的最后一个时间段(X值)T-1 ),加上一些恒定基准的和不可预测的冲击ε 吨。
了解我们在给定的数据集上不仅仅使用任何自回归模型至关重要。我们首先需要确定要在分析中包括多少个滞后(过去值)。
具有更多滞后的自回归模型
例如,有关气象条件的时间序列将不仅仅依赖于一天前的天气统计数据。可以肯定地说,它将使用过去7天的数据。因此,该模型应考虑最多7个周期的值。
从数学的角度来看,使用两个滞后的模型(AR(2))如下所示:
X t = C + ϕ 1 X t-1 + ϕ 2 X t-2 + ϵ t
如您所料,更复杂的自回归模型将包含更多滞后值X t-n以及它们相关的系数ϕ n。
我们包含的滞后越多,我们的模型就越复杂。
模型越复杂,我们必须确定的系数就越多,结果,其中某些系数不重要的可能性就越大。
现在,通常来说,考虑到更多数据进行预测的模型通常会更好。但是,如果系数(ϕ 1,ϕ 2,…… n)与0的差别不大,则它们对预测值没有影响(因为ϕ k X t-k = 0),因此将它们包括在内几乎没有意义。在模型中。
当然,无法手动确定这些系数的重要性。
对我们来说幸运的是,Python非常适合这项工作。借助方便的库(例如Pandas和Statsmodels),我们可以为任何给定的数据集确定最合适的自回归模型。
如果您想了解有关在Python中实现自回归模型或模型选择过程如何工作的更多信息,请务必查看我们的分步Python教程。
如果您不熟悉 Python,并且热衷于了解更多信息,那么这篇有关学习Python编程的综合文章将指导您从安装到Python IDE,库和框架,再到最佳Python职业发展道路,以及工作前景。
准备好迈向大数据分析事业的下一步了吗?