Что делает функция numpy Вандера и почему она используется в регрессии? - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь понять код коинтеграции под кодом, написанным в этом модуле .

Однако, когда я перебираю код, меня смущает последняя строка в разделе кода ниже , Я прочитал документацию по функции Вандера, но я не совсем понимаю, что делает эта функция?

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

1 Ответ

1 голос
/ 16 апреля 2020

Функция 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, len (y)). Вы также можете использовать «Увеличивание = Истина», где первый столбец равен x ^ (0), второй x ^ (1) и т. Д., А последний x ^ (N-1).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...