Obraz z Pexels
Zeszłej zimy wygłosiłem prezentację nt.Bardziej przewidywalny model szeregów czasowych z BQML' w GDG DevFest Taszkent 2022 w Taszkencie, stolicy Uzbekistanu.
Miałem zamiar podzielić się częścią materiału i kodem po DevFest, którego użyłem w prezentacji, ale czas minął i wydano nowe funkcje w BQML, które pokrywają się z częścią treści.
Dlatego zamiast tego wspomnę pokrótce o nowych funkcjach i niektórych rzeczach, które nadal obowiązują.
Dane szeregów czasowych jest używany przez wiele organizacji do różnych celów i należy pamiętać, że „analiza predykcyjnas” dotyczy „przyszłości” w czasie. Analitykę predykcyjną szeregów czasowych wykorzystuje się w perspektywie krótko-, średnio- i długoterminowej i chociaż jest ona obarczona wieloma niedokładnościami i ryzykiem, jej skuteczność jest stale udoskonalana.
Ponieważ „przewidywanie” wydaje się tak przydatne, możesz ulec pokusie zastosowania modelu przewidywania szeregów czasowych, jeśli masz dane szeregów czasowych. Jednak modele przewidywania szeregów czasowych są zwykle wymagające obliczeniowo, a jeśli masz dużo danych, będą one bardziej wymagające obliczeniowo. Dlatego przetwarzanie go, ładowanie do środowiska analitycznego i analizowanie jest kłopotliwe i trudne
Jeśli używasz Google BigQuery do zarządzania danymi możesz użyć BQML (BigQuery ML), aby zastosować algorytmy uczenia maszynowego do swoich danych w prosty, łatwy i szybki sposób. Wiele osób korzysta z BigQuery do przetwarzania dużej ilości danych, a duża część tych danych to często dane szeregów czasowych. I BQML obsługuje również modele szeregów czasowych.
Podstawą modelu szeregów czasowych obecnie obsługiwanego przez BQML jest Zintegrowana średnia ruchoma autoregresyjna (ARIMA) Model. Model ARIMA przewiduje, wykorzystując wyłącznie istniejące dane szeregów czasowych i jest znany z dobrej wydajności przewidywania krótkoterminowego, a ponieważ łączy w sobie AR i MA, jest popularnym modelem, który może obejmować szeroki zakres modeli szeregów czasowych.
Jednak model ten jest ogólnie intensywny obliczeniowo, a ponieważ wykorzystuje jedynie dane szeregów czasowych z normalnością, trudno jest go używać w przypadkach, w których występują trendy lub sezonowość. Dlatego, ARIMA_PLUS w BQML zawiera kilka dodatkowych funkcji jako opcje. Możesz dodać do swojego modelu rozkład szeregów czasowych, czynniki sezonowości, skoki i spadki, zmiany współczynników i inne elementy, możesz też przeglądać je oddzielnie i ręcznie dostosowywać model. Mnie osobiście podoba się również to, że można dostosować się do cykliczności poprzez automatyczne dołączenie opcji urlopowych, co jest jedną z zalet korzystania z platformy, która nie wymaga ręcznego dodawania informacji związanych z datami.
Struktura ARIMA_PLUS (z Podręcznik BQML)
Możesz się do tego odnieść strona po więcej informacji.
Jednak w przypadku zastosowań w świecie rzeczywistym przewidywanie szeregów czasowych nie jest takie proste. Oczywiście za pomocą ARIMA_PLUS udało nam się zidentyfikować wiele cykli i dodać interwencje do wielu szeregów czasowych, ale istnieje wiele czynników zewnętrznych związanych z danymi szeregów czasowych i tylko nieliczne zdarzenia mają miejsce oddzielnie. Stacjonarność może być trudna do znalezienia w danych szeregów czasowych.
W oryginalnej prezentacji przyglądałem się, jak postępować z danymi szeregów czasowych ze świata rzeczywistego w celu stworzenia modelu predykcyjnego rozłóż te szeregi czasowe, wyczyść rozłożone dane, zaimportuj je do Pythona, a następnie spleść ją z innymi zmiennymi, aby utworzyć wielowymiarową funkcję szeregu czasowego, oszacować związek przyczynowy i włączyć go do modelu predykcyjnego oraz oszacować stopień, w jakim efekt zmienia się wraz ze zmianami zdarzeń.
A w ciągu zaledwie kilku ostatnich miesięcy nowa funkcja umożliwiająca tworzenie wielowymiarowych funkcji szeregów czasowych ze zmiennymi zewnętrznymi (ARIMA_PLUS_XREG, XREG poniżej) stało się standardową funkcją w BQML.
Możesz o tym przeczytać tutaj(dostępna w wersji zapoznawczej od lipca 2023 r., ale przypuszczam, że będzie dostępna jeszcze w tym roku).
ubiegam się oficjalny samouczek aby zobaczyć, jak wypada w porównaniu z tradycyjnym jednowymiarowym modelem szeregów czasowych i możemy zobaczyć, jak to działa.
Kroki są takie same jak w samouczku, więc nie będę ich powielać, ale oto dwa modele, które stworzyłem. Najpierw stworzyłem tradycyjny ARIMA_PLUS model, a następnie XREG model wykorzystujący te same dane, ale dodający temperaturę i prędkość wiatru w tym czasie.
#ARIMA_PLUS
# ARIMA_PLUS
CREATE OR REPLACE MODEL test_dt_us.seattle_pm25_plus_model
OPTIONS ( MODEL_TYPE = 'ARIMA_PLUS', time_series_timestamp_col = 'date', time_series_data_col = 'pm25') AS
SELECT date, pm25
FROM test_dt_us.seattle_air_quality_daily
WHERE date BETWEEN DATE('2012-01-01') AND DATE('2020-12-31')
#ARIMA_PLUS_XREG
CREATE OR REPLACE MODEL test_dt_us.seattle_pm25_xreg_model OPTIONS ( MODEL_TYPE = 'ARIMA_PLUS_XREG', time_series_timestamp_col = 'date', time_series_data_col = 'pm25') AS
SELECT date, pm25, temperature, wind_speed
FROM test_dt_us.seattle_air_quality_daily
WHERE date BETWEEN DATE('2012-01-01') AND DATE('2020-12-31')
Model korzystający z tych wielu danych wyglądałby mniej więcej tak
Struktura ARIMA_PLUS_XREG (z Podręcznik BQML)
Porównuje się dwa modele z ML.Evaluate.
SELECT * FROM ML.EVALUATE ( MODEL test_dt_us.seattle_pm25_plus_model, ( SELECT date, pm25 FROM test_dt_us.seattle_air_quality_daily WHERE date > DATE('2020-12-31') ))
SELECT * FROM ML.EVALUATE ( MODEL test_dt_us.seattle_pm25_xreg_model, ( SELECT date, pm25, temperature, wind_speed FROM test_dt_us.seattle_air_quality_daily WHERE date > DATE('2020-12-31') ), STRUCT( TRUE AS perform_aggregation, 30 AS horizon))
Wyniki znajdują się poniżej.
ARIMA_PLUS
ARIMA_PLUS_XREG
Widać, że Model XREG wyprzedza podstawowe wskaźniki wydajności, takie jak MAE, MSE i MAPE. (Oczywiście nie jest to rozwiązanie idealne, zależne od danychi możemy po prostu powiedzieć, że otrzymaliśmy kolejne przydatne narzędzie.)
Wielowymiarowa analiza szeregów czasowych jest w wielu przypadkach bardzo potrzebną opcją, ale często jest trudna do zastosowania z różnych powodów. Teraz możemy go użyć, jeśli przyczyny leżą w etapach danych i analizy. Wygląda na to, że mamy na to dobrą opcję, więc warto o tym wiedzieć i miejmy nadzieję, że okaże się to przydatne w wielu przypadkach.
Jeong Min Kwon jest niezależnym starszym analitykiem danych z ponad 10-letnim praktycznym doświadczeniem w wykorzystywaniu modeli uczenia maszynowego i eksploracji danych.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Motoryzacja / pojazdy elektryczne, Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Przesunięcia bloków. Modernizacja własności offsetu środowiskowego. Dostęp tutaj.
- Źródło: https://www.kdnuggets.com/2023/07/multivariate-timeseries-prediction-bqml.html?utm_source=rss&utm_medium=rss&utm_campaign=multivariate-time-series-prediction-with-bqml
- :ma
- :Jest
- :nie
- :Gdzie
- $W GÓRĘ
- 2023
- 30
- a
- Zdolny
- O nas
- o tym
- Dodaj
- dodanie
- Dodatkowy
- Po
- przed
- Algorytmy
- Wszystkie kategorie
- również
- an
- analiza
- analityka
- w czasie rzeczywistym sprawiają,
- i
- Inne
- aplikacje
- Aplikuj
- AR
- SĄ
- AS
- At
- automatycznie
- dostępny
- średni
- podstawowy
- podstawa
- BE
- stają się
- być
- poniżej
- Korzyści
- pomiędzy
- bigQuery
- krótko
- ale
- by
- CAN
- kapitał
- Etui
- Zmiany
- kod
- kombajny
- byliśmy spójni, od początku
- społeczność
- w porównaniu
- zawartość
- kurs
- pokrywa
- Stwórz
- stworzony
- Tworzenie
- Obecnie
- Cykle
- dane
- zarządzanie danymi
- data mining
- naukowiec danych
- Data
- Daty
- sprawa
- Stopień
- trudny
- Nie
- z powodu
- łatwo
- efekt
- Środowisko
- oszacowanie
- oceniać
- wydarzenia
- Przede wszystkim system został opracowany
- doświadczenie
- zewnętrzny
- fakt
- Czynniki
- FAST
- Cecha
- Korzyści
- kilka
- Znajdź
- i terminów, a
- W razie zamówieenia projektu
- wolny zawód
- od
- funkcjonować
- Funkcje
- Go
- będzie
- dobry
- hands-on
- zdarzyć
- Ciężko
- Have
- tutaj
- Wakacje
- Ufnie
- horyzont
- W jaki sposób
- How To
- HTTPS
- i
- CHORY
- zidentyfikować
- if
- importować
- ważny
- poprawy
- in
- obejmuje
- włączać
- włączenie
- Informacja
- zamiast
- zintegrowany
- najnowszych
- izolacja
- IT
- jpg
- lipiec
- właśnie
- Knuggety
- Wiedzieć
- znany
- Nazwisko
- później
- nauka
- lewarowanie
- lubić
- załadować
- długo
- Popatrz
- wyglądał
- WYGLĄD
- Partia
- maszyna
- uczenie maszynowe
- Dokonywanie
- i konserwacjami
- ręcznie
- wiele
- materiał
- średni
- Metryka
- może
- Górnictwo
- ML
- model
- modele
- miesięcy
- jeszcze
- przeniesienie
- średnia ruchoma
- bardzo potrzebne
- wielokrotność
- Nowości
- Nowa cecha
- Nowe funkcje
- już dziś
- of
- urzędnik
- często
- on
- ONE
- tylko
- Option
- Opcje
- or
- organizacji
- oryginalny
- Inne
- ogólny
- minęło
- Ludzie
- doskonały
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- Osobiście
- Platforma
- plato
- Analiza danych Platona
- PlatoDane
- Popularny
- Możliwy do przewidzenia
- przepowiednia
- Analityka predykcyjna
- Prognozy
- presentation
- Podgląd
- wygląda tak
- cele
- Python
- zasięg
- Czytaj
- Prawdziwy świat
- Przyczyny
- związane z
- wydany
- obsługi produkcji rolnej, która zastąpiła
- wymagać
- ryzyko
- taki sam
- powiedzieć
- Naukowiec
- widzieć
- wydaje
- senior
- Serie
- kilka
- Share
- Short
- krótkoterminowy
- Prosty
- ponieważ
- So
- rozwiązanie
- kilka
- coś
- prędkość
- kolce
- Cel
- Nadal
- taki
- Utrzymany
- podpory
- semestr
- że
- Połączenia
- Stolica
- Im
- następnie
- Tam.
- w związku z tym
- Te
- rzeczy
- to
- w tym roku
- Przez
- czas
- Szereg czasowy
- do
- narzędzie
- tradycyjny
- Trendy
- prawdziwy
- Tutorial
- drugiej
- posługiwać się
- używany
- zastosowania
- za pomocą
- zazwyczaj
- wykorzystuje
- Uzbekistan
- różnorodność
- różnorodny
- początku.
- była
- Droga..
- we
- jeśli chodzi o komunikację i motywację
- który
- Podczas
- szeroki
- Szeroki zasięg
- Wikipedia
- będzie
- wiatr
- w Zimie
- w
- działa
- by
- rok
- lat
- ty
- Twój
- zefirnet