在Python中查找具有可变梯度的趋势线的y截距的最快方法是什么?

时间:2019-11-26 05:17:35

标签: python time-series vectorization trendline

我有一些时间序列数据,其中时间间隔不均匀。通过将每个x,y点与一条直线连接起来,我正在构建一个非常简单的趋势线。然后,我想计算一系列新的一致x值的y截距(具体来说,我需要以一秒的间隔推断y值)。当前,这是我的方法(我创建了示例X,Y数组来说明这一点):

original_x=(np.arange(10)**2)*0.1
y=np.random.uniform(-10,10,10)
new_x=np.arange(10)[1:]

grads=(y[:-1]-y[1:])/(original_x[:-1]-original_x[1:])
intercepts=np.zeros(new_x.shape[0])

placeholder=0
for i in range(new_x.shape[0]):
    for h in range(placeholder,original_x.shape[0],1):
        if original_x[h]>=new_x[i]:
            intercepts[i]=y[h]+((original_x[h]-new_x[i])*(-grads[h-1]))
            placeholder=h
            break

我正在使用“占位符”变量来缩短循环,但感觉可能存在一种向量化该方式并完全避免循环的方法。但是,我正在空白。这是一个非常大的数据集,所以我需要它尽可能的光滑。有什么想法吗?

0 个答案:

没有答案