python中滚动窗口和集合索引的回归

python中滚动窗口和集合索引的回归,python,Python,我试图为给定的数据集在指定的滚动周期内创建一个具有最佳拟合行的列。索引列/自变量(日期)为x,拟合线应在包含各种值的“结束”列上计算 我能够计算斜率和截距系数(在本例中,基于20天周期)。但是,由于数据集有355个观察周期(从0到355),因此我得到了错误的斜率和截距,因为它们是基于整行的x值计算的。例如,第355天的斜率和截距是在假设整个数据行的x值的情况下计算的,正确的方法应该是使用0-20的x值进行计算。在这种情况下,有没有更简单/正确的方法来求解Y?附件是我现在拥有的…谢谢你的帮助 de

我试图为给定的数据集在指定的滚动周期内创建一个具有最佳拟合行的列。索引列/自变量(日期)为x,拟合线应在包含各种值的“结束”列上计算

我能够计算斜率和截距系数(在本例中,基于20天周期)。但是,由于数据集有355个观察周期(从0到355),因此我得到了错误的斜率和截距,因为它们是基于整行的x值计算的。例如,第355天的斜率和截距是在假设整个数据行的x值的情况下计算的,正确的方法应该是使用0-20的x值进行计算。在这种情况下,有没有更简单/正确的方法来求解Y?附件是我现在拥有的…谢谢你的帮助

def slope(seri):
    return np.polyfit(seri.index.values, seri.values, 1)[0]

def intercept(seri):
    return np.polyfit(seri.index.values, seri.values, 1)[1]

df.index = list(range(0, len(df.index.values), 1))
df['Slope'] = df['Close'].rolling(window = 20).apply(slope, raw=False)
df['Intercept'] = df['Close'].rolling(window = 20).apply(intercept, raw=False)
df['Y'] = df['Slope']*20 + df['Intercept']
df