Pelnas:
- Suprasti laiko eilučių sąvokas, tokias kaip tendencija, sezoniškumas, ciklas ir stacionarumas, naudojant dirbtinį intelektą ir gebėjimas teisingai išanalizuoti serijas
- Galimybė įdiegti ARIMA, ETS ir paprastus etaloninius modelius į dirbtinį intelektą kaip kodą, sudaryti prognozes ir įvertinti jas atgaliniu testavimu
- Gebėti suprasti prognozės trapumą neapibrėžtumo diapazono, modelio ribos ir struktūrinio lūžio akivaizdoje ir išlaikyti, kad atsakomybė už prognozę tenka ekonomistui.
Ekonomikos kalba – laikas. Infliacija, augimas, nedarbas, valiutų kursai – visa tai yra serijos, kurios eina laikui bėgant, ir vienas iš dalykų, kurių dažniausiai klausia ekonomistas, yra „o kas bus toliau? yra klausimas. Šiame skyriuje mes naudosime dirbtinį intelektą, kad suprastume laiko eilučių sąvokas, sukurtume modelio kodą ir sudarytume prognozes. Tačiau nuo pat pradžių išsiaiškinkime pagrindą: prognozė yra ne pranašystė, o sąlyginė prognozė neapibrėžtumo sąlygomis, o atsakomybė tenka ekonomistui. AI gali parašyti jums ARIMA kodą per kelias minutes; Tačiau žmogus nusprendžia, ar ši prognozė pagrįsta, ar ne ir ar ji žlugs struktūrinio lūžio akivaizdoje.
Laiko eilutės komponentai
Tai padeda galvoti apie bet kokią ekonominę seriją, suskirstant ją į keturias dalis:
- Tendencija (tendencija). Ilgalaikė kryptis; pavyzdžiui, ekonomikos augimo kelias.
- Sezoniškumas. Raštas, kuris reguliariai kartojasi ištisus metus; Turizmas didėja vasarą, mažmeninė prekyba – gruodį.
- Ciklas (konjunktūra). Ilgesnis nei sezonas, nereguliarus pakilimas ir nuosmukis; išsiplėtimo ir susitraukimo laikotarpiai.
- Nereguliarus/triukšmas. Nepaaiškinamas, atsitiktinis svyravimas.
Prieš įvertinant seriją, būtina išskaidyti šiuos komponentus. Nes žiūrint į neapdorotą serialą ir pasakant „krenta“ galima suklaidinti: galbūt jūs tiesiog atsidūrėte sezoniniame dugne.
Taip pat yra stacionarumo samprata: statistinės serijos savybės (vidurkis, dispersija) laikui bėgant nekinta. Dauguma ekonominių serijų nėra stacionarios (nuolat auga); Daugeliui modelių prieš kuriant reikia diferencijuoti (atimant vieną periodą iš kito) arba stacionarizuoti logaritmais. AI rekomenduoja šiuos veiksmus, tačiau žinojimas, kodėl jie reikalingi, apsaugo jus.
Patarimas: visada nubrėžkite ir išskaidykite seriją prieš numatydami. Akivaizdus struktūrinis lūžis (pvz., krizė ar valiutos reforma) suklaidins net pažangiausią modelį. Diagrama yra pigiausias diagnostikos įrankis.
Modeliai: nuo paprastų iki sudėtingų, bet pirmiausia etalonas
Auksinė laiko eilučių prognozavimo taisyklė: visada pradėkite nuo paprasto etaloninio modelio. Paprasčiausia prognozė yra „naivi prognozė“: rytoj bus lygi šiandienai (arba sezoniškai naivu: šis mėnuo lygus praėjusių metų mėnesiui). Jei sudėtingas modelis negali įveikti šios naivios prognozės, sudėtingumas yra beprasmis.
Tada dažnai naudojami metodai:
- ETS / Eksponentinis išlyginimas. Šeima, kuri sušvelnina lygį, tendencijas ir sezoniškumą juos pasverdama.
- SKAMBINTI. Klasikinis modelis, jungiantis autoregresyvius (remiantis praeities reikšmėmis) ir slankiojo vidurkio komponentus; sezoninė versija SARIMA.
- Regresija pagrįsti/aiškinamieji modeliai. Kintamojo paaiškinimas kitais rodikliais (pvz., paklausa pagal pajamas ir kainą).
AI gali koduoti visa tai statsmodels (Python biblioteka). Jūsų darbas yra modelių atrinkimas ir patvirtinimas.
Atgalinis testas: numatymo testas
Tai nieko nereiškia, jei modelis „gerai dera“ su istoriniais duomenimis; Pakankamai lankstus, kad tiktų bet kokiam modeliui (tai vadinama permontavimu). Tikrasis klausimas: kaip gerai modelis numato laikotarpius, kurių jis nematė? Norėdami tai išmatuoti, atliekate grįžtamąjį testą: padalijate duomenis tam tikrą datą, apmokote modelį su ankstesne dalimi, leidžiate jam nuspėti kitą dalį „tarsi tai būtų ateitis“ ir palyginkite ją su realybe. Klaidos matai (pavyzdžiui, MAE – vidutinė absoliuti paklaida arba RMSE – vidutinė kvadratinė paklaida) leidžia palyginti modelį su etalonu.
Atsargiai: Nemokykite modelio su duomenimis, kuriuos įvertinote. Išmatuokite prognozavimo sėkmę tik tais laikotarpiais, kurie nėra naudojami treniruotėse. Antraip apgaudinėsi save; Modelis pasirodo puikus ant popieriaus, bet nenaudingas iš tikrųjų.
Neapibrėžtis: diapazonas, o ne taško įvertinimas
Vienintelis skaičius („infliacija iki metų pabaigos bus 24 proc.“) skleidžia klaidingą tikrumą. Sąžiningas įvertinimas apima diapazoną ir tikimybę: „21–27 procentų juostoje centro scenarijus yra 24 procentai“. Prognozės neapibrėžtis išreiškiama modelio sudarytais pasikliautinaisiais intervalais; tačiau tikrasis neapibrėžtumas yra didesnis už tai, nes modelio prielaidos taip pat gali būti klaidingos. Struktūrinis lūžis (politikos pasikeitimas, išorinis šokas) yra didžiausia rizika, kurios modelis nemato.
trys mini dėklai
1 atvejis. Nepavyko įveikti etalono. Analitikas liepė AI sukurti kompleksą SARIMA, skirtą mėnesiniams mažmeniniams pardavimams. Atliekant atgalinį testą, modelio vidutinė absoliuti paklaida buvo prastesnė nei sezoninė naivi prognozė, kurioje teigiama, kad „šis mėnuo yra lygus praėjusių metų tam pačiam mėnesiui“. Analitikas atsisakė sudėtingo modelio; Jis rėmėsi naiviu spėjimu ir pridėjo ekspertinį pataisą. Paprastumas laimi.
2 atvejis – struktūrinis lūžis. Įstaiga naudojo infliacijos modelį, kurį apmokė naudodama duomenis prieš valiutos kurso šoką pošoko laikotarpiu. Modelis labai neįvertino infliacijos, nes prisiėmė praėjusio ramaus laikotarpio dinamiką. Pamoka: modelis prisiima pasaulį, kuriame jis mokomas; Kai pasaulis pasikeičia, prognozė žlunga. Jei ekonomistas pažiūrėtų į grafiką, jis pamatytų lūžį.
3 atvejis – asortimento sąžiningumas. Ekonomistas vadovybei savo metų pabaigos augimo prognozę pateikė ne kaip vieną skaičių, o kaip „3,0–4,2 procentų intervalą, tai yra pagrindinės prielaidos“. Metų pabaigoje realizavimas sudarė 3,6 proc.; Tai buvo grupėje. Jei jis būtų davęs vieną numerį, jam galėjo būti priskirta etiketė „neteisinga“; diapazonas ir prielaidos buvo sąžiningi ir išlaikė pasitikėjimą.
Modelių pasirinkimo lentelė
Būsena
tinkama pradžia
pastaba
Kiekvienas spėliojimas
Naivus / sezoninis naivus etalonas
Pagrindas, kurį reikia įveikti
Tendencija + sezoniškumas, plokščia
ETS (eksponentinis išlyginimas)
Lengva įdiegti ir komentuoti
Automatiškai koreliuojamos serijos
(S)ARIMA
Reikia stabilizavimo
Yra aiškinamasis kintamasis
Regresija pagrįsta
Ateities prognozuotojai taip pat turi
Įtarimas dėl struktūrinio lūžio
Modelis + ekspertinė korekcija
Vieno modelio neužtenka
Keturi kopijuojami šablonai
1) Analizė ir diagnostika:
Nubraižykite tą mėnesio eilutę [serija], tada suskirstykite ją į tendencijos / sezoniškumo / likutinius komponentus (statistikos modelius). Patikrinkite, ar jis nejuda (ADF testas) ir, jei reikia, paaiškinkite, kokią transformaciją (logą, skirtumą) rekomenduojate. Pažymėkite, ar diagramoje yra matomas struktūrinis lūžis.
2) Palyginimas + modelio palyginimas:
Pirmiausia nustatykite sezoninę naivią šios serijos etaloninę prognozę. Tada nustatykite ETS ir SARIMA. Palyginkite visus tris remiantis MAE ir RMSE su atgaliniu testu (testavimas per pastaruosius 12 mėnesių). Surašykite rezultatus ir aiškiai nurodykite, kuris modelis viršijo etaloną.
3) Įverčių ir neapibrėžtumo diapazonas:
Prognozuokite kitus 6 mano pasirinkto modelio laikotarpius ir nurodykite 80%/95% pasikliautinuosius intervalus. Pateikite įvertinimą kaip diapazoną, o ne kaip vieną skaičių. Paaiškinkite, kad šis diapazonas apima TIK modelio neapibrėžtumą, o ne konstrukcijos lūžimo / išorinio smūgio riziką.
4) Atgalinis patikrinimas:
Interpretuokite šiuos atgalinio patikrinimo rezultatus [lentelė]. Ar modelis iš tikrųjų viršija etaloną, ar skirtumas yra statistiškai nereikšmingas? Nurodykite, kokiais laikotarpiais jūsų modelis padarė daugiausia klaidų ir suabejokite galima ekonomine to priežastimi (krizė, sezonų kaita).
Silpnas raginimas / Stiprus raginimas
Silpnas raginimas:
Atspėk šią seriją.
Dirbtinis intelektas sukuria atsitiktinį modelį, netestuoja atgalinių testų, duoda nelyginį skaičių; Jūs nežinote, ar modelis veikia, ar ne.
Galingas raginimas:
Pirmiausia išskaidykite dabartinę mėnesio infliacijos eilutę ir ieškokite pertraukų. Išbandykite ETS ir SARIMA per pastaruosius 12 mėnesių pagal sezoninį naivų etaloną, palyginkite su MAE. Pasirinkite modelį, kuris pranoksta etaloną, pateikite 6 mėnesių prognozę ir nustatykite 80 % diapazoną. Konstrukcijos lūžimo riziką parašykite kaip atskirą įspėjimą. Rodyti kiekvieno veiksmo kodą ir suvestinės numerius, kuriuos galiu patikrinti rankiniu būdu.
Dažnos klaidos
- Peršokti į sudėtingą modelį nenustatant etalonų. Sudėtingumas nelygu sėkmei.
- Modelio įvertinimas pagal duomenis, kuriuos jis mokė. Pernelyg didelis atitikimas sėkmei.
- Vieno taško įvertinimas. Klaidingas tikrumas; diapazonas ir reikalinga prielaida.
- Struktūrinio lūžio ignoravimas. Aklai neša praeities dinamiką į ateitį.
- Praleidžiamas stabilizavimas. Netikri santykiai ir iškreiptos prognozės.
- Prognozavimo pateikimas kaip pranašystė. Slėpti netikrumą ir atsakomybę.
Apibendrinant
Laiko eilučių prognozavimas atliekamas atskiriant seriją į komponentus, padarant ją stacionariai, nustatant paprastą etaloną, lyginant modelius atliekant atgalinį testą ir sąžiningai pateikiant rezultatą su neapibrėžtumo diapazonu. Dirbtinis intelektas greitai sugeneruoja visų šių veiksmų kodą; Tačiau atsakomybė už modelio pasirinkimą, struktūrinių pertraukų vertinimą ir prognozavimą tenka ekonomistui. Numatymas nėra pranašystė, o sąlyginė ir neapibrėžta prognozė.
Taikymo užduotis
Pasirinkite mėnesio ekonominę seriją (pvz., pramonės gamybos indeksą). Atskirkite ir nuskaitykite pertraukas naudodami 1-ąjį šabloną, naudodamiesi 2-uoju šablonu patikrinkite ETS/SARIMA pagal sezoninį naivumą ir sukurkite 6 mėnesių išankstinio diapazono prognozę naudodami 3-ią šabloną. Atkreipkite dėmesį, ar jūsų modelis iš tikrųjų viršija etaloną, ir pažymėkite visus matomus struktūrinius lūžius.
kontrolinis sąrašas
- [ ] Nubraižiau seriją ir diagnozavau ją pagal tendenciją / sezoniškumą / pertrauką.
- [ ] Jei reikia, pritaikiau stacionarizaciją (logas/skirtumas) ir žinau priežastį.
- [ ] Sukūriau paprastą etaloną ir palyginau sudėtingą modelį su juo.
- [ ] Modelį įvertinau tik tais laikotarpiais, kai jis nebuvo treniruotėse (backtest).
- [ ] Įvertį pateikiau su neapibrėžtumo intervalu, o ne vienu skaičiumi.
- [ ] Struktūrinio lūžio/išorinio smūgio riziką paminėjau kaip atskirą įspėjimą.
- [ ] Teigiau, kad atsakomybė už numatymą ir galutinį sprendimą tenka man.