一次查找并可视化N天的线性回归曲线

时间:2019-03-30 04:23:13

标签: python pandas linear-regression curve-fitting

每隔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 :(得分:0)

from scipy.stats import linregress

linregress(x,y)

x和y是数组或列表。