Sobes.tech
Middle

Kaip sukurti modelio požymius, pagrįstus tendencija ir kulminacija metrikose?

sobes.tech AI

Atsakymas iš AI

Siekiant sukurti savybes, pagrįstas tendencija ir viršūne metrikose, galima naudoti šiuos požiūrius:

  1. Tendencija — atspindi metrikos pokyčių kryptį laikui bėgant. Norint ją išryškinti, galima:
  • Apskaičiuoti slankųjį vidurkį arba eksponentinį glotninimą, kad sumažintumėte triukšmą.
  • Apskaičiuoti tiesinės regresijos nuolydžio koeficientą tam tikru laikotarpiu — tai bus tendencijos savybė.
  • Naudoti sekvesnius reikšmių skirtumus arba procentines pokyčius.
  1. Viršūnė — maksimali arba minimali reikšmė metrikos taške, rodanti viršūnės reikšmę:
  • Identifikuoti lokalinius maksimumus/minimumus naudodami ekstremumų paieškos algoritmus.
  • Sukurti dvejetainę savybę, kuri nurodo, ar dabartinis taškas yra viršūnė.
  • Apskaičiuoti laiką arba reikšmę iki artimiausios viršūnės.

Python pavyzdys, kaip apskaičiuoti tendenciją ir viršūnę:

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)  # tiesinė regresija
    return coeffs[0]  # tendencijos nuolydis

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"Tendencija (nuolydis): {trend}")
print(f"Viršūnių indeksai: {peaks}")

Šiuo būdu, tendencijos ir viršūnės savybės padeda modeliui atsižvelgti į metrikų pokyčių dinamiką, kas pagerina prognozių kokybę.