Enhet 3 / 11

Datarensing, transformasjon og utforskende analyse (med støtte for Python/pandas)

Gevinster:

  • Evne til å rense rå økonomiske data (manglende observasjoner, enhetsforvirring, frekvensmismatch) og gjøre det klart for analyse ved hjelp av kunstig intelligens
  • Evne til å skrive ut standard økonomiske transformasjoner som real-nominell konvertering, indeksering, vekstrate, sesongjustering som kode til kunstig intelligens og verifisere dem manuelt
  • Evne til å gjenkjenne data gjennom utforskende dataanalyse (sammendragsstatistikk, distribusjon, uteliggere, korrelasjon) og kritisk lese sammendrag av kunstig intelligens

Økonomiske data kommer sjelden klar for analyse. I en tabell du lastet ned fra TURKSTAT mangler noen måneder, en kolonne kommer som tekst med tusen parenteser, valutakursen er i tyrkisk format som "1.234,56", en serie er månedlig og den andre er kvartalsvis. Mesteparten av økonomens tid brukes ikke på analyse, men på å gjøre dataene klare for analyse. Det er her AI er en ekte lavrisikoakselerator: den foreslår oppryddingstrinn, skriver pandas (Pythons databehandlingsbibliotek), kodifiserer standard økonomiske transformasjoner. Men denne enheten har også en uforanderlig regel: Du leser hver transformasjon skrevet av kunstig intelligens og verifiserer den manuelt i minst én observasjon. Hvis den reelle nominelle syklusen er på feil fot, forfaller hele analysen stille.

Rengjøring: hvilke problemer, hvordan løser man dem?

De vanligste problemene i økonomiske data og deres logikk:

  • Ufullstendig observasjon. En måned/kvartal er tom. Løsningen avhenger av konteksten: hvis den faktisk ikke eksisterer, er den tom; Hvis det er et teknisk gap, utføres forsiktig interpolering - men linjen mellom fabrikasjon er tynn.
  • Forvirring av enheter og formater. Teksten "12.345.6" må konverteres til et tall; million/milliard bør bli konsekvent.
  • Frekvens uoverensstemmelse. For å kombinere en månedlig og kvartalsvis serie, aggregeres en (månedlig til kvartalsvis) - om den er gjennomsnittlig, total eller slutten av perioden, avhenger av indikatorens art (beholdning/strøm-forskjell).
  • Ytterligere (ekstreme) verdier. Hvis en observasjon avviker vilt: er det en reell hendelse (krise, prisøkning), eller en datafeil? Det er forstått før sletting.
  • Datojustering. Datoformater og periodedefinisjoner for forskjellige serier er synkronisert.
Oppmerksomhet: Å fylle inn manglende data virker uskyldig, men det er en økonomisk beslutning. Å fylle en krisemåned med "gjennomsnittet av nabomåneder" betyr å slette den krisen fra analysen. Før du fyller ut, spør "hvorfor eksisterer dette gapet?" Svar på spørsmålet.

Standard økonomiske transformasjoner

Transformasjoner og deres definisjoner i det daglige repertoaret til en økonom:

  • Nominell → Ekte. Justering for prispåvirkning: reell verdi = nominell verdi / prisindeks × 100. Basisåret for deflatoren (justerende indeks) bestemmer grunnlaget for resultatet.
  • Indeksering. Reskalering av en serie slik at en valgt periode = 100; Det er nyttig for å sammenligne serier av forskjellige størrelser.
  • Veksthastighet. Årlig: (samme periode denne perioden / i fjor − 1) × 100. Periodisk og annualisert rate er forskjellige ting; Forvirring er en vanlig feil.
  • Sesongkorrigering. Rensende vanlige sesongeffekter (sommerturisme, ferier); Råserien og den sesongjusterte serien forteller ulike historier.
  • Glidende gjennomsnitt. Jevner ut støyen og synliggjør trenden.
  • Logaritmer og differensiering. For å undersøke vekstdynamikk og stasjonaritet (vil utdypes i tidsserieenheten).
