Jedinica 3 / 11

Čišćenje podataka, transformacija i istraživačka analiza (s podrškom za Python/pandas)

Dobici:

  • Sposobnost čišćenja sirovih ekonomskih podataka (opažanja koja nedostaju, zbrka jedinica, neusklađenost frekvencija) i njihovo spremanje za analizu uz pomoć umjetne inteligencije
  • Mogućnost ispisa standardnih ekonomskih transformacija kao što su realno-nominalna pretvorba, indeksacija, stopa rasta, sezonska prilagodba kao koda u umjetnu inteligenciju i njihova ručna provjera
  • Sposobnost prepoznavanja podataka putem eksplorativne analize podataka (zbirna statistika, distribucija, outlieri, korelacija) i kritičkog čitanja sažetaka umjetne inteligencije

Ekonomski podaci rijetko dolaze spremni za analizu. U tablici koju ste preuzeli s TURKSTAT-a nedostaju neki mjeseci, jedan stupac dolazi kao tekst s tisuću zagrada, tečaj je u turskom formatu poput "1.234,56", jedna serija je mjesečna, a druga tromjesečna. Većina vremena ekonomista ne provodi u analizi, već u pripremi podataka za analizu. Ovdje je umjetna inteligencija pravi akcelerator niskog rizika: predlaže korake čišćenja, piše pande (Pythonova biblioteka za obradu podataka), kodificira standardne ekonomske transformacije. Ali ova jedinica također ima nepromjenjivo pravilo: čitate svaku transformaciju koju je napisala umjetna inteligencija i ručno je provjeravate u barem jednom promatranju. Ako je stvarni nominalni ciklus na pogrešnim temeljima, cijela analiza tiho propada.

Čišćenje: koji problemi, kako ih riješiti?

Najčešći problemi u ekonomskim podacima i njihova logika:

  • Nepotpuno promatranje. Jedan mjesec/kvart je prazan. Rješenje ovisi o kontekstu: ako ne postoji, ostaje prazno; Ako postoji tehnički nedostatak, radi se pažljiva interpolacija — ali granica između izrade je tanka.
  • Zbunjenost jedinica i formata. Tekst "12.345.6" mora se pretvoriti u broj; milijun/milijarda bi trebao postati dosljedan.
  • Neusklađenost frekvencija. Za kombiniranje mjesečne i tromjesečne serije, jedna se agregira (mjesečno u tromjesečno) — hoće li biti prosjek, ukupno ili kraj razdoblja ovisi o prirodi pokazatelja (razlika zaliha/tijekovi).
  • Outlier (ekstremne) vrijednosti. Ako opažanje jako odstupa: je li to stvarni događaj (kriza, skok cijena) ili pogreška u podacima? Razumije se prije brisanja.
  • Usklađivanje datuma. Formati datuma i definicije razdoblja različitih serija su sinkronizirani.
Pažnja: popunjavanje podataka koji nedostaju čini se nevinim, ali to je ekonomska odluka. Popunjavanje kriznog mjeseca "prosjekom susjednih mjeseci" znači brisanje te krize iz analize. Prije popunjavanja, pitajte "zašto postoji ova praznina?" Odgovorite na pitanje.

Standardne ekonomske transformacije

Transformacije i njihove definicije u svakodnevnom repertoaru ekonomista:

  • Nominalni → Realni. Usklađivanje za utjecaj na cijenu: stvarna vrijednost = nominalna vrijednost / indeks cijena × 100. Bazna godina deflatora (indeks prilagođavanja) određuje osnovu rezultata.
  • Indeksiranje. Ponovno skaliranje serije tako da je odabrano razdoblje = 100; Korisno je za usporedbu serija različitih veličina.
  • Stopa rasta. Godišnje: (isto razdoblje ovo razdoblje / prošla godina − 1) × 100. Periodična i godišnja stopa su različite stvari; Zbunjivanje je uobičajena pogreška.
  • Sezonska korekcija. Pročišćavanje redovitih sezonskih učinaka (ljetni turizam, godišnji odmor); Neobrađena serija i sezonski prilagođena serija govore različite priče.
  • Pomični prosjek. Ublažavanje buke i stvaranje trenda vidljivim.
  • Logaritmi i diferenciranje. Ispitati dinamiku rasta i stacionarnost (produbit će se u jedinici vremenske serije).
