8 Funkcje predykcyjne

Wszystkie wymienione tutaj funkcje są obsługiwane w:

Funkcje są wymienione bez dodatkowych informacji. Kliknij funkcję, aby zobaczyć pełne szczegóły.

Function Description
forecast Przyszła wartość, maksimum, minimum, delta lub średnia pozycji.
timeleft Czas w sekundach potrzebny, aby pozycja osiągnęła określony próg.
Wspólne parametry
  • /host/key jest wspólnym obowiązkowym pierwszym parametrem dla funkcji odwołujących się do historii pozycji hosta
  • (sec|#num)<:time shift> jest wspólnym drugim parametrem dla funkcji odwołujących się do historii pozycji hosta, gdzie:
    • sec — maksymalny okres obliczania w sekundach (mogą być używane sufiksy czasu), lub
    • #num — maksymalny zakres obliczania w ostatnio zebranych wartościach (jeśli jest poprzedzony znakiem kratki)
    • time shift (opcjonalnie) pozwala przesunąć punkt obliczania wstecz w czasie. Zobacz więcej szczegółów dotyczących określania przesunięcia czasu.

Szczegóły funkcji

Kilka ogólnych uwag dotyczących parametrów funkcji:

  • Parametry funkcji są oddzielane przecinkiem
  • Opcjonalne parametry funkcji (lub części parametrów) są oznaczone przez < >
  • Parametry specyficzne dla danej funkcji są opisane przy każdej funkcji
  • Parametry /host/key oraz (sec|#num)<:time shift> nigdy nie mogą być ujmowane w cudzysłów
forecast(/host/key,(sec|#num)<:time shift>,time,<fit>,<mode>)

Przyszła wartość, maksimum, minimum, delta lub średnia pozycji.
Obsługiwane typy wartości: Float, Integer.

Parametry:

  • Zobacz wspólne parametry;
  • time — horyzont prognozy w sekundach (mogą być używane sufiksy czasu); obsługiwane są wartości ujemne;
  • fit (opcjonalny; musi być ujęty w podwójny cudzysłów) — funkcja używana do dopasowania danych historycznych. Obsługiwane dopasowania:
    linear — funkcja liniowa (domyślnie)
    polynomialN — wielomian stopnia N (1 <= N <= 6)
    exponential — funkcja wykładnicza
    logarithmic — funkcja logarytmiczna
    power — funkcja potęgowa
    Zwróć uwagę, że polynomial1 jest równoważne linear;
  • mode (opcjonalny; musi być ujęty w podwójny cudzysłów) — wymagane dane wyjściowe. Obsługiwane tryby:
    value — wartość (domyślnie)
    max — maksimum
    min — minimum
    deltamax-min
    avg — średnia
    Zwróć uwagę, że value szacuje wartość pozycji w momencie now + time; max, min, delta i avg analizują oszacowanie wartości pozycji w przedziale między now a now + time.

Komentarze:

  • Jeśli zwracana wartość jest większa niż 1.7976931348623158E+308 lub mniejsza niż -1.7976931348623158E+308, zwracana wartość jest odpowiednio ograniczana do 1.7976931348623158E+308 lub -1.7976931348623158E+308;
  • Staje się nieobsługiwana tylko w przypadku nieprawidłowego użycia w wyrażeniu (niewłaściwy typ pozycji, nieprawidłowe parametry), w przeciwnym razie w przypadku błędów zwraca -1;
  • Zobacz także dodatkowe informacje o funkcjach predykcyjnych wyzwalaczy.

Przykłady:

forecast(/host/key,#10,1h) #prognoza wartości pozycji za godzinę na podstawie ostatnich 10 wartości
forecast(/host/key,1h,30m) #prognoza wartości pozycji za 30 minut na podstawie danych z ostatniej godziny
forecast(/host/key,1h:now-1d,12h) #prognoza wartości pozycji za 12 godzin na podstawie danych z jednej godziny sprzed jednego dnia
forecast(/host/key,1h,10m,"exponential") #prognoza wartości pozycji za 10 minut na podstawie danych z ostatniej godziny i funkcji wykładniczej
forecast(/host/key,1h,2h,"polynomial3","max") #prognoza maksymalnej wartości, jaką pozycja może osiągnąć w ciągu następnych dwóch godzin, na podstawie danych z ostatniej godziny i wielomianu trzeciego stopnia
forecast(/host/key,#2,-20m) #oszacowanie wartości pozycji sprzed 20 minut na podstawie dwóch ostatnich wartości (może to być dokładniejsze niż użycie last(), szczególnie jeśli pozycja jest aktualizowana rzadko, na przykład raz na godzinę)
timeleft(/host/key,(sec|#num)<:przesunięcie czasu>,threshold,<fit>)

Czas w sekundach potrzebny, aby pozycja osiągnęła określony próg.
Obsługiwane typy wartości: Float, Integer.

Parametry:

Uwagi:

  • Jeśli zwracana wartość jest większa niż 1.7976931348623158E+308, zostanie przycięta do 1.7976931348623158E+308;
  • Zwraca 1.7976931348623158E+308, jeśli próg nie może zostać osiągnięty;
  • Staje się nieobsługiwana tylko w przypadku nieprawidłowego użycia w wyrażeniu (niewłaściwy typ pozycji, nieprawidłowe parametry), w przeciwnym razie zwraca -1 w przypadku błędów;
  • Zobacz także dodatkowe informacje o funkcjach predykcyjnych wyzwalaczy.

Przykłady:

timeleft(/host/key,#10,0) #czas do momentu, aż wartość pozycji osiągnie zero na podstawie ostatnich 10 wartości
timeleft(/host/key,1h,100) #czas do momentu, aż wartość pozycji osiągnie 100 na podstawie danych z ostatniej godziny
timeleft(/host/key,1h:now-1d,100) #czas do momentu, aż wartość pozycji osiągnie 100 na podstawie jednej godziny sprzed jednego dnia
timeleft(/host/key,1h,200,"polynomial2") #czas do momentu, aż wartość pozycji osiągnie 200 na podstawie danych z ostatniej godziny oraz przy założeniu, że pozycja zachowuje się jak wielomian kwadratowy (drugiego stopnia)

Zobacz wszystkie obsługiwane funkcje.