Többváltozós idősoros előrejelzés BQML-lel – KDnuggets

Többváltozós idősoros előrejelzés BQML-lel – KDnuggets

Forrás csomópont: 2796796

Többváltozós idősoros előrejelzés BQML-lel
Kép Pexels
 

Tavaly télen előadást tartottam aMegjósolhatóbb idősoros modell BQML-lel' nál nél GDG DevFest Taskent 2022 Taskentben, Üzbegisztán fővárosában.

A bemutatóban használt DevFest után meg akartam osztani néhány anyagot és kódot, de telt az idő, és új funkciók jelentek meg a BQML-ben, amelyek átfedik a tartalom egy részét.

Ezért ehelyett röviden megemlítem az újdonságokat és néhányat, amelyek még mindig érvényesek.

Idősor adatok sok szervezet használja különféle célokra, és fontos megjegyezni, hogy "prediktív analitikuss” az idő „jövőjéről” szól. Az idősoros prediktív elemzést rövid, közép- és hosszú távon alkalmazták, és bár számos pontatlansággal és kockázattal rendelkezik, folyamatosan javult.

Mivel az „előrejelzés” nagyon hasznosnak tűnik, kísértést érezhet idősor-előrejelzési modell alkalmazására, ha idősor-adatai vannak. Az idősor-előrejelzési modellek azonban általában számításigényesek, és ha sok adatunk van, akkor számításigényesebbek lesznek. Tehát nehézkes és nehéz feldolgozni, betölteni az analitikai környezetbe és elemezni

Ha a Google BigQuery adatkezeléshez használhatja BQML (BigQuery ML) gépi tanulási algoritmusok egyszerű, egyszerű és gyors alkalmazása az adatokra. Sokan sok adat feldolgozására használják a BigQuery-t, és ezeknek az adatoknak nagy része gyakran idősoros adat. És A BQML támogatja az idősoros modelleket is.

A BQML által jelenleg támogatott idősor-modell alapja a AutoRegresszív integrált mozgóátlag (ARIMA) modell. Az ARIMA modell csak meglévő idősor-adatok felhasználásával jósol, és köztudottan jó rövid távú előrejelzési teljesítménye van, és mivel egyesíti az AR-t és az MA-t, népszerű modell, amely az idősor-modellek széles skáláját fedi le.

Ez a modell azonban összességében számításigényes, és mivel csak normalitású idősoros adatokat használ fel, nehezen használható trendek vagy szezonalitás esetén. Ebből adódóan, ARIMA_PLUS a BQML-ben számos további funkciót is tartalmaz opcióként. A modellhez hozzáadhat idősor-bontást, szezonalitási tényezőket, kiugrásokat és zuhanásokat, együtthatóváltozásokat és még sok mást, vagy külön-külön is átnézheti ezeket, és manuálisan módosíthatja a modellt. Személy szerint az is tetszik, hogy az ünnepi opciók automatikus beépítésével beállíthatja az időszakosságot, ami az egyik előnye egy olyan platform használatának, amely nem igényli a dátumokhoz kapcsolódó információk manuális hozzáadását.

 

Többváltozós idősoros előrejelzés BQML-lel
Az ARIMA_PLUS felépítése (tól BQML kézikönyv)
 

Erre hivatkozhat oldal további információért.

Ha azonban valós alkalmazásokról van szó, az idősorok előrejelzése nem ilyen egyszerű. Természetesen az ARIMA_PLUS segítségével több ciklust is azonosíthatunk, és több idősorhoz is hozzáadtunk beavatkozásokat, de sok külső tényező kapcsolódik az idősorok adataihoz, és csak nagyon kevés esemény történik elszigetelten. A stacionaritást nehéz megtalálni az idősoros adatokban.

Az eredeti előadásban azt vizsgáltam, hogyan kell kezelni ezeket a valós idősoros adatokat az előrejelzési modell elkészítéséhez. felbontani ezeket az idősorokat, tisztítsa meg a felbontott adatokat, importálja Pythonba, majd összefonja más változókkal, hogy többváltozós idősorfüggvényt hozzon létre, becsülje meg az ok-okozati összefüggést és építse be egy előrejelzési modellbe, és becsülje meg, hogy a hatás milyen mértékben változik az események változásaival.

És az elmúlt néhány hónapban egy új funkció többváltozós idősorfüggvények létrehozásához külső változókkal (ARIMA_PLUS_XREG, XREG alább) a BQML egyenes funkciója lett.

Mindent olvashatsz róla itt(2023 júliusától előzetesben van, de feltételezem, hogy még idén elérhető lesz).

alkalmazom a hivatalos oktatóanyag hogy lássuk, hogyan viszonyul egy hagyományos egyváltozós idősoros modellhez, és láthatjuk, hogyan működik.

A lépések ugyanazok, mint az oktatóanyagban, ezért nem fogom lemásolni őket, de itt van az általam készített két modell. Először egy hagyományosat készítettem ARIMA_PLUS modell, majd egy XREG modell ugyanazokat az adatokat használja, de hozzáadja az akkori hőmérsékletet és szélsebességet.

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

 

Egy modell, amely ezt a több adatot használja, valahogy így nézne ki

 

Többváltozós idősoros előrejelzés BQML-lel
Struktúra ARIMA_PLUS_XREG (tól BQML kézikönyv)
 

Két modellt hasonlítanak össze az ML.Evaluate-tel.

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

 

Az eredmények lent találhatók.

ARIMA_PLUS

 

Többváltozós idősoros előrejelzés BQML-lel
 

ARIMA_PLUS_XREG

 

Többváltozós idősoros előrejelzés BQML-lel
 

Láthatja, hogy a Az XREG modell megelőzi az olyan alapvető teljesítménymutatókat, mint a MAE, MSE és MAPE. (Nyilván ez nem tökéletes megoldás, adatfüggő, és csak annyit mondhatunk, hogy újabb hasznos eszközt kaptunk.)

A többváltozós idősorelemzés sok esetben nagyon szükséges lehetőség, de gyakran nehéz alkalmazni különböző okok miatt. Most már használhatjuk, ha az okok adat- és elemzési lépésekben vannak. Úgy tűnik, erre van egy jó lehetőségünk, ezért jó tudni róla, és remélhetőleg sok esetben hasznos lesz.
 
 
JeongMin Kwon szabadúszó vezető adattudós, aki több mint 10 éves gyakorlati tapasztalattal rendelkezik a gépi tanulási modellek és az adatbányászat terén.
 

Időbélyeg:

Még több KDnuggets