Mitme muutujaga aegridade ennustamine BQML-iga – KDnuggets

Mitme muutujaga aegridade ennustamine BQML-iga – KDnuggets

Allikasõlm: 2796796

Mitme muutujaga aegridade ennustamine BQML-iga
Pilt Pexels
 

Eelmisel talvel pidasin ettekande teemalEnnustatavam aegridade mudel BQML-iga'kell GDG DevFest Tashkent 2022 Usbekistani pealinnas Taškendis.

Kavatsesin jagada osa materjalist ja koodist pärast DevFesti, mida esitluses kasutasin, kuid aeg on edasi läinud ja BQML-is on välja antud uusi funktsioone, mis kattuvad osa sisuga.

Seetõttu mainin lühidalt hoopis uusi funktsioone ja mõningaid veel kehtivaid asju.

Aegridade andmed kasutavad paljud organisatsioonid erinevatel eesmärkidel ja on oluline märkida, et "ennustav analüüss” puudutab ajas „tulevikku”. Aegridade ennustavat analüütikat on kasutatud lühikeses, keskmises ja pikas perspektiivis ning kuigi sellel on palju ebatäpsusi ja riske, on see ka pidevalt paranenud.

Kuna "ennustus" näib olevat nii kasulik, võib teil tekkida kiusatus rakendada aegridade ennustusmudelit, kui teil on aegridade andmed. Kuid aegridade ennustusmudelid on tavaliselt arvutusmahukad ja kui teil on palju andmeid, on see arvutusmahukam. Seega on selle töötlemine, analüüsikeskkonda laadimine ja analüüsimine tülikas ja raske

Kui kasutate Google'i BigQuery andmete haldamiseks võite kasutada BQML (BigQuery ML), et rakendada oma andmetele masinõppe algoritme lihtsalt, lihtsalt ja kiiresti. Paljud inimesed kasutavad BigQueryt paljude andmete töötlemiseks ja suur osa neist andmetest on sageli aegridade andmed. Ja BQML toetab ka aegridade mudeleid.

Praegu BQML-i toetatud aegridade mudeli aluseks on Automaatregressiivne integreeritud liikuv keskmine (ARIMA) mudel. ARIMA mudel ennustab ainult olemasolevaid aegridade andmeid ja sellel on teadaolevalt hea lühiajaline ennustusjõudlus ning kuna see ühendab AR ja MA, on see populaarne mudel, mis suudab katta väga erinevaid aegridade mudeleid.

See mudel on aga üldiselt arvutusmahukas ja kuna see kasutab ainult normaalsusega aegridade andmeid, on seda raske kasutada trendide või hooajalisuse korral. Seetõttu ARIMA_PLUS BQML sisaldab valikutena mitmeid lisafunktsioone. Saate oma mudelile lisada aegridade lagunemise, hooajalisuse tegurid, hüppeid ja langusi, koefitsientide muutusi ja palju muud või saate need eraldi läbi vaadata ja mudelit käsitsi reguleerida. Mulle isiklikult meeldib ka asjaolu, et saate perioodilisust kohandada, lisades automaatselt puhkusevalikud, mis on üks eeliseid, kui kasutate platvormi, mis ei nõua kuupäevadega seotud teabe käsitsi lisamist.

 

Mitme muutujaga aegridade ennustamine BQML-iga
ARIMA_PLUS struktuur (alates BQML käsiraamat)
 

Võite sellele viidata lehekülg rohkem informatsiooni.

Kui aga rääkida reaalmaailma rakendustest, pole aegridade ennustamine nii lihtne. Muidugi oleme ARIMA_PLUS abil suutnud tuvastada mitu tsüklit ja lisada sekkumisi mitmele aegridale, kuid aegridade andmetega on seotud palju väliseid tegureid ja ainult väga vähesed sündmused toimuvad eraldi. Statsionaarsust võib aegridade andmetest olla raske leida.

Algses esitluses vaatasin, kuidas käsitleda neid reaalmaailma aegridade andmeid ennustusmudeli koostamiseks. lagundada need aegread, puhastage lagunenud andmed, importige need Pythoni ja seejärel põimige seda teiste muutujatega, et luua mitme muutujaga aegrea funktsioon, hinnata põhjuslikku seost ja lisada see ennustusmudelisse ning hinnata, mil määral mõju sündmuste muutustega muutub.

Ja viimase paari kuu jooksul uus funktsioon mitme muutujaga aegrea funktsioonide loomiseks väliste muutujatega (ARIMA_PLUS_XREG, XREG allpool) on muutunud BQML-i otseseks funktsiooniks.

Saate selle kõige kohta lugeda siin(see on eelvaates 2023. aasta juulis, kuid ma arvan, et see on saadaval hiljem sel aastal).

Ma kandideerin ametlik õpetus et näha, kuidas see on võrreldav traditsioonilise ühemõõtmelise aegridade mudeliga, ja näeme, kuidas see töötab.

Sammud on samad, mis õpetuses, nii et ma ei dubleeri neid, kuid siin on kaks minu loodud mudelit. Esiteks lõin traditsioonilise ARIMA_PLUS mudel ja seejärel an XREG mudel kasutab samu andmeid, kuid lisab temperatuuri ja tuule kiiruse ajal.

# 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')

 

Neid mitmeid andmeid kasutav mudel näeks välja umbes selline

 

Mitme muutujaga aegridade ennustamine BQML-iga
Struktuur ARIMA_PLUS_XREG (alates BQML käsiraamat)
 

ML.Evaluate'iga võrreldakse kahte mudelit.

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))

 

Tulemused on allpool.

ARIMA_PLUS

 

Mitme muutujaga aegridade ennustamine BQML-iga
 

ARIMA_PLUS_XREG

 

Mitme muutujaga aegridade ennustamine BQML-iga
 

Näete, et XREG-mudel on ees põhiliste jõudlusnäitajate osas, nagu MAE, MSE ja MAPE. (Ilmselt pole see ideaalne lahendus, andmetest sõltuvja võime lihtsalt öelda, et saime veel ühe kasuliku tööriista.)

Mitme muutujaga aegridade analüüs on paljudel juhtudel väga vajalik valik, kuid selle rakendamine on erinevatel põhjustel sageli keeruline. Nüüd saame seda kasutada, kui põhjused on andmete ja analüüsi etappides. Näib, et meil on selleks hea võimalus, seega on hea sellest teada ja loodetavasti on see paljudel juhtudel kasulik.
 
 
JeongMin Kwon on vabakutseline vanemandmeteadlane, kellel on rohkem kui 10 aastat praktilist kogemust masinõppemudelite ja andmekaevandamise vallas.
 

Ajatempel:

Veel alates KDnuggets