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/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 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/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ść, 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
delta — max-min
avg — średnia
Zwróć uwagę, że value szacuje wartość pozycji w momencienow+time; max, min, delta i avg analizują oszacowanie wartości pozycji w przedziale międzynowanow+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:
- 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.