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
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. |
/host/key
is een gemeenschappelijke verplichte eerste parametertijdsperiode:tijdverschuiving
is een gemeenschappelijke tweede parameter, waarbij:
N
- het aantal tijdeenheden, tijdeenheid
- h (uur), d (dag), w (week), M (maand) of y (jaar).Enkele algemene opmerkingen over functieparameters:
<
>
/host/key
en tijdsperiode:tijdverschuiving
mogen nooit tussen aanhalingstekens worden geplaatstGeeft het aantal afwijkingen (volgens het stddevpop-algoritme) tussen de laatste dataperiode en dezelfde dataperiodes in voorgaande seizoenen.
Parameters:
N
- het aantal tijdeenhedentijdeenheid
- h (uur), d (dag), w (week), M (maand) of y (jaar), moet gelijk zijn aan of kleiner zijn dan seizoenVoorbeelden:
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
Berekent de basislijn door gegevens uit dezelfde tijdsperiode in meerdere gelijke tijdsperioden ('seizoenen') te middelen met behulp van het gewogen voortschrijdend gemiddelde-algoritme.
Parameters:
N
- het aantal tijdeenhedentijdeenheid
- h (uur), d (dag), w (week), M (maand) of y (jaar), moet gelijk zijn aan of kleiner zijn dan seizoenVoorbeelden:
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.
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
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
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
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
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:
N
- het aantal tijdeenheidtijdeenheid
- h (uur), d (dag), w (week), M (maand) of j (jaar)N
- het aantal tijdeenheidtijdeenheid
- h (uur), d (dag), w (week)N
- het aantal tijdeenheidtijdeenheid
- h (uur), d (dag), w (week)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
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