我不知道你的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]])