Tips: Med hver konvertering vil du bli spurt "hva skjedde med enheten og basen?" spørre. Basen til den virkelige serien er basen til deflatoren; Grunnlaget for den indekserte serien er perioden du velger. Ved å holde dette nedskrevet forhindrer du fremtidige feil.

Utforskende dataanalyse (EDA)

Det er nødvendig å gjenkjenne dataene før de legges inn i modellen. Utforskende dataanalyse (EDA) inkluderer: oppsummerende statistikk (gjennomsnitt, median, standardavvik, min-maks), form på fordelingen, forløp over tid, uteliggere og korrelasjon mellom serier. AI genererer raskt koden for disse trinnene; Din jobb er å lese resultatet med et økonomisk øye: "Er dette gjennomsnittet rimelig? Er denne sammenhengen en tilfeldighet eller et kjent forhold?"

Forsiktig: Korrelasjon er bare et middel for identifikasjon her, ikke bevis på årsakssammenheng. Det faktum at to serier beveger seg sammen (f.eks. iskremsalg og drukninger – begge utløst av sommeren) indikerer ikke nødvendigvis at det ene fører til det andre. Vi vil utdype dette skillet i enhet 7.

tre minisaker

Tilfelle 1 — Feil deflatorbase. En analytiker fikk den kunstige intelligensen til å skrive kode for å realisere lønnsserien. Koden fungerte, resultatet så rimelig ut - men analytikeren beregnet 2020 manuelt i CALCUATE-trinnet, og det fungerte ikke. Problem: den kunstige intelligensen brukte deflatoren med en base på 2003=100 og ba om lønnsserien med 2015-priser; Basene var motstridende. Koden ble reparert med en enkelt linjefiks, hele serien falt på plass.

Tilfelle 2 — Stille volumfeil. En institusjon hadde redusert eksportdata i tusen dollar og import i millioner dollar. Da den kunstige intelligensen fjernet de to for «utenrikshandelsbalansen», ble resultatet et absurd underskudd. Min-maks-visningen i EDA avslørte feilen: størrelsesordenen til de to seriene var forskjellig med en faktor på 1000. Når enheten var utlignet, var balansen riktig.

Tilfelle 3 - Ikke sletting av uteliggeren. En måned i en serie var usedvanlig lite. AI foreslo "outlier, la oss rense den". Analytikeren undersøkte: produksjonen hadde faktisk stoppet på grunn av en naturkatastrofe den måneden. Verdien var ekte; Sletting vil forvrenge historien. I stedet for sletting ble det fotnotert. AIs «klare» anbefaling ble ikke fulgt blindt.

Konverteringsvalideringstabell

Konvertering

formel essens

manuell sjekkpunkt

realisering

nominell / prisindeks × 100

Deflatorbase = utfallsbase?

årlig vekst

(t / t-12 måneder − 1)×100

Beregn en periode på papir

indeksering

serie/grunnperiode × 100

Er basisperiodeverdien 100?

Månedlig→kvartalt

flyt: samle / lager: slutten av perioden

Riktig innsamlingsmetode?

glidende gjennomsnitt

siste n periode gjennomsnitt

Er vinduslengden riktig?

Fire kopierbare maler

1) Renholdsplan:

Jeg har disse rådataene: [kolonner og eksempelrader]. Kom opp med en rengjøringsplan for å forberede analyse: manglende verdi, problem med enhet/format, datojustering, frekvensjustering, mulige avvik. Forklar i én setning hvorfor hvert trinn er nødvendig. Ikke skriv kode ennå; la meg bekrefte planen først.

2) pandas oppryddingskode:

Skriv pandaskode i henhold til planen jeg godkjente. La koden indikere hva den gjør på hvert trinn med en kommentarlinje; Den skriver ut antall rader og manglende verdier etter konverteringen. Ikke slett noen observasjon i det stille; Rapporter hver linje du sletter.

