Translation not up to date
Te szczegóły implementacji opisują etapy i przetwarzanie specyficzne dla eksperymentu serii czasowej AutoAI .
Szczegóły implementacji
Zapoznaj się z tymi informacjami na temat implementacji i konfiguracji dla eksperymentu serii czasowej.
- Etapy serii czasowej służące do przetwarzania eksperymentu.
- Wielkości mierzone optymalizowania szeregów czasowych w celu strojenia rurociągów.
- Algorytmy szeregów czasowych służące do budowy rurociągów.
- Obsługiwane formaty daty i godziny.
Etapy szeregów czasowych
Eksperyment szeregów czasowych AutoAI obejmuje te etapy, gdy uruchamiany jest eksperyment:
Etap 1: Inicjowanie
Etap inicjowania przetwarza dane uczących, w następującej kolejności:
- Załaduj dane
- Podziel zestaw danych L na dane treningowe T i dane wstrzymane H
- Służy do ustawiania sprawdzania poprawności, obsługi kolumn datownika i generowania okna wyszukiwania. Uwagi:
- Dane uczących (T) są równe dla zestawu danych (L) pomniejszonego o wartość wydrążone (H). Podczas konfigurowania eksperymentu można dostosować wielkość danych holdout. Domyślnie wielkość danych holdout wynosi 20 kroków.
- Opcjonalnie można określić kolumnę datownika.
- Domyślnie okno wyszukiwania jest generowane automatycznie przez wykrywanie okresu sezonowego za pomocą metody przetwarzania sygnału. Jeśli jednak użytkownik ma pomysł na odpowiednie okno wyszukiwania, można określić wartość bezpośrednio.
Etap 2: Wybór rurociągu
W kroku wyboru potoku używana jest efektywna metoda o nazwie T-Daub (przydzielanie danych szeregów czasowych z użyciem ograniczeń górnych). Metoda wybiera rurociągi poprzez przydzielenie większej ilości danych uczących do najbardziej obiecujących rurociągów, przy jednoczesnym przydzielaniu mniej danych treningowych do bezobiecujących rurociągów. W ten sposób nie wszystkie potokiny widzą kompletny zestaw danych, a proces wyboru jest zwykle szybszy. Przegląd procesu zawiera następujące kroki:
- Wszystkie rurociągi są kolejno przydzielane do kilku małych podgrup danych uczących. Najpierw przydzielane są najnowsze dane.
- Każdy rurociąg jest przeszkolony w odniesieniu do każdego przydzielonego podzbioru danych uczących i oceniany na podstawie danych testowych (dane holdout).
- Model regresji liniowej jest stosowany do każdego potoku przy użyciu zestawu danych opisanego w poprzednim kroku.
- Wynik dokładności dla potoku jest prognozowany na całym zestawie danych uczących. Ta metoda powoduje, że zestaw danych zawiera dokładność i wielkość przydzielonych danych dla każdego potoku.
- Najlepszy rurociąg dobierany jest zgodnie z przewidywaną dokładnością i przydzielaniem stopnia 1.
- Więcej danych jest przydzielanych do najlepszego gazociągu. Następnie prognozowana dokładność jest aktualizowana dla pozostałych rurociągów.
- Dwa wcześniejsze kroki są powtarzane do czasu, aż górne N potoków zostaną przeszkolone we wszystkich danych.
Etap 3: Ocena modelu
W tym kroku zwycięskie rurociągi N są przećwiczane na całym zestawie danych treningowych T. Następnie są one oceniane przy użyciu danych wstrzymanych H.
Etap 4: Końcowe generowanie rurociągu
W tym kroku zwycięskie rurociągi są ponownie przeszkolone w całym zestawie danych (L) i są generowane jako ostatnie potokowe.
Gdy przekwalifikowanie każdego rurociągu kończy się, rurociąg jest publikowanej na tablicy. Można wybrać, aby sprawdzić szczegóły rurociągu lub zapisać potok jako model.
Etap 5: Backtest
W ostatnim kroku zwycięskie rurociągi są przećwiczane i oceniane przy użyciu metody backtest. Metoda backtest zawiera następujące kroki:
- Długość danych uczących jest określana na podstawie liczby wywołań, długości przerw i wielkości wypustów. Więcej informacji na temat tych parametrów znajduje się w sekcji Budowanie eksperymentu z serią czasową.
- Począwszy od najstarszych danych, eksperyment jest przeszkolony z wykorzystaniem danych uczących.
- Następnie eksperyment jest oceniany na podstawie pierwszego zestawu danych sprawdzania poprawności. Jeśli długość luki jest niezerowa, wszystkie dane w przerwie są pomijane.
- Okno danych uczących jest zaawansowane, zwiększając wielkość holdout i dystans, aby utworzyć nowy zestaw treningowy.
- Świeży eksperyment jest przeszkolony w zakresie nowych danych i jest wartościowany przy użyciu kolejnego zestawu danych sprawdzania poprawności.
- Poprzednie dwa kroki są powtarzane dla pozostałych okresów.
Wielkości mierzone optymalizacji szeregów czasowych
Zaakceptuj wartość domyślną lub wybierz metrykę, która ma być zoptymalizowana pod kątem eksperymentu.
Metryka | Opis |
---|---|
Symetryczny średni bezwzględny błąd procentowy (SMAPE) | W każdym dopasowanym punkcie bezwzględna różnica między wartością rzeczywistą a wartością przewidywaną dzieli się przez połowę sumy bezwzględnej rzeczywistej wartości i wartości przewidywanej. Następnie, średnia jest obliczana dla wszystkich takich wartości we wszystkich dopasowanych punktach. |
Średni błąd bezwzględny (MAE) | Średnia bezwzględna różnica między rzeczywistymi wartościami a wartościami przewidywanymi. |
Pierwiastek z błędu średniokwadratowego (RMSE) | Pierwiastek kwadratowy ze średniej kwadratu różnic między wartościami rzeczywistymi a wartościami przewidywanymi. |
R2 | Miara sposobu porównywania wydajności modelu z modelem bazowym lub modelem średniej. Wartość R2 musi być równa lub mniejsza od 1. Ujemna wartość R2 oznacza, że rozważany model jest gorszy od modelu średniej. Wartość zero R2 oznacza, że rozważany model jest tak dobry lub zły, jak model średniej. Dodatnia wartość R2 oznacza, że model uwzględniany w rozważanym modelu jest lepszy od modelu średniej. |
Algorytmy szeregów czasowych
Algorytmy te są dostępne dla eksperymentu serii czasowej. Można użyć algorytmów, które są wybrane domyślnie, lub można skonfigurować eksperyment w celu uwzględnienia lub wykluczenia konkretnych algorytmów.
Algorytm | Opis |
---|---|
ARIMA | Autoregresyjna zintegrowana średnia ruchoma (ARIMA) jest typowym modelem szeregów czasowych, który może transformować dane niestacjonarne do danych stacjonarnych poprzez różnicowanie, a następnie prognozować kolejną wartość przy użyciu przeszłych wartości, w tym opóźnionych wartości i opóźnionych błędów prognozy |
BATS | Algorytm BATS łączy w sobie czynniki transformacji Box-Cox, reszt ARMA, Trend i Seasonality w celu prognozowania przyszłych wartości. |
Ensembler | Ensembler łączy wiele metod prognozowania w celu pokonania dokładności prostego przewidywania i uniknięcia możliwego przepełnienia. |
Holt-Winters | Wykorzystuje potrójne wygładzanie wykładnicze do prognozowania punktów danych z serii, jeśli seria jest powtarzalna w czasie (sezonowe). Dostępne są dwa rodzaje modeli Holt-Winters: dodatek Holt-Winters oraz multiplikatywny Holt-Winters |
Las losowy | Model regresji oparty na drzewie, w którym każde drzewo w komplecie jest zbudowane z próbki, która jest rysowana wraz z wymianą (na przykład próbką startową) z zestawu treningowego. |
SVM (ang. Support Vector Machine) | Maszyny wirtualne są typem modeli uczenia maszynowego, które mogą być używane zarówno dla regresji, jak i dla klasyfikacji. Maszyny wirtualne używają hiperpłaszczyzny, aby podzielić dane na osobne klasy. |
Regresja liniowa | Buduje liniową relację między zmienną szeregów czasowych a indeksem daty/czasu lub czasu z resztami, które są zgodne z procesem AR. |
Obsługiwane formaty daty i godziny
Formaty daty/godziny obsługiwane w eksperymentach szeregów czasowych są oparte na definicjach udostępnianych przez program dateutil.
Obsługiwane formaty daty to:
Często:
YYYY
YYYY-MM, YYYY/MM, or YYYYMM
YYYY-MM-DD or YYYYMMDD
mm/dd/yyyy
mm-dd-yyyy
JAN YYYY
Niezbyt często:
YYYY-Www or YYYYWww - ISO week (day defaults to 0)
YYYY-Www-D or YYYYWwwD - ISO week and day
Liczba dla wartości tygodnia ISO i wartości dnia jest zgodna z tą samą logiką co datetime.date.isocalendar().
Obsługiwane formaty godziny to:
hh
hh:mm or hhmm
hh:mm:ss or hhmmss
hh:mm:ss.ssssss (Up to 6 sub-second digits)
dd-MMM
yyyy/mm
Uwagi:
- Północ może być reprezentowana jako 00:00 lub 24:00. Separatorem dziesiętnym może być kropka lub przecinek.
- Daty można składać w postaci łańcuchów, z podwójnymi cudzysłowami, takimi jak "1958-01-16".
Funkcje spełniające kryteria
Funkcje pomocnicze, zwane również egzogennymi funkcjami, są funkcjami wejściowymi, które mogą wpływać na cel predykcji. Można użyć funkcji pomocniczych, aby uwzględnić dodatkowe kolumny z zestawu danych, aby poprawić predykcję i zwiększyć dokładność modelu. Na przykład w eksperymencie szeregów czasowych w celu przewidywania cen w czasie, elementem wspierający mogą być dane dotyczące sprzedaży i promocji. Lub, w modelu, który prognozuje zużycie energii, w tym dzienna temperatura sprawia, że prognoza jest bardziej dokładna.
Algorytmy i rurociągi, które korzystają z funkcji obsługi
Tylko podzbiór algorytmów pozwala na obsługę funkcji. Na przykład, Holt-winters i BATS nie wspierają korzystania z funkcji pomocniczych. Algorytmy, które nie obsługują funkcji obsługi, ignorują wybór opcji obsługi po uruchomieniu eksperymentu.
Niektóre algorytmy wykorzystują funkcje obsługi dla pewnych wariantów algorytmu, ale nie dla innych. Na przykład można wygenerować dwa różne potokiny z algorytmem losowego lasu, RegressorRandomForest i ExogenousRandomForestRegressor. Odmiana ExogenousRandomForestRegressor zapewnia obsługę funkcji obsługi, natomiast RandomForestRegressor nie obsługuje funkcji.
Ta tabela zawiera szczegółowe informacje o tym, czy algorytm zapewnia obsługę funkcji obsługi w eksperymencie szeregów czasowych:
Algorytm | Potok | Obsługa funkcji obsługi |
---|---|---|
Las losowy | Regresor RandomForest | Nie |
Las losowy | ExogenousRandomForestRegressor | Tak |
SVM | SVM | Nie |
SVM | ExogenousSVM | Tak |
Ensembler | LocalizedFlattenEnsembler | Tak |
Ensembler | DifferenceFlattenEnsembler | Nie |
Ensembler | FlattenEnsembler | Nie |
Ensembler | ExogenousLocalizedFlattenEnsembler | Tak |
Ensembler | ExogenousDifferenceFlattenEnsembler | Tak |
Ensembler | ExogenousFlattenEnsembler | Tak |
Regresja | MT2RForecaster | Nie |
Regresja | ExogenousMT2RForecaster | Tak |
Holt-winters | HoltWinterDodawanie | Nie |
Holt-winters | HoltWinterMultiplikatywny | Nie |
BATS | BATS | Nie |
ARIMA | ARIMA | Nie |
ARIMA | ARIMAX | Tak |
ARIMA | ARIMAX_RSAR | Tak |
ARIMA | ARIMAX_PALR | Tak |
ARIMA | ARIMAX_RAR | Tak |
ARIMA | ARIMAX_DMLR | Tak |
Więcej inform.
Ocenianie modelu szeregów czasowych
Temat nadrzędny: Budowanie eksperymentu szeregów czasowych