5 Funcions de tendència

Les funcions de tendència, a diferència de les funcions d'històric, empren dades de tendències per als càlculs.

Les tendències emmagatzemen valors afegits per hora. Les funcions de tendència empren aquestes mitjanes horàries i, per tant, són útils per anàlisi a llarg termini.

Els resultats de la funció de tendència s'emmagatzemen a la memòria cau, de manera que diverses crides a la mateixa funció amb els mateixos paràmetres obtindran informació de la base de dades només un cop. La memòria cau de la funció de tendència és controlada per el paràmetre del servidor TrendFunctionCacheSize.

Els triggers que fan referència a les funcions de tendència només s'avaluen una vegada per període de temps més petit a l'expressió. Per exemple, un trigger com ara

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

s'avaluarà un cop al dia. Si el trigger conté funcions de tendència i d'historial (o basades en funcions de data i hora i/o nodata()), es calcula segons els principis habituals.

Totes les funcions listades aquí són compatibles amb:

Les funcions es llisten sense informació addicional. Feu clic a la funció per veure'n tots els detalls.

Funció Descripció
baselinedev Retorna el nombre de desviacions (per algorisme stddevpop) entre el darrer període de dades i els mateixos períodes de dades de les temporades anteriors.
baselinewma Calcula la línia de base fent la mitjana de les dades del mateix període de temps en diversos períodes de temps iguals ('temporades') mitjançant l'algorisme de mitjana mòbil ponderada.
trendavg Mitjana dels valors de tendència dins del període de temps definit.
trendcount Nombre de valors de l'historial recuperats correctament emprats per calcular el valor de tendència dins del període de temps definit.
trendmax Màxim dels valors de tendència dins del període de temps definit.
trendmin Mínim en valors de tendència dins del període de temps definit.
trendstl Retorna la taxa d'anomalies durant el període de detecció: un valor decimal entre 0 i 1 que és ((el nombre de valors d'anomalia)/(nombre total de valors)).
trendsum Suma dels valors de tendència dins del període de temps definit.
Paràmetres comuns
  • /host/key és un primer paràmetre obligatori comú
  • time period:time shift és un segon paràmetre comú, on:
    • time period - el perí de temps (mínim '1h'), definit com a <N><unitat de temps> o N - el nombre d'unitats de temps, unitat de temps - h (hora), d (dia), w (setmana), M (mes) o y (any).
    • time shift - retards horaris (veieu exemples de funcions)

Detalls de la funció

Algunes notes generals sobre paràmetres de funció:

  • Els paràmetres de funció són separats per una coma
  • Els paràmetres de funció opcionals (o parts de paràmetres) s'indiquen amb < >
  • Els paràmetres específics de la funció es descriuen amb cada funció
  • Els paràmetres /host/key i time period:time shift no s'han de citar mai entre cometes
baselinedev(/host/key,data period:time shift,season unit,num seasons)

Retorna el nombre de desviacions (per algorisme stddevpop) entre el darrer període de dades i els mateixos períodes de dades de les temporades anteriors.

Paràmetres:

  • Veieu paràmetres comuns;
  • període de dades - període de recollida de dades dins d'una temporada, definit com a <N><unitat de temps> on:
    N - nombre d'unitats de temps
    unitat de temps - h (hora), d (dia), w (setmana), M (mes) o y (any), han de ser iguals o inferiors a la temporada
  • unitat de temporada - durada d'una temporada (h, d, w, M, y), no pot ser inferior al període de dades;
  • nombre estacions - nombre de temporades a avaluar.

Exemples:

 baselinedev(/host/key,1d:now/d,"M",6) #càlcul del nombre de desviacions estàndard (població) entre el dia anterior i el mateix dia dels 6 mesos anteriors. Si la data no existeix en un mes anterior, s'emprarà el darrer dia del mes (s'analitzarà el 31 de juliol amb el 31 de gener, el 28 de febrer,... el 30 de juny)
        baselinedev(/host/key,1h:now/h,"d",10) #càlcul del nombre de desviacions estàndard (població) entre l'hora anterior i les mateixes hores durant el període de deu dies abans d'ahir
baselinewma(/host/key,data period:time shift,season unit,num seasons)

