Polyfit и Rolling Polyfit обеспечивают разные выходные данные для одного и того же набора данных. - PullRequest
0 голосов
/ 10 октября 2019

Я получаю различные результаты перехвата, когда пытаюсь использовать функцию полифита в скользящей основе. Ниже приведено изображение набора данных.

enter image description here

В следующем коде показаны два различных вычисления с использованием полифита.

## simple calculation of linear regression using numpy's polyfit
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
y = [79.375, 89.5625, 91.5, 75.125, 72.6875, 70.5, 72.625, 70, 68, 67.1875, 68.625, 65.1875]
deg = 1
example_1 = np.polyfit(x, y, deg)

выход example_1 (-1.94493007, 86.86996212)

## trying to apply rolling linear regression
x = np.array([1,2,3,4,5,6,7,8,9,10,11,12])
drange = 12

data['slope'] = data['High'].rolling(drange).apply (lambda y: np.polyfit(range(len(x)), y, 1)[0], raw=False)
data['intercept'] = data['High'].rolling(drange).apply (lambda y: np.polyfit(range(len(x)), y, 1)[1], raw=False)

Выход с наклоном (-1,944930, -1,967220, -1,462631, -0,803540, -0,364292)

Выход перехвата (84,895032, 84,028045, 79,372596, 73,5001013, 70,946314)

1017 *Вывод скользящего перехвата неверен и должен быть 86.86996212. Любая помощь будет высоко ценится!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...