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

5 Функције тренда

Функције тренда, за разлику од функција историје, користе trend податке за прорачуне.

Трендови чувају агрегатне вредности по сату. Функције тренда користе ове просеке по сату и стога су корисне за дугорочну анализу.

Резултати функција тренда се кеширају, тако да вишеструки позиви исте функције са истим параметрима преузимају информације из базе података само једном. Кеш меморију функција тренда контролише серверски параметар TrendFunctionCacheSize.

Окидачи који референцирају функције тренда само се евалуирају једном по најмањем временском периоду у изразу. На пример, окидач попут

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

биће евалуиран једном дневно. Ако окидач садржи и функције тренда и историје (или функције засноване на времену), израчунава се у складу са уобичајеним принципима.

Све функције наведене овде су подржане у:

Функције су наведене без додатних информација. Кликните на функцију да бисте видели све детаље.

Function Description
baselinedev Враћа број одступања (помоћу stddevpop алгоритма) између последњег периода података и истих периода података у претходним сезонама.
baselinewma Израчунава основну линију усредњавањем података из истог временског оквира у више једнаких временских периода („сезона“) користећи алгоритам пондерисаног покретног просека.
trendavg Просек вредности тренда у дефинисаном временском периоду.
trendcount Број успешно преузетих вредности тренда у дефинисаном временском периоду.
trendmax Максималне вредности тренда у дефинисаном временском периоду.
trendmin Минималне вредности тренда у дефинисаном временском периоду.
trendstl Враћа стопу аномалија током периода детекције - децималну вредност између 0 и 1, која је ((број вредности аномалија)/(укупан број вредности)).
trendsum Збир вредности тренда у дефинисаном временском периоду.
Заједнички параметри
  • /host/key је заједнички обавезни први параметар
  • time period:time shift је заједнички други параметар, где је:
    • time period - временски период (минимум '1h'), дефинисан као <N><time unit> где је N - број временских јединица, time unit - h (сат), d (дан), w (седмица), M (месец) или y (година).
    • time shift - помак временског периода (погледајте примере функција)

Детаљи функције

Неке опште напомене о параметрима функције:

  • Параметри функције су одвојени зарезом
  • Опциони параметри функције (или делови параметара) су означени са < >
  • Параметри специфични за функцију описани су уз сваку функцију
  • /host/key и time period:time shift параметри никада не смеју бити под наводницима
baselinedev(/host/key,data period:time shift,season unit,num seasons)

Враћа број одступања (помоћу stddevpop алгоритма) између последњег периода података и истих периода података у претходним сезонама.

Параметри:

  • Види уобичајени параметри;
  • data period - период прикупљања података унутар сезоне, дефинисан као <N><временска јединица> где:
    N - број временских јединица
    временска јединица - h (сат), d (дан), w (недеља), M (месец) или y (година), мора бити једнако или мање од сезоне
  • сезонска јединица - трајање једне сезоне (h, d, w, M, y), не може бити мање од периода података;
  • num seasons - број сезона за процену.

Примери:

baselinedev(/host/key,1d:now/d,"M",6) #израчунавање броја стандардних девијација (популације) између претходног дана и исти дан у претходних 6 месеци. Ако датум не постоји у претходном месецу, користиће се последњи дан у месецу (31. јул ће бити анализиран у односу на 31. јан, 28. феб,... 30. јун)baselinedev(/host/key,1h:now/h,"d",10)#израчунавање броја стандардних девијација (популације) између претходног сата и истих сати током периода од десет дана пре јуче

baselinewma(/host/key,data period:time shift,season unit,num seasons)

Израчунава основну вредност усредњавањем података из истог временског оквира у више једнаких временских периода („сезона“) користећи алгоритам пондерисаног покретног просека.

Параметри:

  • Види уобичајени параметри;
  • data period - период прикупљања података унутар сезоне, дефинисан као <N><временска јединица> где:
    N - број временских јединица
    временска јединица - h (сат), d (дан), w (недеља), M (месец) или y (година), мора бити једнако или мање од сезоне
    Временски помак - помак временског периода, дефинише крај временског оквира прикупљања података у сезонама (видети примере);
  • сезонска јединица - трајање једне сезоне (h, d, w, M, y), не може бити мање од периода података;
  • num seasons - број сезона до процени.

Примери:

baselinewma(/host/key,1h:now/h,"d",3) #израчунавање основне вредности на основу последњег целог сата у периоду од 3 дана који се завршио јуче. Ако је "now" понедељак 13:30, подаци за 12:00-12:59 у петак, суботу и недељу биће анализирани baselinewma(/host/key,2h:now/h,"d",3) #израчунавање основне вредности на основу последња два сата у периоду од 3 дана који се завршио јуче. Ако је "now" понедељак 13:30, подаци за 11:00-12:59 у петак, суботу и недељу биће анализирани baselinewma(/host/key,1d:now/d,"M",4) #израчунавање основне вредности на основу истог дана у месецу као "јуче" у 4 месеца која претходе последњем целом месецу. Ако потребан датум не постоји, узима се последњи дан у месецу. Ако је данас 1. септембар, анализираће се подаци за 31. јул, 30. јун, 31. мај и 30. април.

trendavg(/host/key,time period:time shift)

Просек вредности тренда у дефинисаном временском периоду.

Параметри:

Примери:

trendavg(/host/key,1h:now/h) #the average for the previous hour (e.g. 12:00-13:00)
       trendavg(/host/key,1h:now/h-1h) #the average for two hours ago (11:00-12:00)
       trendavg(/host/key,1h:now/h-2h) #the average for three hours ago (10:00-11:00)
       trendavg(/host/key,1M:now/M-1y) #the average for the previous month a year ago
