Jedinica 4 / 11

Analiza vremenskih serija i podrška prognozama

Dobici:

  • Razumijevanje koncepata vremenskih serija kao što su trend, sezonalnost, ciklus i stacionarnost uz podršku umjetne inteligencije i sposobnost pravilnog raščlanjivanja serije
  • Sposobnost instaliranja ARIMA, ETS-a i jednostavnih benchmark modela u umjetnu inteligenciju kao kod, proizvodnju predviđanja i njihovu evaluaciju uz backtesting
  • Biti u stanju razumjeti krhkost prognoze u odnosu na raspon neizvjesnosti, ograničenje modela i strukturalni prekid, te držati da odgovornost za prognozu ostaje na ekonomisti.

Jezik ekonomije je vrijeme. Inflacija, rast, nezaposlenost, devizni kursevi — sve su to nizovi koji teku tokom vremena, a jedna od stvari koje se ekonomisti najčešće pitaju je "pa šta će se dalje dešavati?" je pitanje. U ovoj jedinici koristit ćemo umjetnu inteligenciju da razumijemo koncepte vremenskih serija, izgradimo kod modela i napravimo prognoze. Ali razjasnimo okvir od samog početka: prognoza nije proročanstvo, već uslovno predviđanje pod neizvjesnošću, a odgovornost je na ekonomisti. AI vam može napisati ARIMA kod za nekoliko minuta; Ali ljudsko biće je ono koje odlučuje da li je to predviđanje razumno ili ne i da li će se srušiti pred strukturalnim slomom.

Komponente vremenske serije

Pomaže razmišljati o bilo kojoj ekonomskoj seriji raščlanjivanjem na četiri dijela:

  • Trend (tendencija). Dugoročni smjer; kao što je put rasta privrede.
  • Sezonalnost. Uzorak koji se redovno ponavlja tokom cijele godine; Turizam raste ljeti, maloprodaja raste u decembru.
  • Ciklus (konjunktura). Duže od sezone, nepravilni usponi i padovi; periodi ekspanzije i kontrakcije.
  • Nepravilan/buka. Neobjašnjiva, nasumična fluktuacija.

Prije procjene serije, potrebno je dekomponirati ove komponente. Jer gledanje na sirovu seriju i izgovaranje "pada" može dovesti u zabludu: možda ste samo u sezonskom koritu.

Postoji i koncept stacionarnosti: statistička svojstva (srednja vrijednost, varijansa) serije se ne mijenjaju tokom vremena. Većina ekonomskih serija nije stacionarna (konstantno raste); Mnogi modeli zahtijevaju razlikovanje (oduzimanje jedne periode od druge) ili stacionarizaciju s logaritmima prije izgradnje. AI preporučuje ove korake, ali saznanje zašto su potrebni štiti vas.

Savjet: Uvijek zacrtajte i rastavite niz prije predviđanja. Očigledni strukturalni prekid (npr. kriza ili reforma valute) će prevariti čak i najnapredniji model. Tabela je najjeftiniji dijagnostički alat.

Modeli: od jednostavnih do složenih, ali prvo referentni

Zlatno pravilo u predviđanju vremenskih serija: uvijek počnite s jednostavnim referentnim modelom. Najjednostavnija prognoza je „naivna prognoza“: sutra će biti jednako današnjem (ili sezonska naivna: ovaj mjesec je jednak istom mjesecu prošle godine). Ako složeni model ne može nadmašiti ovo naivno predviđanje, složenost je uzaludna.

Zatim najčešće korištene metode:

  • ETS / Eksponencijalno izglađivanje. Porodica koja omekšava nivo, trend i sezonskost tako što ih teži.
  • CALLING. Klasični model koji kombinuje autoregresivne (zasnovane na prošlim vrednostima) i komponente pokretnog proseka; sezonska verzija SARIMA.
  • Regresijski zasnovani/objašnjavajući modeli. Objašnjavanje varijable s drugim pokazateljima (npr. potražnja prema prihodu i cijeni).

AI može kodirati sve ovo u statsmodelima (Python biblioteka). Vaš posao je da odaberete i potvrdite modele.

Backtest: test predviđanja

