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.