This is a translation of the original English documentation page. Help us make it better.

5 Trendfuncties

Trendfuncties gebruiken in tegenstelling tot geschiedenisfuncties trend gegevens voor berekeningen.

Trends slaan uurgegevens op. Trendfuncties gebruiken deze uurgemiddelden en zijn dus nuttig voor langetermijnanalyse.

De resultaten van trendfuncties worden gecachet, dus meerdere oproepen naar dezelfde functie met dezelfde parameters halen informatie slechts één keer uit de database. De trendfunctiecache wordt beheerd door de TrendCacheSize serverparameter.

Triggers die alleen trendfuncties bevatten, worden geëvalueerd per de kleinste tijdsperiode in de uitdrukking. Bijvoorbeeld, een trigger zoals

trendavg(/host/key,1d:nu/d) > 1 of trendavg(/host/key2,1w:nu/w) > 2

zal eens per dag worden geëvalueerd. Als de trigger zowel trend- als geschiedenis- (of op tijd gebaseerde) functies bevat, wordt deze berekend volgens de gebruikelijke principes.

Alle hier vermelde functies worden ondersteund in:

De functies worden vermeld zonder aanvullende informatie. Klik op de functie om de volledige details te zien.

Functie Beschrijving
baselinedev Geeft het aantal afwijkingen (volgens het stddevpop-algoritme) tussen de laatste dataperiode en dezelfde dataperiodes in voorgaande seizoenen.
baselinewma Berekent de basislijn door gegevens uit dezelfde tijdsperiode in meerdere gelijke tijdsperioden ('seizoenen') te middelen met behulp van het gewogen voortschrijdend gemiddelde-algoritme.
trendavg Het gemiddelde van trendwaarden binnen de gedefinieerde tijdsperiode.
trendcount Het aantal succesvol opgehaalde trendwaarden binnen de gedefinieerde tijdsperiode.
trendmax Het maximum van trendwaarden binnen de gedefinieerde tijdsperiode.
trendmin Het minimum van trendwaarden binnen de gedefinieerde tijdsperiode.
trendstl Geeft het percentage afwijkingen tijdens de detectieperiode terug - een decimaal getal tussen 0 en 1 dat ((het aantal anomaliewaarden)/(totaal aantal waarden)) is.
trendsum De som van trendwaarden binnen de gedefinieerde tijdsperiode.
Gemeenschappelijke parameters
  • /host/key is een gemeenschappelijke verplichte eerste parameter
  • tijdsperiode:tijdverschuiving is een gemeenschappelijke tweede parameter, waarbij:
    • tijdsperiode - de tijdsperiode (minimaal '1u'), gedefinieerd als <N><tijdeenheid> waarbij N - het aantal tijdeenheden, tijdeenheid - h (uur), d (dag), w (week), M (maand) of y (jaar).
    • tijdverschuiving - de tijdsperiode verschuiving (zie voorbeelden van functies)

Functie details

Enkele algemene opmerkingen over functieparameters:

  • Functieparameters worden gescheiden door een komma
  • Optionele functieparameters (of parameterdelen) worden aangegeven door < >
  • Functie-specifieke parameters worden beschreven bij elke functie
  • Parameters /host/key en tijdsperiode:tijdverschuiving mogen nooit tussen aanhalingstekens worden geplaatst
baselinedev(/host/key,dataperiode:tijdverschuiving,seizoenseenheid,aantal seizoenen)

Geeft het aantal afwijkingen (volgens het stddevpop-algoritme) tussen de laatste dataperiode en dezelfde dataperiodes in voorgaande seizoenen.

Parameters:

  • Zie gemeenschappelijke parameters;
  • dataperiode - de periode van gegevensverzameling binnen een seizoen, gedefinieerd als <N><tijdeenheid> waar:
    N - het aantal tijdeenheden
    tijdeenheid - h (uur), d (dag), w (week), M (maand) of y (jaar), moet gelijk zijn aan of kleiner zijn dan seizoen
  • seizoenseenheid - de duur van één seizoen (h, d, w, M, y), mag niet kleiner zijn dan dataperiode;
  • aantal seizoenen - het aantal seizoenen om te evalueren.

Voorbeelden:

baselinedev(/host/key,1d:nu/d,"M",6) #bereken het aantal standaarddeviaties (bevolking) tussen de vorige dag en dezelfde dag in de voorgaande 6 maanden. Als de datum niet bestaat in een vorige maand, wordt de laatste dag van de maand gebruikt (Jul,31 zal worden geanalyseerd tegenover Jan,31, Feb, 28,... June, 30)
       baselinedev(/host/key,1u:nu/u,"d",10)  #bereken het aantal standaarddeviaties (bevolking) tussen het vorige uur en dezelfde uren over een periode van tien dagen voor gisteren
baselinewma(/host/key,dataperiode:tijdverschuiving,seizoenseenheid,aantal seizoenen)

