5 Trendu funkcijas
Trendu funkcijas, atšķirībā no vēstures funkcijām, aprēķiniem izmanto trendu datus.
Trendi glabā stundas apkopotās vērtības. Trendu funkcijas izmanto šos stundas vidējos rādītājus, un tādējādi ir noderīgas ilgtermiņa analīzei.
Trendu funkciju rezultāti tiek kešoti, tāpēc vairāki vienas un tās pašas funkcijas izsaukumi ar vienādiem parametriem informāciju no datubāzes iegūst tikai vienu reizi. Trendu funkciju kešatmiņu kontrolē servera parametrs TrendFunctionCacheSize.
Trigeri, kas atsaucas tikai uz trendu funkcijām, tiek novērtēti vienu reizi mazākajā laika periodā izteiksmē. Piemēram, tāds trigeris kā
trendavg(/host/key,1d:now/d) > 1 or trendavg(/host/key2,1w:now/w) > 2
tiks novērtēts vienu reizi dienā. Ja trigeris satur gan trendu, 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 (pēc stddevpop algoritma) starp pēdējo datu periodu un tiem pašiem datu periodiem iepriekšējās sezonās. |
| baselinewma | Aprēķina bāzlīniju, vidējojot datus no tā paša laika intervāla vairākos vienādos laika periodos ("sezonās"), izmantojot svērto slīdošā vidējā algoritmu. |
| trendavg | Trendu vērtību vidējā vērtība noteiktajā laika periodā. |
| trendcount | Veiksmīgi iegūto vēstures vērtību skaits, kas izmantotas trenda vērtības aprēķināšanai noteiktajā laika periodā. |
| trendmax | Maksimālā trendu vērtība noteiktajā laika periodā. |
| trendmin | Minimālā trendu vērtība noteiktajā laika periodā. |
| trendstl | Atgriež anomāliju īpatsvaru 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)). |
| trendsum | Trendu vērtību summa noteiktajā laika periodā. |
Bieži izmantotie parametri
/host/keyir bieži izmantots obligātais pirmais parametrstime period:time shiftir 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)
- time period - laika periods (minimums '1h'), definēts kā <N><time unit>, kur
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/keyuntime period:time shiftnekad 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 skaitstime 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 skaitstime 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:
- Skatiet kopīgos parametrus
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:
- Skatiet kopīgos parametrus
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:
- Skatiet kopīgos parametrus
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:
- Skatiet kopīgos parametrus
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 skaitstime 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 skaitstime 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 skaitstime 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:
- Skatiet kopīgos parametrus
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.