每隔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循环吗?
答案 0 :(得分:0)
from scipy.stats import linregress
linregress(x,y)
x和y是数组或列表。