[comment]: # attributes: notoc

[comment]: # (terms: forecast, timeleft )

[comment]: # ({ee75c9cc-2e2a1a06})
# 8 Prognozēšanas funkcijas

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

-   [Trigeru izteiksmēs](/manual/config/triggers/expression)
-   [Aprēķinātajos vienumos](/manual/config/items/itemtypes/calculated)
-   [Izteiksmju makrosos](/manual/config/macros/expression_macros)

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

|Funkcija|Apraksts|
|--|--------|
|[forecast](#forecast)|Vienuma nākotnes vērtība, maksimālā, minimālā, delta vai vidējā vērtība.|
|[timeleft](#timeleft)|Laiks sekundēs, kas nepieciešams, lai vienums sasniegtu norādīto slieksni.|

[comment]: # ({/ee75c9cc-2e2a1a06})

[comment]: # ({645b8a56-4d343eb8})
##### Kopējie parametri

-   `/host/key` ir kopīgs obligāts pirmais parametrs funkcijām, kas atsaucas uz host vienuma vēsturi
-   `(sec|#num)<:time shift>` ir kopīgs otrais parametrs funkcijām, kas atsaucas uz host vienuma vēsturi, kur:
    -   **sec** - maksimālais [izvērtēšanas
        periods](/manual/config/triggers#evaluation-period) sekundēs
        (var izmantot laika [sufiksus](/manual/appendix/suffixes)), vai
    -   **#num** - maksimālais [izvērtēšanas
        diapazons](/manual/config/triggers#evaluation-period) pēdējās
        savāktajās vērtībās (ja priekšā ir hash zīme)
    -   **time shift** (neobligāts) ļauj pārvietot izvērtēšanas punktu
        atpakaļ laikā. Skatiet [papildu
        informāciju](/manual/config/triggers/expression#time-shift) par
        laika nobīdes norādīšanu.

[comment]: # ({/645b8a56-4d343eb8})

[comment]: # ({c645f0e4-f3b63bc1})
### 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) tiek norādīti ar
    `<` `>`
-   Katras funkcijas specifiskie parametri ir aprakstīti pie attiecīgās funkcijas
-   Parametri `/host/key` un `(sec|#num)<:time shift>` nekad nedrīkst būt
    pēdiņās

[comment]: # ({/c645f0e4-f3b63bc1})

[comment]: # ({8a873b31-e4452b37})
##### forecast(/host/key,(sec|#num)<:time shift>,time,<fit>,<mode>) {#forecast}

Vienuma nākotnes vērtība, maksimums, minimums, delta vai vidējā vērtība.<br>
Atbalstītie vērtību tipi: *Float*, *Integer*.

Parametri: 

-   Skatiet [kopīgos parametrus](#common-parameters);<br>
-   **time** - prognozēšanas horizonts sekundēs (var izmantot laika sufiksus); tiek atbalstītas arī negatīvas vērtības;<br>
-   **fit** (neobligāts; jāliek dubultpēdiņās) - funkcija, ko izmanto vēsturisko datu pielāgošanai. Atbalstītās pielāgošanas funkcijas:<br>*linear* - lineāra funkcija (noklusējums)<br>*polynomialN* - N pakāpes polinoms (1 <= N <= 6)<br>*exponential* - eksponenciāla funkcija<br>*logarithmic* - logaritmiska funkcija<br>*power* - pakāpes funkcija<br>Ņemiet vērā, ka *polynomial1* ir ekvivalents *linear*;
-   **mode** (neobligāts; jāliek dubultpēdiņās) - pieprasītā izvade. Atbalstītie režīmi:<br>*value* - vērtība (noklusējums)<br>*max* - maksimums<br>*min* - minimums<br>*delta* - *max*-*min*<br>*avg* - vidējā vērtība<br>Ņemiet vērā, ka *value* novērtē vienuma vērtību brīdī `now` + `time`; *max*, *min*, *delta* un *avg* analizē vienuma vērtības novērtējumu intervālā starp `now` un `now` + `time`.

Komentāri:

-   Ja atgriežamā vērtība ir lielāka par 1.7976931348623158E+308 vai mazāka par -1.7976931348623158E+308, atgrieztā vērtība tiek attiecīgi ierobežota līdz 1.7976931348623158E+308 vai -1.7976931348623158E+308;
-   Kļūst neatbalstīts tikai nepareizas izmantošanas gadījumā izteiksmē (nepareizs vienuma tips, nederīgi parametri), pretējā gadījumā kļūdu gadījumā atgriež -1;
-   Skatiet arī papildu informāciju par [prognozējošajām trigeru funkcijām](/manual/config/triggers/prediction).

Piemēri:

    forecast(/host/key,#10,1h) #prognozē vienuma vērtību pēc vienas stundas, pamatojoties uz pēdējām 10 vērtībām
    forecast(/host/key,1h,30m) #prognozē vienuma vērtību pēc 30 minūtēm, pamatojoties uz pēdējās stundas datiem
    forecast(/host/key,1h:now-1d,12h) #prognozē vienuma vērtību pēc 12 stundām, pamatojoties uz vienas stundas datiem pirms vienas dienas
    forecast(/host/key,1h,10m,"exponential") #prognozē vienuma vērtību pēc 10 minūtēm, pamatojoties uz pēdējās stundas datiem un eksponenciālu funkciju
    forecast(/host/key,1h,2h,"polynomial3","max") #prognozē maksimālo vērtību, ko vienums var sasniegt nākamo divu stundu laikā, pamatojoties uz pēdējās stundas datiem un kubisku (trešās pakāpes) polinomu
    forecast(/host/key,#2,-20m) #novērtē vienuma vērtību pirms 20 minūtēm, pamatojoties uz pēdējām divām vērtībām (tas var būt precīzāk nekā izmantot last(), īpaši, ja vienums tiek atjaunināts reti, piemēram, reizi stundā)

[comment]: # ({/8a873b31-e4452b37})

[comment]: # ({834aceba-9b065620})
##### timeleft(/host/key,(sec|#num)<:time shift>,threshold,<fit>) {#timeleft}

Laiks sekundēs, kas nepieciešams, lai vienums sasniegtu norādīto slieksni.<br>
Atbalstītie vērtību tipi: *Float*, *Integer*.

Parametri: 

-   Skatiet [kopīgos parametrus](#common-parameters);<br>
-   **threshold** — sasniedzamā vērtība (var izmantot [vienību sufiksus](/manual/appendix/suffixes));
-   **fit** (neobligāts; jāliek dubultpēdiņās) — skatiet [forecast()](#forecast).

Komentāri:

-   Ja atgriežamā vērtība ir lielāka par 1.7976931348623158E+308, atgrieztā vērtība tiek ierobežota līdz 1.7976931348623158E+308;
-   Atgriež 1.7976931348623158E+308, ja slieksni nevar sasniegt;
-   Kļūst neatbalstīts tikai tad, ja tas tiek nepareizi izmantots izteiksmē (nepareizs vienuma tips, nederīgi parametri), pretējā gadījumā kļūdu gadījumā atgriež -1;
-   Skatiet arī papildu informāciju par [prognozējošajām trigeru funkcijām](/manual/config/triggers/prediction).

Piemēri:

    timeleft(/host/key,#10,0) #laiks līdz vienuma vērtība sasniedz nulli, pamatojoties uz pēdējām 10 vērtībām
    timeleft(/host/key,1h,100) #laiks līdz vienuma vērtība sasniedz 100, pamatojoties uz pēdējās stundas datiem
    timeleft(/host/key,1h:now-1d,100) #laiks līdz vienuma vērtība sasniedz 100, pamatojoties uz vienas stundas datiem pirms vienas dienas
    timeleft(/host/key,1h,200,"polynomial2") #laiks līdz vienuma vērtība sasniedz 200, pamatojoties uz pēdējās stundas datiem un pieņēmumu, ka vienums uzvedas kā kvadrātisks (otrās pakāpes) polinoms

[comment]: # ({/834aceba-9b065620})

[comment]: # ({ba59dd3a-9958c480})
Skatiet [visas atbalstītās funkcijas](/manual/appendix/functions).

[comment]: # ({/ba59dd3a-9958c480})
