Unitate 4 / 11

Suport pentru analize și prognoze în serii temporale

Câștiguri:

  • Înțelegerea conceptelor serii temporale, cum ar fi tendința, sezonalitatea, ciclul și staționaritatea cu sprijinul inteligenței artificiale și capacitatea de a analiza corect o serie
  • Abilitatea de a instala ARIMA, ETS și modele de referință simple în inteligența artificială ca cod, de a produce predicții și de a le evalua cu backtesting
  • A fi capabil să înțeleagă fragilitatea prognozei în fața intervalului de incertitudine, a limitei modelului și a ruperii structurale și să mențină că responsabilitatea pentru prognoză rămâne a economistului.

Limbajul economiei este timpul. Inflația, creșterea, șomajul, ratele de schimb — toate sunt serii care curg în timp, iar unul dintre lucrurile pe care economistul este întrebat cel mai des este „deci ce se întâmplă mai departe?” este întrebarea. În această unitate, vom folosi inteligența artificială pentru a înțelege conceptele serii de timp, pentru a construi codul modelului și pentru a produce prognoze. Dar să clarificăm cadrul de la bun început: O prognoză nu este o profeție, ci o predicție condiționată în condiții de incertitudine, iar responsabilitatea îi revine economistului. AI vă poate scrie codul ARIMA în câteva minute; Dar ființa umană este cea care decide dacă această predicție este rezonabilă sau nu și dacă se va prăbuși în fața unei rupturi structurale.

Componentele unei serii temporale

Vă ajută să ne gândim la orice serie economică împărțind-o în patru părți:

  • Tendință (tendință). Direcție pe termen lung; precum traiectoria de creștere a economiei.
  • Sezonalitatea. Model care se repetă în mod regulat pe tot parcursul anului; Turismul crește vara, comerțul cu amănuntul crește în decembrie.
  • Ciclu (conjunctură). Mai lung decât sezonul, suișuri și coborâșuri neregulate; perioade de expansiune și contracție.
  • Neregulat/zgomot. Fluctuație aleatoare, inexplicabilă.

Înainte de a estima o serie, este necesară descompunerea acestor componente. Pentru că să te uiți la serialul brut și să spui „cad” poate fi înșelător: poate că ești doar într-un jgheab sezonier.

Există și conceptul de staționaritate: proprietățile statistice (media, varianța) unei serii nu se modifică în timp. Majoritatea seriilor economice nu sunt staţionare (în continuă creştere); Multe modele necesită diferențiere (scăderea unei perioade din alta) sau staționare cu logaritmi înainte de a construi. AI recomandă acești pași, dar știind de ce sunt necesari aceștia te protejează.

Sfat: întotdeauna trasează și descompune seria înainte de a prezice. O aparentă rupere structurală (de exemplu, o criză sau o reformă valutară) va păcăli chiar și cel mai avansat model. Diagrama este cel mai ieftin instrument de diagnosticare.

Modele: de la simplu la complex, dar mai întâi reperul

Regula de aur în prognoza serii de timp: începeți întotdeauna cu un model de referință simplu. Cea mai simplă prognoză este „prognoza naivă”: mâine va fi egal cu azi (sau naiv sezonier: această lună este egală cu aceeași lună a anului trecut). Dacă un model complex nu poate învinge această predicție naivă, complexitatea este inutilă.

Apoi metode utilizate frecvent:

  • ETS / Netezire exponențială. O familie care înmoaie nivelul, tendința și sezonalitatea ponderându-le.
  • AVOARE. Modelul clasic care combină componente autoregresive (pe baza valorilor trecute) și medii mobile; versiune sezonieră SARIMA.
  • Modele bazate pe regresie/explicative. Explicarea unei variabile cu alți indicatori (de exemplu, cererea în funcție de venit și preț).

AI poate codifica toate acestea în statsmodels (biblioteca Python). Sarcina ta este să selectezi și să validezi modele.

Backtest: test de predicție

