Python 3.x numpy vander函数做什么?为什么在回归中使用它?

Python 3.x numpy vander函数做什么?为什么在回归中使用它?,python-3.x,numpy,regression,Python 3.x,Numpy,Regression,我试图根据本文编写的代码来理解协整 然而,当我逐步阅读代码时,我被下面代码部分的最后一行弄糊涂了。我已经阅读了vander函数的文档,但是我真的不明白该函数在做什么 def detrend(y, order): if order == -1: return y return OLS(y, np.vander(np.linspace(-1, 1, len(y)), order + 1)).fit().resid 函数np.vander返回一个数组,其中第一列为x^

我试图根据本文编写的代码来理解协整

然而,当我逐步阅读代码时,我被下面代码部分的最后一行弄糊涂了。我已经阅读了vander函数的文档,但是我真的不明白该函数在做什么

 def detrend(y, order):
    if order == -1:
       return y
    return OLS(y, np.vander(np.linspace(-1, 1, len(y)), order + 1)).fit().resid

函数np.vander返回一个数组,其中第一列为x^N-1,第二列为x^N-2,依此类推。看看这个例子:

x = np.array([1, 2, 3, 5])
N = 3
np.vander(x, N)

array([[ 1,  1,  1],
   [ 4,  2,  1],
   [ 9,  3,  1],
   [25,  5,  1]])
在代码中,N=order+1,X=np.linspace-1,1,leny。 如果第一列为x^0,第二列为x^1,依此类推,最后一列为x^N-1,则也可以使用increasing=True