Lag Features для Time Series

MediumPython
05:00
Лучше работает на десктопе
Feature Engineeringtime serieslag features

Создайте lag-фичи для временного ряда.

Значение lag_k для позиции i = значение в позиции i-k (или None если выходит за границы).

Сигнатура

def create_lag_features(values: list[float], n_lags: int) -> list[dict]:

Верните список dict с ключами: value, lag_1, lag_2, ... lag_n.

Примеры

create_lag_features([10, 20, 30, 40, 50], 2)
→ [
    {"value": 10, "lag_1": None, "lag_2": None},
    {"value": 20, "lag_1": 10, "lag_2": None},
    {"value": 30, "lag_1": 20, "lag_2": 10},
    {"value": 40, "lag_1": 30, "lag_2": 20},
    {"value": 50, "lag_1": 40, "lag_2": 30}
]

Примеры

Пример 1

Вход:
values = [10,20,30,40,50]
n_lags = 2
Выход:[{"value":10,"lag_1":null,"lag_2":null},{"value":20,"lag_1":10,"lag_2":null},{"value":30,"lag_1":20,"lag_2":10},{"value":40,"lag_1":30,"lag_2":20},{"value":50,"lag_1":40,"lag_2":30}]

Пример 2

Вход:
values = [1,2,3,4]
n_lags = 1
Выход:[{"value":1,"lag_1":null},{"value":2,"lag_1":1},{"value":3,"lag_1":2},{"value":4,"lag_1":3}]

Пример 3

Вход:
values = [5,10,15]
n_lags = 3
Выход:[{"value":5,"lag_1":null,"lag_2":null,"lag_3":null},{"value":10,"lag_1":5,"lag_2":null,"lag_3":null},{"value":15,"lag_1":10,"lag_2":5,"lag_3":null}]
Консоль
Нажмите Run или Ctrl+Enter для запуска