8 Funkcje predykcyjne

Wszystkie funkcje wymienione tutaj 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 oceny w sekundach (można używać przyrostków czasu), lub
    • #num - maksymalny zakres oceny w najnowszych zebranych wartościach (jeśli poprzedzony znakiem hash)
    • time shift (opcjonalnie) umożliwia przesunięcie punktu oceny wstecz w czasie. Zobacz więcej szczegółów dotyczących określania time shift.

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ść, wartość maksymalna, minimalna, różnica lub średnia wartości pozycji.
Obsługiwane typy wartości: Float, Integer.

Parametry:

  • Zobacz wspólne parametry;
  • time - horyzont prognozy w sekundach (np. 1, 60) (można używać przyrostków czasu (np. 30s, 1m)); 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 funkcje dopasowania:
    linear - funkcja liniowa (domyślna)
    polynomialN - wielomian stopnia N (1 <= N <= 6)
    exponential - funkcja wykładnicza
    logarithmic - funkcja logarytmiczna
    power - funkcja potęgowa
    Należy pamiętać, że polynomial1 jest równoważne linear;
  • mode (opcjonalny; musi być ujęty w podwójny cudzysłów) - żądany wynik. Obsługiwane tryby:
    value - wartość (domyślny)
    max - maksimum
    min - minimum
    delta - max-min
    avg - średnia
    Należy pamiętać, że value szacuje wartość pozycji w momencie now + time; tryby max, min, delta i avg analizują oszacowanie wartości pozycji w przedziale od now do now + time.

Uwagi:

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

Przykłady:

forecast(/host/key,#10,1h) #prognozowanie wartości pozycji za godzinę na podstawie 10 ostatnich wartości
forecast(/host/key,1h,30m) #prognozowanie wartości pozycji za 30 minut na podstawie danych z ostatniej godziny
forecast(/host/key,1h:now-1d,12h) #prognozowanie wartości pozycji za 12 godzin na podstawie danych z jednej godziny sprzed jednego dnia
forecast(/host/key,1h,10m,"exponential") #prognozowanie wartości pozycji za 10 minut na podstawie danych z ostatniej godziny i funkcji wykładniczej
forecast(/host/key,1h,2h,"polynomial3","max") #prognozowanie maksymalnej wartości, jaką pozycja może osiągnąć w ciągu najbliższych dwóch godzin, na podstawie danych z ostatniej godziny i wielomianu sześciennego (trzeciego stopnia)
forecast(/host/key,#2,-20m) #szacowanie 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.