trendcount(/host/key,time period:time shift)

Број успешно преузетих историјских вредности које се користе за израчунавање вредности тренда у дефинисаном временском периоду.

Параметри:

Примери:

trendcount(/host/key,1h:now/h) #број вредности за претходни сат (нпр. 12:00-13:00) trendcount(/host/key,1h:now/h-1h) #број вредности за претходна два сата (11:00-12:00) trendcount(/host/key,1h:now/h-2h) #број вредности за претходна три сата (10:00-11:00) trendcount(/host/key,1M:now/M-1y) #број вредности за претходни месец пре годину дана

trendmax(/host/key,time period:time shift)

Максималне вредности тренда у дефинисаном временском периоду.

Параметри:

Примери:

trendmax(/host/key,1h:now/h) #the maximum for the previous hour (e.g. 12:00-13:00)
       trendmax(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → calculate the difference between the maximum and minimum values (trend delta) for the previous hour (12:00-13:00)
       trendmax(/host/key,1h:now/h-1h) #the maximum for two hours ago (11:00-12:00)
       trendmax(/host/key,1h:now/h-2h) #the maximum for three hours ago (10:00-11:00)
       trendmax(/host/key,1M:now/M-1y) #the maximum for the previous month a year ago
trendmin(/host/key,time period:time shift)

Минимум у трендовским вредностима унутар дефинисаног временског периода.

Параметри:

Примери:

trendmin(/host/key,1h:now/h) #the minimum for the previous hour (e.g. 12:00-13:00)
       trendmax(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → calculate the difference between the maximum and minimum values (trend delta) for the previous hour (12:00-13:00)
       trendmin(/host/key,1h:now/h-1h) #the minimum for two hours ago (11:00-12:00)
       trendmin(/host/key,1h:now/h-2h) #the minimum for three hours ago (10:00-11:00)
       trendmin(/host/key,1M:now/M-1y) #the minimum for the previous month a year ago
trendstl(/host/key,eval period:time shift,detection period,season,<deviations>,<devalg>,<s window>)

Враћа стопу аномалија током периода детекције - децималну вредност између 0 и 1, односно ((број вредности аномалија)/(укупан број вредности)).

Параметри:

  • Види уобичајени параметри;
  • eval period - временски период који мора бити разложен (минимум '1h'), дефинисан као <N><временска јединица> где
    N - број временских јединица
    временска јединица - h (сат), d (дан), w (недеља), M (месец) или y (година)
  • detection period - временски период пре краја периода детекције за који се израчунавају аномалије (минимум '1h', не може бити дужи од eval perioda), дефинисан као <N><временска јединица> где
    N - број временских јединица
    временска јединица - h (сат), d (дан), w (недеља)
  • ** season** - најкраћи временски период у којем се очекује понављајући образац ("сезона") (минимум '2h', не може бити дужи од периода процене, број уноса у периоду процене мора бити већи од двоструке резултујуће фреквенције (сезона/h)), дефинисан као <N><временска јединица> где
    N - број временских јединица
    временска јединица - h (сат), d (дан), w (недеља)
  • ** deviations** - број одступања (израчунат помоћу devalg) који се рачунају као аномалија (може бити децимални), (мора бити већи или једнак 1, подразумевано је 3);
  • ** devalg** (мора бити под двоструким наводницима) - алгоритам одступања, може бити stddevpop, stddevsamp или mad (подразумевано);
  • s window - распон (у кашњењима) лесног прозора за сезонску екстракцију (подразумевано је 10 * број уноса у периоду евалуације + 1)

Примери:

trendstl(/host/key,100h:now/h,10h,2h) #анализирајте последњих 100 сати података о тренду, пронађите стопу аномалија за последњих 10 сати тог периода, очекујући да је периодичност 2h, вредности преостале серије периода евалуације сматрају се аномалијама ако достигну вредност од 3 одступања од MAD-а тог преостале серије trendstl(/host/key,100h:now/h-10h,100h,2h,2.1,"mad") #анализирајте период од 100 сати података о тренду, до пре 10 сати, пронађите стопу аномалија за цео тај период очекујући да је периодичност 2h, вредности преостале серије периода евалуације сматрају се аномалијама ако достигну вредност од 2,1 одступања од MAD-а тог остатка серије trendstl(/host/key,100d:now/d-1d,10d,1d,4,,10) #анализирајте 100 дана података о тренду до пре једног дана, пронађите стопу аномалије за период последњих 10 дана тог периода, очекујући да је периодичност 1d, вредности преостале серије периода евалуације сматрају се аномалијама ако достигну вредност од 4 девијације MAD-а те преостале серије, превазилазећи подразумевани распон лесног прозора за сезонску екстракцију "10 * број уноса у периоду евалуације + 1" са распоном од 10 заостаје trendstl(/host/key,1M:now/M-1y,1d,2h,,"stddevsamp") #анализирајте претходни месец пре годину дана, пронађите стопу аномалије последњег дана тог периода очекујући да је периодичност 2h, вредности преостале серије периода евалуације сматрају се аномалијама ако достигну вредност од 3 девијације стандардне девијације узорка те преостале серије

trendsum(/host/key,time period:time shift)

Збир дефинисаних трендовских вредности унутар дефинисаног временског периода.

Параметри:

Примери:

trendsum(/host/key,1h:now/h) #the sum for the previous hour (e.g. 12:00-13:00)
       trendsum(/host/key,1h:now/h-1h) #the sum for two hours ago (11:00-12:00)
       trendsum(/host/key,1h:now/h-2h) #the sum for three hours ago (10:00-11:00)
       trendsum(/host/key,1M:now/M-1y) #the sum for the previous month a year ago

Погледајте све подржане функције.