Enhed 4 / 11

Tidsserieanalyse og prognosesupport

Gevinster:

  • Forståelse af tidsseriekoncepter som trend, sæsonbestemt, cyklus og stationaritet med støtte fra kunstig intelligens og at kunne parse en serie korrekt
  • Evne til at installere ARIMA, ETS og simple benchmark-modeller i kunstig intelligens som kode, producere forudsigelser og evaluere dem med backtesting
  • At kunne forstå prognosens skrøbelighed i forhold til usikkerhedsområde, modelgrænse og strukturelt brud og fastholde, at ansvaret for prognosen forbliver hos økonomen.

Økonomiens sprog er tid. Inflation, vækst, arbejdsløshed, valutakurser — de er alle serier, der flyder over tid, og en af ​​de ting, økonomen oftest bliver spurgt om, er "så hvad sker der så?" er spørgsmålet. I denne enhed vil vi bruge kunstig intelligens til at forstå tidsseriekoncepter, bygge modelkode og producere prognoser. Men lad os præcisere rammerne helt fra begyndelsen: En prognose er ikke en profeti, men en betinget forudsigelse under usikkerhed, og ansvaret ligger hos økonomen. AI kan skrive dig ARIMA-kode på få minutter; Men det er mennesket, der afgør, om den forudsigelse er rimelig eller ej, og om den vil bryde sammen i lyset af et strukturelt brud.

Komponenter i en tidsserie

Det hjælper at tænke på enhver økonomisk serie ved at opdele den i fire dele:

  • Tendens (tendens). Langsigtet retning; såsom væksten i økonomien.
  • Sæsonbestemthed. Mønster, der gentages regelmæssigt i løbet af året; Turismen stiger om sommeren, detailhandlen stiger i december.
  • Cyklus (konjunktur). Længere end sæsonen, uregelmæssige op- og nedture; perioder med ekspansion og sammentrækning.
  • Uregelmæssig/støj. Uforklaret, tilfældig udsving.

Før man estimerer en serie, er det nødvendigt at nedbryde disse komponenter. Fordi det kan være misvisende at se på den rå serie og sige "det falder": måske er du bare i et sæsonbetinget trug.

Der er også begrebet stationaritet: De statistiske egenskaber (middelværdi, varians) af en serie ændres ikke over tid. De fleste økonomiske serier er ikke stationære (konstant voksende); Mange modeller kræver differentiering (fratræk af en periode fra en anden) eller stationarisering med logaritmer før bygning. AI anbefaler disse trin, men at vide, hvorfor de er nødvendige, beskytter dig.

Tip: Plot og nedbryd altid serien, før du forudsiger. Et tilsyneladende strukturelt brud (f.eks. en krise eller valutareform) vil narre selv den mest avancerede model. Diagrammet er det billigste diagnostiske værktøj.

Modeller: fra simple til komplekse, men først benchmark

Den gyldne regel i tidsserieprognoser: Start altid med en simpel benchmarkmodel. Den enkleste prognose er den "naive prognose": i morgen vil være lig med i dag (eller sæsonbestemt naiv: denne måned svarer til samme måned sidste år). Hvis en kompleks model ikke kan slå denne naive forudsigelse, er kompleksitet forgæves.

Så ofte brugte metoder:

  • ETS / Eksponentiel udjævning. En familie, der blødgør niveau, trend og sæsonbestemt ved at vægte dem.
  • RINGER. Den klassiske model, der kombinerer autoregressive (baseret på tidligere værdier) og glidende gennemsnitskomponenter; sæsonbestemt version SARIMA.
  • Regressionsbaserede/forklaringsmodeller. Forklaring af en variabel med andre indikatorer (f.eks. efterspørgsel efter indkomst og pris).

AI kan kode alle disse i statsmodeller (Python-bibliotek). Din opgave er at udvælge og validere modeller.

Backtest: test af forudsigelse

