5 Trend funkcijas

Trend funkcijas, atšķirībā no vēstures funkcijām, aprēķinos izmanto trend datus.

Trend dati glabā stundu agregētās vērtības. Trend funkcijas izmanto šos stundu vidējos rādītājus, tāpēc tās ir noderīgas ilgtermiņa analīzei.

Trend funkciju rezultāti tiek kešoti, tāpēc vairāki izsaukumi tai pašai funkcijai ar vienādiem parametriem informāciju no datubāzes iegūst tikai vienu reizi. Trend funkciju kešatmiņu kontrolē servera parametrs TrendFunctionCacheSize.

Trigeri, kas atsaucas tikai uz trend funkcijām, tiek izvērtēti vienu reizi katrā mazākajā laika periodā izteiksmē. Piemēram, trigeris kā

trendavg(/host/key,1d:now/d) > 1 or trendavg(/host/key2,1w:now/w) > 2

tiks izvērtēts vienu reizi dienā. Ja trigeris satur gan trend, gan vēstures (vai datuma un laika un/vai nodata()) funkcijas, tas tiek aprēķināts saskaņā ar parastajiem principiem.

Visas šeit uzskaitītās funkcijas tiek atbalstītas:

Funkcijas ir uzskaitītas bez papildu informācijas. Noklikšķiniet uz funkcijas, lai skatītu pilnu informāciju.

Function Description
baselinedev Atgriež noviržu skaitu (izmantojot stddevpop algoritmu) starp pēdējo datu periodu un tiem pašiem datu periodiem iepriekšējās sezonās.
baselinewma Aprēķina bāzlīniju, vidējo vērtību iegūstot no tā paša laika perioda vairākos vienādos laika periodos ("sezonās"), izmantojot svērtā slīdošā vidējā algoritmu.
trendavg Trend vērtību vidējā vērtība noteiktajā laika periodā.
trendcount Veiksmīgi izgūto vēstures vērtību skaits, kas izmantots trend vērtības aprēķināšanai noteiktajā laika periodā.
trendmax Trend vērtību maksimums noteiktajā laika periodā.
trendmin Trend vērtību minimums noteiktajā laika periodā.
trendstl Atgriež anomāliju biežumu noteikšanas periodā - decimālvērtību no 0 līdz 1, kas ir ((anomālo vērtību skaits)/(kopējais vērtību skaits)).
trendsum Trend vērtību summa noteiktajā laika periodā.
Bieži izmantotie parametri
  • /host/key ir bieži izmantots obligātais pirmais parametrs
  • time period:time shift ir bieži izmantots otrais parametrs, kur:
    • time period - laika periods (minimums '1h'), definēts kā <N><time unit>, kur N - laika vienību skaits, time unit - h (stunda), d (diena), w (nedēļa), M (mēnesis) vai y (gads).
    • time shift - laika perioda nobīde (skatiet funkciju piemērus)

Funkciju informācija

Dažas vispārīgas piezīmes par funkciju parametriem:

  • Funkciju parametrus atdala ar komatu
  • Neobligātie funkciju parametri (vai parametru daļas) ir norādīti ar < >
  • Katras funkcijas specifiskie parametri ir aprakstīti pie attiecīgās funkcijas
  • Parametri /hosts/key un time period:time shift nekad nedrīkst būt pēdiņās
baselinedev(/host/key,data period:time shift,season unit,num seasons)

Atgriež noviržu skaitu (pēc stddevpop algoritma) starp pēdējo datu periodu un tiem pašiem datu periodiem iepriekšējās sezonās.

Parametri:

  • Skatiet kopīgos parametrus
  • data period - datu apkopošanas periods sezonas ietvaros, definēts kā <N><time unit>, kur:
    N - laika vienību skaits
    time unit - h (stunda), d (diena), w (nedēļa), M (mēnesis) vai y (gads), jābūt vienādam ar sezonu vai mazākam par to
  • season unit - kalendārā vienība, kas definē vienu sezonu (h, d, w, M, y); nevar būt mazāka par data period
  • num seasons - novērtējamo sezonu skaits

Piemēri:

baselinedev(/host/key,1d:now/d,"M",6) #aprēķina populācijas standartnoviržu skaitu starp iepriekšējo dienu un to pašu dienu iepriekšējos 6 mēnešos. Ja datums iepriekšējā mēnesī nepastāv, tiks izmantota mēneša pēdējā diena (31. jūlijs tiks analizēts attiecībā pret 31. janvāri, 28. februāri, ... 30. jūniju)
baselinedev(/host/key,1h:now/h,"d",10)  #aprēķina populācijas standartnoviržu skaitu starp iepriekšējo stundu un to pašu diennakts stundu 10 iepriekšējās dienās
baselinewma(/host/key,data period:time shift,season unit,num seasons)