Savjet: Sa svakom konverzijom bit ćete upitani "što se dogodilo s jedinicom i bazom?" pitati. Baza realne serije je baza deflatora; Osnova indeksirane serije je razdoblje koje odaberete. Čuvanje ovog zapisa spriječit će buduće pogreške.

Istraživačka analiza podataka (EDA)

Podatke je potrebno prepoznati prije unosa u model. Eksploratorna analiza podataka (EDA) uključuje: sumarnu statistiku (srednja vrijednost, medijan, standardna devijacija, min-max), oblik distribucije, tijek tijekom vremena, outliere i korelaciju između serija. AI brzo generira kod za ove korake; Vaš je posao pročitati rezultat ekonomskim okom: "Je li ovaj prosjek razuman? Je li ova korelacija slučajnost ili poznati odnos?"

Oprez: Korelacija je ovdje samo sredstvo identifikacije, a ne dokaz uzročnosti. Činjenica da se dvije serije kreću zajedno (npr. prodaja sladoleda i utapanja — obje potaknute ljetom) ne znači nužno da jedna vodi drugoj. Ovu ćemo razliku produbiti u 7. jedinici.

tri mini kućišta

Slučaj 1 — netočna baza deflatora. Analitičar je dao umjetnoj inteligenciji da napiše kod za realizaciju serije plaća. Kôd je radio, rezultat je izgledao razumno — ali analitičar je ručno izračunao 2020. u koraku IZRAČUNAJ i to nije uspjelo. Problem: umjetna inteligencija je koristila deflator s bazom 2003=100 i tražila seriju plaća s cijenama iz 2015.; Osnove su bile u sukobu. Kôd je popravljen ispravkom jedne linije, cijela je serija pala na svoje mjesto.

Slučaj 2 — Tiha pogreška glasnoće. Jedna institucija je smanjila podatke o izvozu u tisućama dolara i uvozu u milijunima dolara. Kada je umjetna inteligencija uklonila dva za "vanjsku trgovinsku bilancu", rezultat je bio apsurdni deficit. Pogled min-max u EDA-i otkrio je pogrešku: red veličine dviju serija razlikovao se faktorom 1000. Nakon što je jedinica izjednačena, ravnoteža je bila točna.

Slučaj 3 — Nebrisanje vanjske vrijednosti. Jedan mjesec u nizu bio je izuzetno nizak. AI je predložio "outlier, hajde da ga očistimo". Analitičar je istražio: proizvodnja je zapravo zaustavljena zbog prirodne katastrofe tog mjeseca. Vrijednost je bila stvarna; Njegovo brisanje bi iskrivilo povijest. Umjesto brisanja, stavljena je fusnota. AI-jeva "jasna" preporuka nije se slijepo slijedila.

Tablica provjere pretvorbe

Pretvorba

formula esencija

ručna kontrolna točka

ostvarenje

nominalni / indeks cijena × 100

Baza deflatora = baza ishoda?

godišnji rast

(t / t-12mjesec − 1)×100

Izračunajte razdoblje na papiru

indeksiranje

serija/bazno razdoblje × 100

Je li vrijednost baznog razdoblja 100?

Mjesečno→tromjesečno

tijek: prikupljanje / zaliha: kraj razdoblja

Ispravan način prikupljanja?

pomični prosjek

prosjek zadnjih n razdoblja

Je li duljina prozora ispravna?

Četiri predloška za kopiranje

1) Plan čišćenja:

Imam ove neobrađene podatke: [stupci i uzorci redaka]. Osmislite plan čišćenja kako biste se pripremili za analizu: vrijednost koja nedostaje, problem s jedinicom/formatom, usklađivanje datuma, usklađivanje učestalosti, mogući ekstremi. U jednoj rečenici objasnite zašto je svaki korak neophodan. Nemojte još pisati kod; dopustite mi da prvo potvrdim plan.

2) pandas kod za čišćenje:

Napiši pandas kod prema planu koji sam odobrio. Neka kod naznači što radi u svakom koraku s retkom komentara; Ispisuje broj redaka i vrijednosti koje nedostaju nakon pretvorbe. Nemojte tiho brisati nijedno opažanje; Prijavite svaki redak koji izbrišete.

