Sobes.tech
Middle — Senior

Czym jest inżynieria cech dla szeregów czasowych (opóźnienia, statystyki ruchome, cechy daty/godziny)?

sobes.tech AI

Odpowiedź od AI

Inżynieria cech dla szeregów czasowych to proces tworzenia nowych cech z danych źródłowych, które pomagają modelom lepiej wychwytywać strukturę czasową i zależności.

  • Lags (opóźnienia) — tworzenie cech reprezentujących wartości szeregu czasowego z poprzednich punktów czasowych. Na przykład wartość szeregu sprzed 1, 2, 3 okresów. Pomaga to modelowi uwzględnić autokorelację.

  • Statystyki ruchome (rolling stats) — obliczanie statystyk (średnia, mediana, odchylenie standardowe itp.) na oknie ruchomym. Na przykład średnia z ostatnich 7 dni. Pomaga to wykrywać trendy i wygładzać szumy.

  • Cechy daty i czasu (datetime features) — wyodrębnianie cech takich jak dzień tygodnia, miesiąc, godzina, dni świąteczne, sezon itp. z znacznika czasu. Pomaga to modelowi uwzględnić sezonowość i cykliczność.

Przykład tworzenia opóźnień i średniej ruchomej w Pythonie z pandas:

import pandas as pd

df = pd.DataFrame({'value': [10, 12, 13, 15, 14, 16, 18]})
# Opóźnienie o 1 okres
 df['lag_1'] = df['value'].shift(1)
# Średnia ruchoma z 3 okresów
 df['rolling_mean_3'] = df['value'].rolling(window=3).mean()

W ten sposób inżynieria cech pomaga modelom szeregów czasowych lepiej rozumieć strukturę danych i poprawiać jakość prognoz.