Calcula la línia de base fent la mitjana de les dades del mateix període de temps en diversos períodes de temps iguals ("temporades") mitjançant l'algorisme de mitjana mòbil ponderada.

Paràmetres:

  • Veieu paràmetres comuns;
  • període de dades - període de recollida de dades dins d'una temporada, definit com a <N><unitat de temps> on:
    N - nombre d'unitats de temps
    unitat de temps - h (hora), d (dia), w (setmana), M (mes) o y (any), han de ser iguals o inferiors a la temporada
    Canvi temporal - la compensació del període de temps, defineix el final del període de recollida de dades a estacions (veIeu exemples);
  • unitat de temporada - la durada d'una temporada (h, d, w, M, y), no pot ser inferior al període de dades;
  • nombre estacions - el nombre de temporades a avaluar.

Exemples:

 baselinewma(/host/key,1h:now/h,"d",3) #càlcul de la línia de base a partir de l'última hora completa d'un període de 3 dies que va acabar ahir. Si "ara" és dilluns a les 13:30, s'analitzaran les dades de 12:00 a 12:59 divendres, dissabte i diumenge
        baselinewma(/host/key,2h:now/h,"d",3) #càlcul de la línia de base a partir de les dues últimes hores en un període de 3 dies que va acabar ahir. Si "ara" és dilluns a les 13:30, s'analitzaran les dades d'11:00 a 12:59 divendres, dissabte i diumenge
        baselinewma(/host/key,1d:now/d,"M",4) #càlcul de la línia de base en funció del mateix dia del mes que 'ahir' durant els 4 mesos anteriors a el darrer mes complet. Si la data requerida no existeix, es pren el darrer dia del mes. Si avui és 1 de setembre, s'analitzaran les dades del 31 de juliol, 30 de juny, 31 de maig i 30 d'abril.
trendavg(/host/key,time period:time shift)

Mitjana dels valors de tendència dins del període de temps definit.

Paràmetres:

Exemples:

 trendavg(/host/key,1h:now/h) #mitjana de l'hora anterior (p. ex., 12:00-13:00)
        trendavg(/host/key,1h:now/h-1h) #mitjana de fa dues hores (11:00-12:00)
        trendavg(/host/key,1h:now/h-2h) #mitjana de fa tres hores (10:00-11:00)
        trendavg(/host/key,1M:now/M-1y) #mitjana del mes anterior fa un any
trendcount(/host/key,time period:time shift)

Nombre de valors de tendència recuperats correctament dins del període de temps definit.

Paràmetres:

Exemples:

 trendcount(/host/key,1h:now/h) #recompte de valors de l'hora anterior (p. ex., 12:00-13:00)
        trendcount(/host/key,1h:now/h-1h) #recompte de valors de fa dues hores (11:00-12:00)
        trendcount(/host/key,1h:now/h-2h) #recompte de valors de fa tres hores (10:00-11:00)
        trendcount(/host/key,1M:now/M-1y) #recompte de valors del mes anterior fa un any
trendmax(/host/key,time period:time shift)

Màxim de valors de tendència dins del període de temps definit.

Paràmetres:

Exemples:

 trendmax(/host/key,1h:now/h) #màxim de l'hora anterior (p. ex., 12:00-13:00)
        trendmax(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → calcula la diferència entre els valors màxim i mínim (delta de tendència) de l'hora anterior (12:00- 13:00)
        trendmax(/host/key,1h:now/h-1h) #màxim de fa dues hores (11:00-12:00)
        trendmax(/host/key,1h:now/h-2h) #màxim de fa tres hores (10:00-11:00)
        trendmax(/host/key,1M:now/M-1y) #màxim del mes anterior fa un any
trendmin(/host/key,time period:time shift)

Màxim de valors de tendència dins del període de temps definit.

Paràmetres:

Exemples:

 trendmin(/host/key,1h:now/h) #mínim de l'hora anterior (p. ex., 12:00-13:00)
        trendmin(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → calcula la diferència entre els valors màxim i mínim (delta de tendència) de l'hora anterior (12:00- 13:00)
        trendmin(/host/key,1h:now/h-1h) #mínim de fa dues hores (11:00-12:00)
        trendmin(/host/key,1h:now/h-2h) #mínim de fa tres hores (10:00-11:00)
        trendmin(/host/key,1M:now/M-1y) #mínim del mes anterior fa un any
trendstl(/host/key,eval period:time shift,detection period,season,<deviations>,<devalg>,<s window>)

Retorna la taxa d'anomalies durant el període de detecció: un valor decimal entre 0 i 1 que és ((el nombre de valors d'anomalia)/(nombre total de valors)).