Det betyder ikke noget, hvis en model "passer godt" til historiske data; Fleksibel nok til at passe til enhver model (dette kaldes overfitting). Det egentlige spørgsmål: Hvor godt forudsiger modellen perioder, den ikke har set? For at måle dette laver du backtesting: du deler dataene på en dato, træner modellen med den forrige del, får den til at forudsige den næste del "som om den var fremtiden" og sammenligner den med virkeligheden. Fejlmålinger (f.eks. MAE - middel absolut fejl eller RMSE - root mean square error) giver dig mulighed for at sammenligne modellen med benchmark.

Forsigtig: Træn ikke modellen med de data, du har evalueret. Mål kun forudsigelsessucces i perioder, der ikke bruges i træning. Ellers vil du bedrage dig selv; Modellen bliver fantastisk på papiret, men ubrugelig i virkeligheden.

Usikkerhed: rækkevidde, ikke punktestimat

Et enkelt tal ("inflationen vil være 24 procent ved udgangen af året") udstråler falsk sikkerhed. Det ærlige estimat inkluderer et interval og sandsynlighed: "i 21-27 procent-båndet er centerscenariet 24 procent". Prognose-usikkerhed er udtrykt i de konfidensintervaller, som modellen producerer; men den reelle usikkerhed er større end dette, fordi modelantagelser også kan være forkerte. Strukturelt brud (politikændring, eksternt chok) er den største risiko, som modellen ikke kan se.

tre minisager

Case 1 — Undladelse af at slå benchmark. En analytiker fik AI til at bygge en kompleks SARIMA til månedligt detailsalg. I backtesten var modellens gennemsnitlige absolutte fejl værre end den sæsonbestemte naive prognose, der sagde "denne måned er lig med samme måned sidste år." Analytikeren opgav den komplekse model; Han tog det naive gæt til grund og tilføjede en ekspertrettelse. Enkelheden vinder.

Tilfælde 2 — Strukturelt brud. Et institut brugte den inflationsmodel, det trænede med data før valutakurschokket for perioden efter chokket. Modellen undervurderede kraftigt inflationen, fordi den antog dynamikken fra den seneste rolige periode. Lektion: modellen antager den verden, den er trænet i; Når verden ændrer sig, bryder forudsigelsen sammen. Hvis økonomen kiggede på grafen, ville han se bruddet.

Case 3 — Ærlighed i rækken. En økonom præsenterede sin vækstprognose ved årets udgang for ledelsen, ikke som et enkelt tal, men som "3,0-4,2 procent bånd, disse er de underliggende antagelser." Ved årets udgang var realisationen 3,6 procent; Det var i bandet. Hvis han havde givet et enkelt tal, kunne han være blevet stemplet som "forkert"; rækkevidde og antagelser var både ærlige og bevarede tillid.

Model valg tabel

Status

ordentlig start

bemærk

Hvert gætværk

Naiv / sæsonbestemt naiv benchmark

Basen at slå

Trend + sæsonbestemt, flad

ETS (eksponentiel udjævning)

Nem at installere og kommentere

Autokorrelerede serier

(S)ARIMA

Har brug for stabilisering

Der er en forklarende variabel

Regressionsbaseret

Fremtidens forudsigere skal også

Mistanke om strukturelt brud

Model + ekspert korrektion

Ren model er ikke nok

Fire kopierbare skabeloner

1) Parsing og diagnose:

Plot den månedlige serie [serier], og adskil den derefter i trend/sæsonbestemte/restkomponenter (statsmodeller). Tjek om den er stationær (ADF-test) og forklar om nødvendigt hvilken transformation (log, difference) du anbefaler. Marker, om der er et synligt strukturelt brud i diagrammet.

2) Benchmark + model sammenligning:

Opret først en sæsonbestemt naiv benchmark-prognose for denne serie. Opret derefter en ETS og en SARIMA. Sammenlign alle tre baseret på MAE og RMSE med en backtest (test af de sidste 12 måneder). Tabeller resultaterne og angiv tydeligt, hvilken model der slog benchmark.

