【发布时间】:2019-03-30 04:23:13
【问题描述】:
想要每 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循环来做到这一点?
【问题讨论】:
标签: python pandas linear-regression curve-fitting