Ne znači ništa ako se model "lepo uklapa" sa istorijskim podacima; Dovoljno fleksibilan da stane na bilo koji model (ovo se zove overfitting). Pravo pitanje: koliko dobro model predviđa periode koje nije vidio? Da biste to izmjerili, radite backtesting: dijelite podatke na datum, trenirate model sa prethodnim dijelom, predviđate sljedeći dio "kao da je budućnost" i upoređujete ga sa stvarnošću. Mere greške (na primer, MAE — srednja apsolutna greška, ili RMSE — srednja kvadratna greška) omogućavaju vam da uporedite model sa referentnom vrednošću.

Oprez: Nemojte trenirati model s podacima koje ste procijenili. Mjerite uspjeh predviđanja samo u periodima koji se ne koriste u treningu. U suprotnom ćete se prevariti; Model ispada odličan na papiru, ali beskorisan u stvarnosti.

Neizvjesnost: raspon, a ne procjena tačke

Jedna brojka („inflacija će biti 24 posto do kraja godine“) odiše lažnom sigurnošću. Iskrena procjena uključuje raspon i vjerovatnoću: "u opsegu od 21-27 posto, središnji scenario je 24 posto". Neizvjesnost prognoze se izražava u intervalima povjerenja koje proizvodi model; ali stvarna neizvjesnost je veća od ove, jer pretpostavke modela također mogu biti pogrešne. Strukturalni prekid (promjena politike, eksterni šok) je najveći rizik koji model ne može vidjeti.

tri mini kofera

Slučaj 1 — Neuspješno nadmašivanje standarda. Analitičar je dao AI da izgradi kompleks SARIMA za mjesečnu maloprodaju. U zadnjem testu, prosječna apsolutna greška modela bila je gora od sezonske naivne prognoze koja je rekla da je "ovaj mjesec jednak istom mjesecu prošle godine". Analitičar je napustio složeni model; Za osnovu je uzeo naivno nagađanje i dodao stručnu ispravku. Jednostavnost pobjeđuje.

Slučaj 2 — Prelom strukture. Institucija je koristila model inflacije koji je obučila sa podacima prije šoka deviznog kursa za period nakon šoka. Model je ozbiljno potcijenio inflaciju jer je pretpostavio dinamiku proteklog mirnog perioda. Pouka: model pretpostavlja svijet u kojem je obučen; Kada se svijet promijeni, predviđanje se ruši. Kada bi ekonomista pogledao grafikon, vidio bi prekid.

Slučaj 3 — Iskrenost raspona. Ekonomista je upravi predstavio svoju prognozu rasta na kraju godine ne kao jednu cifru, već kao "opseg od 3,0-4,2 posto, ovo su osnovne pretpostavke". Na kraju godine realizacija je bila 3,6 posto; Bilo je u bendu. Da je dao samo jedan broj, možda bi bio označen kao "pogrešan"; raspon i pretpostavke su bili i iskreni i održano povjerenje.

Tabela za odabir modela

Status

pravilan početak

napomena

Svako nagađanje

Naivni / sezonski naivni benchmark

Baza koju treba pobediti

Trend + sezonalnost, stan

ETS (eksponencijalno izglađivanje)

Lako se instalira i komentira

Autokorelirane serije

(S)ARIMA

Potrebna je stabilizacija

Postoji varijabla koja objašnjava

Na osnovu regresije

Prediktori budućnosti takođe moraju

Sumnja na strukturalni lom

Model + stručna korekcija

Čist model nije dovoljan

Četiri šablona za kopiranje

1) Parsiranje i dijagnostika:

Zacrtajte tu mjesečnu seriju [seriju], a zatim je razdvojite na komponente trenda/sezonskosti/preostale (statsmodels). Provjerite je li nepomičan (ADF test) i, ako je potrebno, objasnite koju transformaciju (dnevnik, razlika) preporučujete. Označite postoji li vidljiva strukturna lom na grafikonu.

2) Benchmark + poređenje modela:

Prvo uspostavite sezonsku naivnu benchmark prognozu za ovu seriju. Zatim postavite ETS i SARIMA. Uporedite sva tri na osnovu MAE i RMSE sa backtestom (testiranjem u poslednjih 12 meseci). Tabelarni prikaz rezultata i jasno navedite koji model je nadmašio standard.