Aprēķina bāzlīniju, vidējojot datus no viena un tā paša laika intervāla vairākos vienādos laika periodos ("sezonās"), izmantojot svērto slīdošā vidējā algoritmu.

Parametri:

  • Skatiet kopīgos parametrus
  • data period - datu apkopošanas periods sezonas ietvaros, definēts kā <N><time unit>, kur:
    N - laika vienību skaits
    time unit - h (stunda), d (diena), w (nedēļa), M (mēnesis) vai y (gads), jābūt vienādam ar sezonu vai mazākam par to
    Time shift - laika perioda nobīde, nosaka datu apkopošanas laika intervāla beigas sezonās (skatiet piemērus)
  • season unit - kalendārā vienība, kas definē vienu sezonu (h, d, w, M, y); nevar būt mazāka par data period
  • num seasons - novērtējamo sezonu skaits

Piemēri:

baselinewma(/host/key,1h:now/h,"d",3) #bāzlīnijas aprēķināšana no tās pašas diennakts stundas pēdējās 3 pilnajās dienās, kas beidzas vakar. Ja "now" ir pirmdiena 13:30, tiks analizēti dati par 12:00-12:59 piektdienā, sestdienā un svētdienā
baselinewma(/host/key,2h:now/h,"d",3) #bāzlīnijas aprēķināšana no tā paša divu stundu intervāla pēdējās 3 pilnajās dienās, kas beidzas vakar. Ja "now" ir pirmdiena 13:30, tiks analizēti dati par 11:00-12:59 piektdienā, sestdienā un svētdienā
baselinewma(/host/key,1d:now/d,"M",4) #bāzlīnijas aprēķināšana no tās pašas mēneša dienas kā "vakar" 4 mēnešos pirms pēdējā pilnā mēneša. Ja nepieciešamais datums neeksistē, tiek izmantota mēneša pēdējā diena. Ja šodien ir 1. septembris, tiks analizēti dati par 31. jūliju, 30. jūniju, 31. maiju un 30. aprīli.
trendavg(/host/key,time period:time shift)

Tendenču vērtību vidējā vērtība noteiktajā laika periodā.

Parametri:

Piemēri:

trendavg(/host/key,1h:now/h) #vidējā vērtība iepriekšējai stundai (piem., 12:00-13:00)
trendavg(/host/key,1h:now/h-1h) #vidējā vērtība pirms divām stundām (11:00-12:00)
trendavg(/host/key,1h:now/h-2h) #vidējā vērtība pirms trim stundām (10:00-11:00)
trendavg(/host/key,1M:now/M-1y) #vidējā vērtība iepriekšējam mēnesim pirms gada
trendcount(/host/key,time period:time shift)

Veiksmīgi izgūto vēstures vērtību skaits, kas izmantots, lai aprēķinātu trenda vērtību noteiktajā laika periodā.

Parametri:

Piemēri:

trendcount(/host/key,1h:now/h) #vērtību skaits iepriekšējai stundai (piem., 12:00-13:00)
trendcount(/host/key,1h:now/h-1h) #vērtību skaits pirms divām stundām (11:00-12:00)
trendcount(/host/key,1h:now/h-2h) #vērtību skaits pirms trim stundām (10:00-11:00)
trendcount(/host/key,1M:now/M-1y) #vērtību skaits iepriekšējam mēnesim pirms gada
trendmax(/host/key,time period:time shift)

Maksimālā vērtība tendenču vērtībās norādītajā laika periodā.

Parametri:

Piemēri:

trendmax(/host/key,1h:now/h) #maksimālā vērtība iepriekšējai stundai (piemēram, 12:00-13:00)
trendmax(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → aprēķināt starpību starp maksimālo un minimālo vērtību (tendenču delta) iepriekšējai stundai (12:00-13:00)
trendmax(/host/key,1h:now/h-1h) #maksimālā vērtība pirms divām stundām (11:00-12:00)
trendmax(/host/key,1h:now/h-2h) #maksimālā vērtība pirms trim stundām (10:00-11:00)
trendmax(/host/key,1M:now/M-1y) #maksimālā vērtība iepriekšējam mēnesim pirms gada
trendmin(/host/key,time period:time shift)

Minimums trenda vērtībās noteiktajā laika periodā.

Parametri:

Piemēri:

trendmin(/host/key,1h:now/h) #minimums iepriekšējai stundai (piemēram, 12:00-13:00)
trendmax(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → aprēķināt starpību starp maksimālo un minimālo vērtību (trenda delta) iepriekšējai stundai (12:00-13:00)
trendmin(/host/key,1h:now/h-1h) #minimums pirms divām stundām (11:00-12:00)
trendmin(/host/key,1h:now/h-2h) #minimums pirms trim stundām (10:00-11:00)
trendmin(/host/key,1M:now/M-1y) #minimums iepriekšējam mēnesim pirms gada
trendstl(/host/key,eval period:time shift,detection period,season,<deviations>,<devalg>,<s window>)

Atgriež anomāliju biežumu noteikšanas periodā — decimālvērtību no 0 līdz 1, kas ir ((anomāliju vērtību skaits)/(kopējais vērtību skaits)).

Parametri:

  • Skatiet kopīgos parametrus
  • eval period — laika periods, kas jāsadala komponentēs (minimums '1h'), definēts kā <N><time unit>, kur
    N — laika vienību skaits
    time unit — h (stunda), d (diena), w (nedēļa), M (mēnesis) vai y (gads)
  • detection period — laika periods pirms eval period beigām, kuram tiek aprēķinātas anomālijas (minimums '1h', nevar būt garāks par eval period), definēts kā <N><time unit>, kur
    N — laika vienību skaits
    time unit — h (stunda), d (diena), w (nedēļa)
  • season — īsākais laika periods, kurā ir sagaidāms atkārtojošs modelis ("sezona") (minimums '2h', nevar būt garāks par eval period, ierakstu skaitam eval period jābūt lielākam par divkāršu iegūtās frekvences vērtību (season/h)), definēts kā <N><time unit>, kur
    N — laika vienību skaits
    time unit — h (stunda), d (diena), w (nedēļa)
  • deviations — noviržu skaits (aprēķināts ar devalg), ko uzskatīt par anomāliju (var būt decimāldaļa), (jābūt lielākam vai vienādam ar 1, noklusējuma vērtība ir 3)
  • devalg (jābūt dubultpēdiņās) — novirzes algoritms; var būt stddevpop, stddevsamp vai mad (noklusējums)
  • s window — loess loga diapazons (lagos) sezonālās komponentes iegūšanai (noklusējuma vērtība ir 10 * ierakstu skaits eval period + 1)

Piemēri:

trendstl(/host/key,100h:now/h,10h,2h) #analizē pēdējās 100 trendu datu stundas, nosaka anomāliju biežumu šī perioda pēdējām 10 stundām, pieņemot, ka periodiskums ir 2h; atlikuma rindas vērtības novērtēšanas periodā tiek uzskatītas par anomālijām, ja tās sasniedz 3 MAD noviržu vērtību šai atlikuma rindai
trendstl(/host/key,100h:now/h-10h,100h,2h,2.1,"mad") #analizē 100 stundu trendu datu periodu līdz 10 stundām pagātnē, nosaka anomāliju biežumu visam šim periodam, pieņemot, ka periodiskums ir 2h; atlikuma rindas vērtības novērtēšanas periodā tiek uzskatītas par anomālijām, ja tās sasniedz 2,1 MAD noviržu vērtību šai atlikuma rindai
trendstl(/host/key,100d:now/d-1d,10d,1d,4,,10) #analizē 100 dienu trendu datus līdz vienai dienai pagātnē, nosaka anomāliju biežumu šī perioda pēdējo 10d intervālam, pieņemot, ka periodiskums ir 1d; atlikuma rindas vērtības novērtēšanas periodā tiek uzskatītas par anomālijām, ja tās sasniedz 4 MAD noviržu vērtību šai atlikuma rindai, aizstājot sezonālās komponentes iegūšanai paredzēto loess loga noklusējuma diapazonu "10 * number of entries in eval period + 1" ar 10 lagu diapazonu
trendstl(/host/key,1M:now/M-1y,1d,2h,,"stddevsamp") #analizē iepriekšējo mēnesi pirms gada, nosaka anomāliju biežumu šī perioda pēdējai dienai, pieņemot, ka periodiskums ir 2h; atlikuma rindas vērtības novērtēšanas periodā tiek uzskatītas par anomālijām, ja tās sasniedz 3 izlases standartnovirzes noviržu vērtību šai atlikuma rindai
trendsum(/host/key,time period:time shift)

Tendenču vērtību summa noteiktajā laika periodā.

Parametri:

Piemēri:

trendsum(/host/key,1h:now/h) #summa iepriekšējai stundai (piemēram, 12:00-13:00)
trendsum(/host/key,1h:now/h-1h) #summa periodam pirms divām stundām (11:00-12:00)
trendsum(/host/key,1h:now/h-2h) #summa periodam pirms trim stundām (10:00-11:00)
trendsum(/host/key,1M:now/M-1y) #summa iepriekšējam mēnesim pirms gada

Skatiet visas atbalstītās funkcijas.