Nu înseamnă nimic dacă un model „se potrivește bine” cu datele istorice; Suficient de flexibil pentru a se potrivi oricărui model (aceasta se numește supraajustare). Adevărata întrebare: cât de bine prezice modelul perioadele pe care nu le-a văzut? Pentru a măsura acest lucru, faceți backtesting: împărțiți datele la o dată, antrenați modelul cu partea anterioară, îl puneți să prezică următoarea parte „ca și cum ar fi viitorul” și o comparați cu realitatea. Măsurile de eroare (de exemplu, MAE - eroare absolută medie sau RMSE - eroare pătrată medie) vă permit să comparați modelul cu benchmark-ul.

Atenție: Nu antrenați modelul cu datele pe care le-ați evaluat. Măsurați succesul predicției numai în perioadele care nu sunt utilizate în antrenament. Altfel te vei înșela pe tine însuți; Modelul iese grozav pe hârtie, dar inutil în realitate.

Incertitudine: interval, nu estimare punctuală

Un singur număr („inflația va fi de 24% până la sfârșitul anului”) emană o falsă certitudine. Estimarea sinceră include un interval și o probabilitate: „în banda de 21-27 la sută, scenariul central este de 24 la sută”. Incertitudinea prognozei este exprimată în intervalele de încredere produse de model; dar incertitudinea reală este mai mare decât aceasta, deoarece ipotezele modelului pot fi și ele greșite. Ruperea structurală (schimbarea politicii, șoc extern) este cel mai mare risc pe care modelul nu îl poate vedea.

trei mini cutii

Cazul 1 – Eșecul de a depăși nivelul de referință. Un analist a pus AI să construiască un complex SARIMA pentru vânzările lunare cu amănuntul. În backtest, eroarea absolută medie a modelului a fost mai gravă decât prognoza naivă sezonieră care spunea „luna aceasta este egală cu aceeași lună a anului trecut”. Analistul a abandonat modelul complex; A luat ca bază presupunerea naivă și a adăugat o corecție de expert. Simplitatea învinge.

Cazul 2 — Rupere structurală. O instituție a folosit modelul de inflație pe care l-a antrenat cu date înainte de șocul cursului de schimb pentru perioada post-șoc. Modelul a subestimat sever inflația deoarece și-a asumat dinamica perioadei de calm trecută. Lecție: modelul își asumă lumea în care este antrenat; Când lumea se schimbă, predicția se prăbușește. Dacă economistul s-ar uita la grafic, ar vedea ruptura.

Cazul 3 — Onestitatea gamei. Un economist a prezentat conducerii previziunile sale de creștere pentru sfârșitul anului nu ca o singură cifră, ci ca „bandă de 3,0-4,2 la sută, acestea sunt ipotezele de bază”. La finele anului, realizarea a fost de 3,6 la sută; Era în trupă. Dacă ar fi dat un singur număr, ar fi putut fi etichetat „greșit”; gama și ipotezele erau atât sincere, cât și încrederea menținută.

Tabel de selecție a modelului

Stare

pornire corectă

notă

Fiecare presupunere

Benchmark naiv / sezonier naiv

Baza de batut

Trend + sezonalitate, plat

ETS (netezire exponențială)

Ușor de instalat și de comentat

Serii autocorelate

(S)ARIMA

Necesita stabilizare

Există o variabilă explicativă

Bazat pe regresie

Predictorii viitorului trebuie, de asemenea

Suspiciunea de rupere structurală

Model + corectare expert

Modelul pur nu este suficient

Patru șabloane copiabile

1) Analizare și diagnosticare:

Trasează acea serie lunară [serie], apoi separați-o în tendințe/sezonalitate/componente reziduale (modele statistice). Verificați dacă este staționar (test ADF) și, dacă este necesar, explicați ce transformare (log, diferență) recomandați. Marcați dacă există o pauză structurală vizibilă în diagramă.

2) Comparație benchmark + model:

