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/keyjest 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/keyoraz(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 momencienow+time; tryby max, min, delta i avg analizują oszacowanie wartości pozycji w przedziale odnowdonow+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:
- Zobacz wspólne parametry;
- threshold - wartość do osiągnięcia (można używać sufiksów jednostek);
- fit (opcjonalny; musi być ujęty w podwójny cudzysłów) - zobacz forecast().
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.