Статсмодели OLS для прокатного окна в зависимости от года

#window #regression #rolling-computation #statmodels

Вопрос:

Существует ли особый способ выполнения OLS с использованием скользящего окна продолжительностью в один год? Например:

комплект поездов : 1970-1990, комплект испытаний : 1991

комплект поездов : 1970-1991, комплект испытаний : 1992

.
.
.

комплект поездов : 1970-2009, комплект испытаний : 2010

Я попытался сделать следующее, но у меня огромный фрейм данных, поэтому он не работает.

 for i in range(1989, 2010):
    print(i)
    train = df[df['year'] <= i]
    test = df[df['year'] == i 1]
    x_train = train[train_columns]
    y_train = train[column]
    x_test = test[train_columns]
    y_test = test[column]
    model = sm.OLS(y_train, x_train) #missing = "drop"
    results = model.fit()
    y_pred = results.predict(x_test)