Mai întâi, stabiliți o prognoză sezonieră naivă de referință pentru această serie. Apoi configurați un ETS și un SARIMA. Comparați toate trei pe baza MAE și RMSE cu un backtest (testare în ultimele 12 luni). Tabelați rezultatele și precizați clar care model depășește punctul de referință.

3) Estimare și interval de incertitudine:

Prognoza urmatoarele 6 perioade pentru modelul pe care l-am ales si da intervale de incredere de 80%/95%. Prezentați estimarea ca un interval, nu ca un singur număr. Precizați că această gamă acoperă NUMAI incertitudinea modelului, nu riscul de rupere structurală/șoc extern.

4) Citirea backtest:

Interpretați aceste rezultate backtest [tabel]. Modelul depășește de fapt nivelul de referință sau diferența este nesemnificativă din punct de vedere statistic? Indicați în ce perioade modelul dvs. a făcut cele mai multe greșeli și puneți la îndoială posibilul motiv economic al acestui lucru (criză, schimbare sezonieră).

Prompt slab / Prompt puternic

Prompt slab:

Ghiciți această serie.

Inteligența artificială construiește un model aleatoriu, nu testează înapoi, dă un număr impar; Nu știi dacă modelul funcționează sau nu.

Solicitare puternică:

Mai întâi descompuneți seria actuală a inflației lunare și căutați pauze. Backtest ETS și SARIMA în ultimele 12 luni față de un etalon naiv sezonier, comparați cu MAE. Alegeți modelul care depășește punctul de referință, dați o prognoză pe 6 luni și puneți un interval de 80%. Scrieți riscul de rupere a structurii ca un avertisment separat. Afișați codul pentru fiecare pas și numerele rezumative pe care le pot verifica manual.

Greșeli comune

  • Trecerea într-un model complex fără a stabili puncte de referință. Complexitatea nu înseamnă succes.
  • Evaluarea modelului pe baza datelor pe care s-a antrenat. A confunda respectarea excesivă cu succes.
  • Oferirea unei singure estimări punctuale. falsă certitudine; intervalul și ipoteza necesare.
  • Ignorând ruptura structurală. Purtând orbește dinamica trecutului în viitor.
  • Sărirea stabilizării. Relații false și predicții distorsionate.
  • Prezentarea predicției ca o profeție. Ascunzând incertitudinea și responsabilitatea.

Pe scurt

Prognoza seriei temporale se face prin separarea unei serii în componentele sale, făcând-o staționară, stabilirea unui benchmark simplu, compararea modelelor prin backtesting și prezentarea rezultatului în mod onest cu intervalul de incertitudine. Inteligența artificială generează rapid codul pentru toți acești pași; Însă responsabilitatea pentru selecția modelului, judecata de rupere structurală și prognoza revine economistului. O predicție nu este o profeție, ci o predicție condiționată și incertă.

Sarcina de aplicare

Alegeți o serie economică lunară (de exemplu, indicele producției industriale). Separați și scanați pentru erupții cu primul șablon, testați ETS/SARIMA în raport cu benchmark-ul naiv sezonier cu al 2-lea șablon, produceți o prognoză de interval de 6 luni cu al treilea șablon. Observați dacă modelul dvs. depășește de fapt nivelul de referință și semnalați orice rupturi structurale pe care le vedeți.

lista de verificare

  • [ ] Am trasat serialul și l-am diagnosticat în termeni de tendință/sezonalitate/pauză.
  • [ ] Am aplicat staționizare (log/diferență) dacă este necesar și știu motivul.
  • [ ] Am stabilit un benchmark simplu și am comparat modelul complex cu acesta.
  • [ ] Am evaluat modelul doar în perioadele în care nu a fost în antrenament (backtest).
  • [ ] Am prezentat estimarea cu un interval de incertitudine, nu cu un singur număr.
  • [ ] Am menționat riscul de rupere structurală/șoc extern ca un avertisment separat.
  • [ ] Am susținut că responsabilitatea pentru predicție și judecata finală este a mea.