3) Raspon procjene i nesigurnosti:

Predvidite sljedećih 6 perioda za model koji sam izabrao i dajte intervale povjerenja od 80%/95%. Predstavite procjenu kao raspon, a ne kao jedan broj. Objasnite da ovaj raspon SAMO pokriva nesigurnost modela, a ne rizik od loma strukture/spoljnog udara.

4) Očitavanje Backtest:

Protumačite ove rezultate backtest-a [tabela]. Da li model zapravo nadmašuje standard ili je razlika statistički beznačajna? Navedite u kojim periodima je vaš model napravio najviše grešaka i dovedite u pitanje mogući ekonomski razlog za to (kriza, sezonske promjene).

Slaba prompt / Jaka prompt

Slab upit:

Pogodi ovu seriju.

Umjetna inteligencija gradi nasumični model, ne testira nazad, daje neparan broj; Ne znate da li model radi ili ne.

Snažan upit:

Prvo dekomponirajte trenutnu mjesečnu seriju inflacije i skenirajte pauze. Testirajte ETS i SARIMA u posljednjih 12 mjeseci u odnosu na sezonski naivni benchmark, uporedite sa MAE. Odaberite model koji nadmašuje referentnu vrijednost, dajte prognozu za 6 mjeseci unaprijed i postavite raspon od 80%. Napišite rizik od loma konstrukcije kao posebno upozorenje. Prikaži kod za svaki korak i sažetak brojeva koje mogu ručno provjeriti.

Uobičajene greške

  • Uskakanje u složeni model bez postavljanja mjerila. Kompleksnost nije jednaka uspjehu.
  • Procjena modela na osnovu podataka na kojima je trenirao. Pogreška prekomjerna usklađenost sa uspjehom.
  • Davanje ocjene u jednoj tački. Lažna sigurnost; potreban opseg i pretpostavka.
  • Ignoriranje strukturalnog loma. Slijepo prenošenje dinamike prošlosti u budućnost.
  • Preskakanje stabilizacije. Lažne veze i iskrivljena predviđanja.
  • Predstavljanje predviđanja kao proročanstva. Skrivanje neizvjesnosti i odgovornosti.

Ukratko

Predviđanje vremenskih serija vrši se razdvajanjem serije na njene komponente, čineći je stacionarnom, uspostavljanjem jednostavnog benčmarka, upoređivanjem modela testiranjem unazad i poštenim predstavljanjem rezultata sa rasponom nesigurnosti. Umjetna inteligencija brzo generiše kod za sve ove korake; Ali odgovornost za odabir modela, procjenu strukturalnih lomova i predviđanje leži na ekonomisti. Predviđanje nije proročanstvo, već uslovno i nesigurno predviđanje.

Zadatak aplikacije

Odaberite mjesečnu ekonomsku seriju (npr. indeks industrijske proizvodnje). Odvojite i skenirajte proboje pomoću 1. šablona, ​​testirajte ETS/SARIMA u odnosu na sezonsku naivnu referentnu vrijednost sa 2. predloškom, izradite 6-mjesečnu prognozu raspona unaprijed s 3. šablonom. Obratite pažnju na to da li vaš model zaista nadmašuje referentnu vrijednost i označite sve strukturne lomove koje vidite.

kontrolna lista

  • [ ] Nacrtao sam seriju i dijagnosticirao je u smislu trenda/sezonskosti/prekid.
  • [ ] Primijenio sam stacionarizaciju (log/razlika) ako je potrebno i znam razlog.
  • [ ] Postavio sam jednostavan benchmark i uporedio složeni model sa njim.
  • [ ] Model sam ocjenjivao samo u periodima kada nije bio na treningu (bektest).
  • [ ] Predstavio sam procjenu s rasponom nesigurnosti, a ne jednim brojem.
  • [ ] Spomenuo sam rizik od loma strukture/spoljnog šoka kao posebno upozorenje.
  • [ ] Ja sam tvrdio da odgovornost za predviđanje i konačnu presudu leži na meni.