Sobes.tech
Middle

Jak tworzyć cechy dla modelu na podstawie trendu i kulminacji w metrykach?

sobes.tech AI

Odpowiedź od AI

Aby tworzyć cechy oparte na trendzie i szczycie w metrykach, można zastosować następujące podejścia:

  1. Trend — odzwierciedla kierunek zmiany metryki w czasie. Aby go wyróżnić, można:
  • Obliczyć średnią ruchomą lub wygładzanie wykładnicze, aby wygładzić szum.
  • Obliczyć współczynnik nachylenia regresji liniowej na wartościach metryki w określonym okresie — będzie to cecha trendu.
  • Używać różnic między kolejnymi wartościami lub procentowych zmian.
  1. Szczyt — punkt maksimum lub minimum w metryce, wskazujący na szczytową wartość:
  • Zidentyfikować lokalne maksima/minima za pomocą algorytmów wyszukiwania ekstremów.
  • Utworzyć binarną cechę wskazującą, czy bieżący punkt jest szczytem.
  • Obliczyć odległość czasową lub wartość od najbliższego szczytu.

Przykład w Pythonie do obliczania trendu i szczytu:

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)  # regresja liniowa
    return coeffs[0]  # nachylenie trendu

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 (nachylenie): {trend}")
print(f"Indeksy szczytów: {peaks}")

W ten sposób cechy trendu i szczytu pomagają modelowi uwzględnić dynamikę zmian metryk, co poprawia jakość prognoz.