3) Realizacija (provjerljivo):

Ostvarite ovu nominalnu seriju pomoću [indeksa cijena]. Jasno napišite baznu godinu deflatora kada ga koristite; Navedite koja je baza dobivenog niza. Pokaži mi račun korak po korak za jedno razdoblje kako bih ga mogao ručno potvrditi.

4) Sažetak eksplorativne analize:

Napišite kod eksplorativne analize za sljedeće očišćene podatke: sažetak statistike, grafikon vremenske serije, skeniranje ekstremnih vrijednosti i korelacijsku matricu. Prilikom tumačenja rezultata, jasno dajte do znanja da korelacije koje ste pronašli nisu UZROČNE i navedite 3 točke koje mi se ističu.

Slab upit / Jak upit

Slab upit:

Izbrišite ove podatke.

AI djeluje s pretpostavkama ne znajući što treba očistiti; Možete brisati opažanja, mijenjati jedinice, nećete primijetiti.

Snažan upit:

U ovim mjesečnim podacima o vanjskoj trgovini, izvoz je u "tisućama USD", a uvoz u "milijunima USD". Neka dva budu jednaka u "milijunima USD", označite mjesece koji nedostaju, ali NEMOJTE POPUNJAVATI, poravnajte datume s krajem mjeseca. Ispišite na koliko redaka utječe svaki korak; tiho brisati nijedan redak. Zatim prikaži stanje za jedan mjesec na način da mogu ručno provjeriti.

Uobičajene greške

  • Pokretanje koda konverzije bez čitanja. Pogrešna baza/jedinica tiho kvari cijelu analizu.
  • Popunjavanje podataka koji nedostaju bez razmišljanja. Brisanje razdoblja krize/katastrofe s prosjekom.
  • Automatski odbaci vanjske vrijednosti. Zamjena stvarnog događaja za pogrešku podataka.
  • Brkanje sezonskog i godišnjeg rasta. Dvije su različite veličine.
  • Pogrešno kombiniranje frekvencija. Prikupljanje serija zaliha i njihova obrada kao tijek.
  • Zamjena korelacije u EDA za uzročnost. Zamjena alata za prepoznavanje kao dokaza.

Ukratko

Čišćenje i transformacija podataka je nevidljivih, ali odlučujućih 80 posto ekonomske analize. Umjetna inteligencija dramatično ubrzava ovaj mehanički rad; ali na vama je da pročitate svaki korak čišćenja i svaku transformaciju i ručno provjerite barem jedno opažanje. Odluke o bazi deflatora, jedinici, učestalosti i izvanrednim vrijednostima su ekonomske odluke i ne mogu se slijepo prepustiti umjetnoj inteligenciji. Istraživačka analiza uvodi podatke, ali korelacija ne postoji uzročnost.

Zadatak aplikacije

Preuzmite stvarnu neobrađenu seriju (npr. mjesečni CPI i nominalnu seriju plaća/prihoda). Napravite plan čišćenja s 1. predloškom, neka se kod generira s 2. predloškom i realizirajte seriju s 3. predloškom. Zatim izračunajte stvarnu vrijednost jednog razdoblja na papiru i usporedite je s rezultatom umjetne inteligencije. Ako pronađete neslaganje, dijagnosticirajte i ispravite njegov izvor (baza/jedinica) i zabilježite napredak.

popis za provjeru

  • [ ] Pregledao sam i odobrio plan čišćenja prije nego što je kod napisan.
  • [ ] Umjetna inteligencija je izvijestila o tome da je svaki redak izbrisan/promijenjen; Nema tihog brisanja.
  • [ ] Prilikom popunjavanja podataka koji nedostaju možete pitati "zašto je prazno?" Odgovorio sam na pitanje.
  • [ ] Istražio sam je li outlier stvarni događaj ili pogreška podataka.
  • [ ] U realizaciji sam potvrdio da se baza deflatora i baza ishoda podudaraju.
  • [ ] Ručno sam ponovno izračunao pretvorbu barem jednog razdoblja.
  • [ ] Nisam predstavio korelacije u EDA kao uzročnost.