1

例子:

Python

lagmatrix([1 2 3])
returns [0 1 2]

如果我想根据 Y 的滞后值(即 AR 过程)对 Y 进行回归,这显然是不正确的。

我想使用 statsmodel.OLS 运行 Y 的回归和 Y 的滞后值,但是如果我将 NaN 放在 Y 的滞后版本中,OLS 会抱怨并且不会运行。

Y[1:-1]有没有办法在不回归的情况下运行回归lagmatrix(Y)[1:-1]

如果我有更多的滞后,这会很烦人。

statsmodels 中的 AR 函数如何发现滞后?

4

1 回答 1

1

我不知道你的lagmatrix是什么。

我会推荐使用 pandas,它有一个滞后方法并且有 nan 处理。

statsmodels 有两个函数在内部用于为自回归和向量自回归模型以及相关假设检验创建滞后矩阵,它们可以trim选择如何处理初始观察和尾随观察。

>>> from statsmodels.tsa.tsatools import lagmat, lagmat2ds
>>> x = np.arange(10)
>>> y_lagged, y = lagmat(x, maxlag=2, trim="forward", original='sep')
>>> y_lagged
array([[ 0.,  0.],
       [ 0.,  0.],
       [ 1.,  0.],
       [ 2.,  1.],
       [ 3.,  2.],
       [ 4.,  3.],
       [ 5.,  4.],
       [ 6.,  5.],
       [ 7.,  6.],
       [ 8.,  7.]])
>>> y
array([[0],
       [1],
       [2],
       [3],
       [4],
       [5],
       [6],
       [7],
       [8],
       [9]])
>>> y_lagged, y = lagmat(x, maxlag=2, trim="both", original='sep')
>>> y_lagged
array([[ 1.,  0.],
       [ 2.,  1.],
       [ 3.,  2.],
       [ 4.,  3.],
       [ 5.,  4.],
       [ 6.,  5.],
       [ 7.,  6.],
       [ 8.,  7.]])
>>> y
array([[2],
       [3],
       [4],
       [5],
       [6],
       [7],
       [8],
       [9]])
于 2013-08-04T06:56:33.027 回答