Middle
Hogyan hozzunk létre jellemzőket a modellhez a trend és a csúcspont alapján a metrikákban?
sobes.tech MI
Válasz az MI-től
A trend és csúcs alapján történő jellemzők létrehozásához a következő megközelítéseket lehet alkalmazni:
- Trend — tükrözi a metrika időbeli változásának irányát. Ennek kiemeléséhez:
- Mozgó átlag vagy exponenciális simítás számítása a zaj csökkentése érdekében.
- Egy adott időszakban a metrika értékeire illesztett lineáris regresszió meredekségi együtthatójának kiszámítása — ez lesz a trend jellemzője.
- Szomszédos értékek közötti különbségek vagy százalékos változások használata.
- Csúcs — a metrikában a maximum vagy minimum pont, ami a csúcsértéket jelzi:
- Lokális maximumok/minimumok felismerése extremum kereső algoritmusok segítségével.
- Bináris jellemző létrehozása, ami megmutatja, hogy az aktuális pont csúcs-e.
- A legközelebbi csúcsig tartó idő- vagy érték szerinti távolság kiszámítása.
Python példában a trend és csúcs számítása:
import numpy as np
from scipy.signal import argrelextrema
def create_trend_feature(values):
x = np.arange(len(values))
coeffs = np.polyfit(x, values, 1) # lineáris regresszió
return coeffs[0] # trend meredeksége
def find_peaks(values):
maxima = argrelextrema(np.array(values), np.greater)[0]
return maxima
values = [10, 12, 15, 14, 13, 16, 20, 18, 17]
trend = create_trend_feature(values)
peaks = find_peaks(values)
print(f"Trend (meredekség): {trend}")
print(f"Csúcs indexek: {peaks}")
Így a trend és csúcs jellemzők segítenek a modellnek figyelembe venni a metrikák változásának dinamikáját, ami javítja a jóslás minőségét.