Berekent de basislijn door gegevens uit dezelfde tijdsperiode in meerdere gelijke tijdsperioden ('seizoenen') te middelen met behulp van het gewogen voortschrijdend gemiddelde-algoritme.

Parameters:

  • Zie gemeenschappelijke parameters;
  • dataperiode - de periode van gegevensverzameling binnen een seizoen, gedefinieerd als <N><tijdeenheid> waar:
    N - het aantal tijdeenheden
    tijdeenheid - h (uur), d (dag), w (week), M (maand) of y (jaar), moet gelijk zijn aan of kleiner zijn dan seizoen
    Tijdverschuiving - de tijdsperiode verschuiving, definieert het einde van de tijdsperiode voor het verzamelen van gegevens in seizoenen (zie voorbeelden);
  • seizoenseenheid - de duur van één seizoen (h, d, w, M, y), mag niet kleiner zijn dan dataperiode;
  • aantal seizoenen - het aantal seizoenen om te evalueren.

Voorbeelden:

baselinewma(/host/key,1u:nu/u,"d",3) #bereken de basislijn op basis van het laatste volledige uur binnen een periode van 3 dagen die gisteren eindigde. Als "nu" maandag 13:30 is, worden de gegevens voor 12:00-12:59 op vrijdag, zaterdag en zondag geanalyseerd
       baselinewma(/host/key,2u:nu/u,"d",3) #bereken de basislijn op basis van de laatste twee uur binnen een periode van 3 dagen die gisteren eindigde. Als "nu" maandag 13:30 is, worden de gegevens voor 11:00-12:59 op vrijdag, zaterdag en zondag geanalyseerd
       baselinewma(/host/key,1d:nu/d,"M",4) #bereken de basislijn op basis van dezelfde dag van de maand als 'gisteren' in de 4 maanden voorafgaand aan de laatste volledige maand. Als de vereiste datum niet bestaat, wordt de laatste dag van de maand genomen. Als het vandaag 1 september is, worden de gegevens voor 31 juli, 30 juni, 31 mei, 30 april geanalyseerd.
trendavg(/host/sleutel,tijdsperiode:tijdverschuiving)

Het gemiddelde van trendwaarden binnen de gedefinieerde tijdsperiode.

Parameters:

Voorbeelden:

trendavg(/host/key,1u:nu/u) #het gemiddelde voor het vorige uur (bijv. 12:00-13:00)
       trendavg(/host/key,1u:nu/u-1u) #het gemiddelde voor twee uur geleden (11:00-12:00)
       trendavg(/host/key,1u:nu/u-2u) #het gemiddelde voor drie uur geleden (10:00-11:00)
       trendavg(/host/key,1M:nu/M-1j) #het gemiddelde voor de vorige maand van een jaar geleden
trendcount(/host/key,tijdsperiode:tijdverschuiving)

Het aantal succesvol opgehaalde trendwaarden binnen de gedefinieerde tijdsperiode.

Parameters:

Voorbeelden:

trendcount(/host/key,1u:nu/u) #het aantal waarden voor het vorige uur (bijv. 12:00-13:00)
       trendcount(/host/key,1u:nu/u-1u) #het aantal waarden voor twee uur geleden (11:00-12:00)
       trendcount(/host/key,1u:nu/u-2u) #het aantal waarden voor drie uur geleden (10:00-11:00)
       trendcount(/host/key,1M:nu/M-1j) #het aantal waarden voor de vorige maand van een jaar geleden
trendmax(/host/key,tijdsperiode:tijdverschuiving)

Het maximum van trendwaarden binnen de gedefinieerde tijdsperiode.

Parameters:

Voorbeelden:

trendmax(/host/key,1u:nu/u) #het maximum voor het vorige uur (bijv. 12:00-13:00)
       trendmax(/host/key,1u:nu/u) - trendmin(/host/sleutel,1u:nu/u) → bereken het verschil tussen het maximum- en minimumwaarden (trendverschil) voor het vorige uur (12:00-13:00)
       trendmax(/host/key,1u:nu/u-1u) #het maximum voor twee uur geleden (11:00-12:00)
       trendmax(/host/key,1u:nu/u-2u) #het maximum voor drie uur geleden (10:00-11:00)
       trendmax(/host/key,1M:nu/M-1j) #het maximum voor de vorige maand van een jaar geleden
trendmin(/host/key,tijdsperiode:tijdverschuiving)

Het minimum van trendwaarden binnen de gedefinieerde tijdsperiode.

Parameters:

Voorbeelden:

trendmin(/host/key,1u:nu/u) #het minimum voor het vorige uur (bijv. 12:00-13:00)
       trendmax(/host/key,1u:nu/u) - trendmin(/host/sleutel,1u:nu/u) → bereken het verschil tussen het maximum- en minimumwaarden (trendverschil) voor het vorige uur (12:00-13:00)
       trendmin(/host/key,1u:nu/u-1u) #het minimum voor twee uur geleden (11:00-12:00)
       trendmin(/host/key,1u:nu/u-2u) #het minimum voor drie uur geleden (10:00-11:00)
       trendmin(/host/key,1M:nu/M-1j) #het minimum voor de vorige maand van een jaar geleden
