Поиск и визуализация кривой линейной регрессии по N дней за раз - PullRequest
0 голосов
/ 30 марта 2019

Хотите найти линию линейной регрессии каждые n дней, это обычно называют «кривой линейной регрессии».

У меня есть данные временного ряда, в которых мне нужно находить кривую линейной регрессии каждые n дней- по существу, наклон каждые n дней будет меняться, и каждые n дней будет появляться новая линия линейной регрессии - все они будут позже связаны на графике.

def slope_intercept(x_val, y_val):
x = np.array(x_val)
y = np.array(y_val)
m = ( ( (np.mean(x)*np.mean(y) ) - np.mean(x*y)) /
    ( ( np.mean(x)*np.mean(x)) - np.mean(x*x)))

m = round(m,2)
b=(np.mean(y)-np.mean(x)*m)
b=round(b,2)
return m,b

m,b=slope_intercept(future.index.tolist(), future['close'].tolist())
future['reg_line'] = [(m*x)+b for x in future.index.tolist()]

Как только это будет найдено, я хотел бы представить его на графике.Ниже приведена картина указанной визуализации, а также пример кода для линейной регрессии всего времени данных.Я предполагаю, что это какой-то цикл for, чтобы сделать это?Picture of the linear-regression-curve I am trying to make, disregard the candlesticks

1 Ответ

0 голосов
/ 30 марта 2019
from scipy.stats import linregress

linregress(x,y)

x и y - массивы или списки.

...