Paràmetres:

  • Veieu paràmetres comuns;
  • període d'avaluació - el període de temps que s'ha de descompondre (mínim '1 h'), definit com a <N><unitat de temps> on
    N - el nombre d'unitats de temps
    unitat de temps - h (hora), d (dia), w (setmana), M (mes) o y (any)
  • període de detecció - el període de temps abans del final del període d'avaluació per al qual es calculen les anomalies (mínim '1 h', no pot ser superior al període d'avaluació), definit com a <N><unitat de temps> on
    N - el nombre d'unitats de temps
    unitat de temps - h (hora), d (dia), w (setmana)
  • temporada - el període de temps més curt on s'espera un patró repetitiu ("temporada") (mínim '2 h', no pot ser més llarg que el període d'avaluació, el nombre d'entrades en el període d'avaluació ha de ser superior a les dues vegades de la freqüència resultant (estació/h)), definida com a <N><unitat de temps> on
    N - el nombre d'unitats de temps
    unitat de temps - h (hora), d (dia) , w (setmana)
  • desviacions - el nombre de desviacions (calculades per devalg) per comptar com a anomalia (pot ser decimal), (ha de ser superior o igual a 1, per defecte és 3);
  • devalg (ha de ser entre cometes) - l'algoritme de desviació, pot ser stddevpop, stddevsamp o mad (per defecte);
  • finestra s - l'abast (endarrerit) de la finestra de loess per a l'extracció estacional (el valor per defecte és 10 * nombre d'entrades en el període d'avaluació + 1)

Exemples:

 trendstl(/host/key,100h:now/h,10h,2h) #analitzar les darreres 100 hores de dades de tendència, trobar la taxa d'anomalies de les darreres 10 hores d'aquest període, esperant que la periodicitat sigui de 2h, la sèrie restant els valors del període d'avaluació es consideren anomalies si arriben al valor de 3 desviacions del MAD d'aquesta sèrie restant.
        trendstl(/host/key,100h:now/h-10h,100h,2h,2.1,"mad") #analitzar el període de 100 hores de dades de tendència, fa fins a 10 hores, troba la taxa d'anomalies per a tot aquest període esperant que la periodicitat sigui de 2 h, els valors de sèries restants del període d'avaluació es consideren anomalies si arriben al valor de 2,1 desviacions del MAD d'aquesta sèrie restant.
        trendstl(/host/key,100d:now/d-1d,10d,1d,4,,10) #analitzar 100 dies de dades de tendència fins fa un dia, trobar la taxa d'anomalies per al període dels darrers 10d d'aquest període, esperant que la periodicitat sigui 1d, els valors de sèries restants del període d'avaluació es consideren anomalies si arriben al valor de 4 desviacions del MAD d'aquesta sèrie restant, anul·lant l'abast predeterminat de la finestra de loess per a l'extracció estacional de "10 * nombre d'entrades en el període d'avaluació + 1" amb un interval de 10 retards
        trendstl(/host/key,1M:now/M-1y,1d,2h,,"stddevsamp") #analitzar el mes anterior fa un any, trobar la taxa d'anomalies del darrer dia d'aquest període esperant que la periodicitat sigui de 2 h , els valors de sèries restants del període d'avaluació es consideren anomalies si arriben al valor de 3 desviació de la desviació estàndard mostral d'aquesta sèrie restant.
trendsum(/host/key,time period:time shift)

Suma dels valors de tendència dins del període de temps definit.

Paràmetres:

Exemples:

 trendsum(/host/key,1h:now/h) #suma de l'hora anterior (p. ex., 12:00-13:00)
        trendsum(/host/key,1h:now/h-1h) #suma de fa dues hores (11:00-12:00)
        trendsum(/host/key,1h:now/h-2h) #suma de fa tres hores (10:00-11:00)
        trendsum(/host/key,1M:now/M-1y) #suma del mes anterior fa un any

Veieu totes les funcions admeses.