trendstl(/host/key,evaluatieperiode:tijdverschuiving,detectieperiode,seizoen,<afwijkingen>,<afwalg>,<s-venster>)

Geeft het percentage anomalieën weer gedurende de detectieperiode - een decimale waarde tussen 0 en 1 die wordt berekend als ((het aantal anomaliewaarden)/(totaal aantal waarden)).

Parameters:

  • Zie gemeenschappelijke parameters;
  • evaluatieperiode - de tijdsperiode die moet worden ontleed (minimaal '1u'), gedefinieerd als <N><tijdeenheid> waar
    N - het aantal tijdeenheid
    tijdeenheid - h (uur), d (dag), w (week), M (maand) of j (jaar)
  • detectieperiode - de tijdsperiode voor het einde van de evaluatieperiode waarin anomalieën worden berekend (minimaal '1u', mag niet langer zijn dan de evaluatieperiode), gedefinieerd als <N><tijdeenheid> waar
    N - het aantal tijdeenheid
    tijdeenheid - h (uur), d (dag), w (week)
  • seizoen - de kortste tijdsperiode waarin een herhalend patroon ("seizoen") wordt verwacht (minimaal '2u', mag niet langer zijn dan de evaluatieperiode, het aantal vermeldingen in de evaluatieperiode moet groter zijn dan tweemaal de resulterende frequentie (seizoen/h)), gedefinieerd als <N><tijdeenheid> waar
    N - het aantal tijdeenheid
    tijdeenheid - h (uur), d (dag), w (week)
  • afwijkingen - het aantal afwijkingen (berekend door afwalg) dat als anomalie moet worden geteld (kan decimaal zijn), (moet groter zijn dan of gelijk zijn aan 1, standaard is 3);
  • afwalg (moet tussen dubbele aanhalingstekens) - het afwijkingalgoritme, kan stddevpop, stddevsamp of mad (standaard) zijn;
  • s-venster - de spanwijdte (in vertragingen) van het loess-venster voor seizoensextractie (standaard is 10 * aantal vermeldingen in evaluatieperiode + 1)

Voorbeelden:

trendstl(/host/key,100u:nu/u,10u,2u) #analyseer de laatste 100 uur aan trendgegevens, vind het percentage anomalieën voor de laatste 10 uur van die periode, verwacht dat de periodiciteit 2u is, de restwaarden van de evaluatieperiode worden beschouwd als anomalieën als ze de waarde van 3 afwijkingen van de MAD van die restwaarden bereiken
       trendstl(/host/key,100u:nu/u-10u,100u,2u,2.1,"mad") #analyseer de periode van 100 uur aan trendgegevens, tot 10 uur geleden, vind het percentage anomalieën voor die hele periode, verwacht dat de periodiciteit 2u is, de restwaarden van de evaluatieperiode worden beschouwd als anomalieën als ze de waarde van 2,1 afwijkingen van de MAD van die restwaarden bereiken
       trendstl(/host/key,100d:nu/d-1d,10d,1d,4,,10) #analyseer 100 dagen aan trendgegevens tot een dag geleden, vind het percentage anomalieën voor de periode van de laatste 10 dagen van die periode, verwacht dat de periodiciteit 1d is, de restwaarden van de evaluatieperiode worden beschouwd als anomalieën als ze de waarde van 4 afwijkingen van de MAD van die restwaarden bereiken, overschrijft de standaardspanwijdte van het loess-venster voor seizoensextractie van "10 * aantal vermeldingen in evaluatieperiode + 1" met de spanwijdte van 10 vertragingen
       trendstl(/host/key,1M:nu/M-1j,1d,2u,,"stddevsamp") #analyseer de vorige maand een jaar geleden, vind het percentage anomalieën voor de laatste dag van die periode, verwacht dat de periodiciteit 2u is, de restwaarden van de evaluatieperiode worden beschouwd als anomalieën als ze de waarde van 3 afwijking van de steekproefstandaarddeviatie van die restwaarden bereiken
trendsum(/host/key,tijdsperiode:tijdverschuiving)

De som van trendwaarden binnen de gedefinieerde tijdsperiode.

Parameters:

Voorbeelden:

trendsum(/host/key,1u:nu/u) #de som voor het vorige uur (bijv. 12:00-13:00)
       trendsum(/host/key,1u:nu/u-1u) #de som voor twee uur geleden (11:00-12:00)
       trendsum(/host/key,1u:nu/u-2u) #de som voor drie uur geleden (10:00-11:00)
       trendsum(/host/key,1M:nu/M-1j) #de som voor de vorige maand van een jaar geleden

Zie alle ondersteunde functies.