Почему y-перехват отличается между функцией LINEST в Excel и np.linalg.lstsq в NumPy? - PullRequest
1 голос
/ 05 октября 2019

Я пытаюсь повторить модель Excel в Python, и я использовал формулы Excel linest, чтобы найти y-пересечение. Формулы: INDEX(LINEST(known y's, known x's, True),2).

Известно y '* [Highs]= 79.375, 89.5625, 91.5, 75.125, 72.6875, 70.5, 72.625, 70, 68, 67.1875, 68.625, 65.1875
Известно x * = 1, 2, 3,.. 11, 12

Приведенный ниже код пытается повторить y-перехватно я получаю разные результаты.

import numpy as np
x = np.array([1,2,3,4,5,6,7,8,9,10,11,12])
drange = 12
A = np.vstack([ np.arange(drange), np.ones(len(x))]).T
df['intercept'] = df['High'].rolling(drange).apply(lambda y: np.linalg.lstsq(A, y, rcond=None)[0][1], raw=False)

В Excel я получаю 86.82996 для перехвата, в Python я получаю 84.89503. Я пытаюсь получить тот же результат Excel в Python.

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