У меня есть Dataframe, представленный ниже в наборе данных
Я пытаюсь применить скользящее окно из 21 для вычисления перехватов с использованием модели LinearRegression.Эти вычисления должны быть выполнены на массивном наборе данных.Я искал расчесывание панда и линейную регрессию.
Я пробовал что-то подобное, по моему мнению, это неэффективно!Хотелось бы узнать идеальный способ подойти к этому
from sklearn.linear_model import LinearRegression
import np
for holding_id in holding_ids:
intercepts = []
holding_p = df[holding_id].tolist()
for i in range(21, len(holding_p)):
lrm = LinearRegression()
reg = lrm.fit(np.array(b_array[i-21:i]).reshape(-1, 1),holding_p[i-21:i])
intercepts.append(reg.intercept_)
beta_intercept[holding_id] = intercepts