3) Realisering (verifiserbar):

Realiser denne nominelle serien med [prisindeks]. Skriv tydelig basisåret for deflatoren når du bruker den; Spesifiser hva basen til den resulterende serien er. Vis meg kontoen trinn for trinn for en enkelt periode, slik at jeg kan bekrefte den manuelt.

4) Oppsummering av utforskende analyse:

Skriv utforskende analysekode for følgende rensede data: sammendragsstatistikk, tidsserieplott, uteliggerskanning og korrelasjonsmatrise. Når du tolker resultatene, gjør det klart at korrelasjonene du finner ikke er ÅRSAKSSAMMEL og oppgi 3 punkter som skiller seg ut for meg.

Svak forespørsel / Sterk forespørsel

Svak melding:

Fjern disse dataene.

AI handler med antagelser uten å vite hva de skal rense; Du kan slette observasjoner, endre enheter, du vil ikke legge merke til det.

Kraftig ledetekst:

I disse månedlige utenrikshandelsdataene er eksporten i "tusen USD" og importen i "millioner USD". Gjør de to like i "millioner USD", merk de manglende månedene, men IKKE FYLL, juster datoene til slutten av måneden. Skriv ut hvor mange rader som er berørt ved hvert trinn; slett ingen rader stille. Vis deretter saldoen for en enkelt måned på en måte som jeg kan sjekke manuelt.

Vanlige feil

  • Kjøre konverteringskoden uten å lese den. Feil base/enhet ødelegger i det stille hele analysen.
  • Fylle inn manglende data uten å tenke. Å slette krise-/katastrofeperioden med gjennomsnittet.
  • Forkast uteliggere automatisk. Misforstå en reell hendelse for en datafeil.
  • Forvirrende sesongmessig og årlig vekst. De to er forskjellige størrelser.
  • Kombinere frekvenser feil. Samle aksjeserien og behandle den som en flyt.
  • Misforstå korrelasjonen i EDA for årsakssammenheng. Å ta feil av gjenkjennelsesverktøyet som bevis.

Oppsummert

Datarensing og transformasjon er de usynlige, men avgjørende 80 prosentene av økonomisk analyse. Kunstig intelligens setter dramatisk fart på dette mekaniske arbeidet; men det er opp til deg å lese hvert oppryddingstrinn og hver transformasjon og manuelt bekrefte minst én observasjon. Deflatorbase, enhet, frekvens og avvikende beslutninger er økonomiske beslutninger og kan ikke blindt overlates til kunstig intelligens. Utforskende analyse introduserer data, men korrelasjon der er ikke årsakssammenheng.

Søknadsoppgave

Last ned en faktisk råserie (f.eks. månedlig KPI og en nominell lønns-/inntektsserie). Lag en renholdsplan med 1. mal, få koden generert med 2. mal, og realiser serien med 3. mal. Beregn deretter den virkelige verdien av en enkelt periode på papir og sammenlign den med produksjonen av kunstig intelligens. Hvis du finner en mismatch, diagnostiser og korriger kilden (base/enhet) og noter fremdriften.

sjekkliste

  • [ ] Jeg gjennomgikk og godkjente oppryddingsplanen før koden ble skrevet.
  • [ ] Jeg fikk hver linje slettet/endret av den kunstige intelligensen rapportert; Ingen stille sletting.
  • [ ] Når du fyller ut manglende data kan du spørre "hvorfor er den tom?" Jeg svarte på spørsmålet.
  • [ ] Jeg undersøkte om uteliggeren var en reell hendelse eller en datafeil.
  • [ ] I realiseringen bekreftet jeg at deflatorbasen og utfallsbasen samsvarer.
  • [ ] Jeg har manuelt beregnet konverteringen for minst én periode på nytt.
  • [ ] Jeg presenterte ikke korrelasjoner i EDA som årsakssammenheng.