3) Estimat og usikkerhedsområde:

Forudsig de næste 6 perioder for den model, jeg valgte, og giv 80%/95% konfidensintervaller. Præsenter estimatet som et interval, ikke som et enkelt tal. Gør det klart, at dette udvalg KUN dækker modelusikkerhed, ikke risikoen for strukturelt brud/ydre stød.

4) Backtest-læsning:

Fortolk disse backtest-resultater [tabel]. Slår modellen rent faktisk benchmark, eller er forskellen statistisk ubetydelig? Angiv, i hvilke perioder din model lavede flest fejl, og spørg den mulige økonomiske årsag til dette (krise, sæsonbestemt ændring).

Svag prompt / Stærk prompt

Svag prompt:

Gæt denne serie.

Kunstig intelligens bygger en tilfældig model, backtester ikke, giver et ulige tal; Du ved ikke om modellen virker eller ej.

Kraftig prompt:

Opdel først den aktuelle månedlige inflationsserie og scan for pauser. Backtest ETS og SARIMA i de sidste 12 måneder mod et sæsonbestemt naivt benchmark, sammenlignet med MAE. Vælg den model, der slår benchmark, giv en 6-måneders forudsigelse og sæt en rækkevidde på 80 %. Skriv risikoen for strukturelt brud som en separat advarsel. Vis koden for hvert trin og oversigtsnumre, som jeg kan verificere manuelt.

Almindelige fejl

  • Springer ind i kompleks model uden at opsætte benchmarks. Kompleksitet er ikke lig med succes.
  • Evaluering af modellen på de data, den trænede på. At tage fejl af overdreven compliance for succes.
  • Giver et enkelt punkt estimat. Falsk sikkerhed; rækkevidde og antagelse påkrævet.
  • Ignorerer det strukturelle brud. Blindt bære fortidens dynamik ind i fremtiden.
  • Springer over stabilisering. Falske forhold og forvrænget forudsigelse.
  • Præsentation af forudsigelsen som en profeti. Skjuler usikkerhed og ansvar.

Sammenfattende

Tidsserieprognoser udføres ved at adskille en serie i dens komponenter, gøre den stationær, etablere et simpelt benchmark, sammenligne modellerne ved backtesting og præsentere resultatet ærligt med usikkerhedsintervallet. Kunstig intelligens genererer hurtigt koden til alle disse trin; Men ansvaret for modelvalg, strukturel brudbedømmelse og prognose ligger hos økonomen. En forudsigelse er ikke en profeti, men en betinget og usikker forudsigelse.

Ansøgningsopgave

Vælg en månedlig økonomisk serie (f.eks. industriproduktionsindeks). Adskil og scan for breakouts med den 1. skabelon, test ETS/SARIMA tilbage mod den sæsonbestemte naive benchmark med den 2. skabelon, frembring en 6-måneders prognose for rækkevidde med den 3. skabelon. Bemærk, om din model faktisk slår benchmark, og marker eventuelle strukturelle brud, du ser.

tjekliste

  • [ ] Jeg plottede serien og diagnosticerede den med hensyn til trend/sæsonbestemt/pause.
  • [ ] Jeg har anvendt stationarisering (log/forskel), hvis det er nødvendigt, og jeg kender årsagen.
  • [ ] Jeg opstillede et simpelt benchmark og sammenlignede den komplekse model med den.
  • [ ] Jeg evaluerede kun modellen i de perioder, hvor den ikke var under træning (backtest).
  • [ ] Jeg præsenterede estimatet med et usikkerhedsområde, ikke et enkelt tal.
  • [ ] Jeg nævnte det strukturelle brud/eksternt stødrisiko som en separat advarsel.
  • [ ] Jeg fastholdt, at ansvaret for forudsigelse og endelig bedømmelse ligger hos mig.