Yksikkö 3 / 11

Tietojen puhdistus, muuntaminen ja tutkiva analyysi (Python/pandas-tuen kanssa)

Voitot:

  • Kyky puhdistaa raakaa taloudellista dataa (puuttuvat havainnot, yksiköiden sekaannukset, taajuuksien epäsuhta) ja valmistaa se analysoitavaksi tekoälyn avulla
  • Mahdollisuus tulostaa tavanomaisia taloudellisia muunnoksia, kuten reaalinimellismuunnos, indeksointi, kasvunopeus, kausitasoitus koodina tekoälyyn ja tarkistaa ne manuaalisesti
  • Kyky tunnistaa dataa tutkivan data-analyysin avulla (yhteenvetotilastot, jakauma, poikkeamat, korrelaatio) ja lukea kriittisesti tekoälyä koskevia yhteenvetoja

Taloustiedot ovat harvoin valmiita analysoitavaksi. TURKSTATista lataamastasi taulukosta puuttuu joitakin kuukausia, yksi sarake tulee tekstinä tuhansilla suluilla, valuuttakurssi on turkkilaisessa muodossa, kuten "1.234,56", yksi sarja on kuukausittain ja toinen neljännesvuosittain. Suurin osa taloustieteilijän ajasta ei kulu analyysiin, vaan datan valmistukseen analysointia varten. Tässä tekoäly on todellinen, vähäriskinen kiihdytin: se ehdottaa puhdistusvaiheita, kirjoittaa pandoja (Pythonin tietojenkäsittelykirjasto), kodifioi tavanomaisia ​​​​taloudellisia muutoksia. Mutta tällä yksiköllä on myös muuttumaton sääntö: luet jokaisen tekoälyn kirjoittaman muunnoksen ja tarkistat sen manuaalisesti vähintään yhdessä havainnoissa. Jos reaalinimellinen sykli on väärällä pohjalla, koko analyysi raukeaa hiljaa.

Puhdistus: mitä ongelmia, miten ratkaista ne?

Yleisimmät taloustiedon ongelmat ja niiden logiikka:

  • Epätäydellinen havainto. Kuukausi/neljännes on tyhjä. Ratkaisu riippuu kontekstista: jos sitä ei ole olemassa, se jätetään tyhjäksi; Jos on tekninen aukko, interpolointi tehdään huolella - mutta valmistuksen välinen raja on ohut.
  • Yksiköiden ja muotojen sekaannukset. Teksti "12.345.6" on muutettava numeroksi; miljoonan/miljardin pitäisi olla johdonmukaista.
  • Taajuus ei täsmää. Kuukausittaisen ja neljännesvuosittaisen sarjan yhdistämiseksi sarja aggregoidaan (kuukausittain neljännesvuosittain) – onko se keskiarvo, kokonaismäärä vai jakson loppu, riippuu indikaattorin luonteesta (varasto/virtaero).
  • Outlier (äärimmäiset) arvot. Jos havainto poikkeaa villisti: onko kyseessä todellinen tapahtuma (kriisi, hinnannousu) vai tietovirhe? Se ymmärretään ennen poistamista.
  • Päivämäärän tasaus. Eri sarjojen päivämäärämuodot ja jaksomääritykset synkronoidaan.
Huomio: Puuttuvien tietojen täyttäminen vaikuttaa viattomalta, mutta se on taloudellinen päätös. Kriisikuukauden täyttäminen "naapurikuukausien keskiarvolla" tarkoittaa kyseisen kriisin poistamista analyysistä. Ennen kuin täytät, kysy "miksi tämä aukko on olemassa?" Vastaa kysymykseen.

Normaalit taloudelliset muutokset

Muutokset ja niiden määritelmät taloustieteilijän päivittäisessä ohjelmistossa:

  • Nimellinen → Todellinen. Hintavaikutusten oikaisu: reaaliarvo = nimellisarvo / hintaindeksi × 100. Deflaattorin perusvuosi (oikaisuindeksi) määrää tuloksen perustan.
  • Indeksointi. Sarjan skaalaaminen uudelleen siten, että valittu jakso = 100; Siitä on hyötyä erikokoisten sarjojen vertailussa.
  • Kasvuvauhti. Vuosittainen: (sama ajanjakso tällä ajanjaksolla / viime vuonna − 1) × 100. Jaksollinen ja vuositaso ovat eri asioita; Hämmentäminen on yleinen virhe.
  • Kausikorjaus. Säännöllisten kausivaikutusten puhdistaminen (kesämatkailu, lomat); Raakasarja ja kausitasoitettu sarja kertovat erilaisia ​​tarinoita.
  • Liukuva keskiarvo. Tasoittaa melua ja tekee trendin näkyväksi.
  • Logaritmit ja erotus. Kasvudynamiikan ja stationaarisuuden tarkastelu (syventyy aikasarjayksikössä).
Vinkki: Jokaisen muunnoksen yhteydessä sinulta kysytään "mitä yksikölle ja tukiasemalle tapahtui?" kysyä. Reaalisarjan kanta on deflaattorin kanta; Indeksoidun sarjan perusta on valitsemasi ajanjakso. Tämän kirjoittaminen muistiin estää tulevat virheet.

Tutkiva data-analyysi (EDA)

Tiedot on tunnistettava ennen kuin ne syötetään malliin. Tutkiva data-analyysi (EDA) sisältää: yhteenvetotilastot (keskiarvo, mediaani, standardipoikkeama, min-max), jakauman muodon, ajankulun, poikkeamat ja sarjojen välisen korrelaation. AI luo nopeasti koodin näitä vaiheita varten; Sinun tehtäväsi on lukea tulos taloudellisella silmällä: "Onko tämä keskiarvo kohtuullinen? Onko tämä korrelaatio sattumaa vai tunnettu suhde?"

Varoitus: Korrelaatio on tässä vain tunnistamiskeino, ei todiste syy-yhteydestä. Se, että kaksi sarjaa liikkuvat yhdessä (esim. jäätelön myynti ja hukkumiset – molemmat kesän laukaisemat) ei välttämättä tarkoita, että toinen johtaisi toiseen. Syvennämme tätä eroa yksikössä 7.

kolme minilaukkua

Tapaus 1 — Väärä deflaattorin alusta. Analyytikolla oli tekoälyn kirjoituskoodi palkkasarjan toteuttamiseksi. Koodi toimi, tulos näytti kohtuulliselta - mutta analyytikko laski manuaalisesti 2020-vaiheessa CLCULATE, eikä se toiminut. Ongelma: tekoäly käytti deflaattoria perusarvolla 2003=100 ja pyysi palkkasarjaa vuoden 2015 hinnoilla; Perusteet olivat ristiriitaisia. Koodi korjattiin yhdellä rivikorjauksella, koko sarja loksahti paikoilleen.

Tapaus 2 — Äänetön äänenvoimakkuusvirhe. Eräs laitos oli vähentänyt vientitietoja tuhansissa dollareissa ja tuontia miljoonissa dollareissa. Kun tekoäly poisti nämä kaksi "ulkomaankauppataseesta", tuloksena oli absurdi alijäämä. EDA:n min-max-näkymä paljasti virheen: kahden sarjan suuruusluokka erosi kertoimella 1000. Kun yksikkö oli tasattu, tasapaino oli oikea.

Tapaus 3 – Poikkeavaa arvoa ei poisteta. Yksi kuukausi sarjassa oli poikkeuksellisen alhainen. AI ehdotti "outlier, let's clean it". Analyytikko tutki: tuotanto oli itse asiassa pysähtynyt luonnonkatastrofin vuoksi tuossa kuussa. Arvo oli todellinen; Sen poistaminen vääristäisi historiaa. Poiston sijaan se tehtiin alaviitteellä. Tekoälyn "selkeää" suositusta ei noudatettu sokeasti.

Konversion vahvistustaulukko

Muuntaminen

kaavan olemus

manuaalinen tarkistuspiste

toteutumista

nimellinen / hintaindeksi × 100

Deflaattorin perusta = tulosperuste?

vuotuinen kasvu

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

Laske jakso paperille

indeksointi

sarja/perusjakso × 100

Onko perusjakson arvo 100?

Kuukausittain → neljännesvuosittain

virtaus: kerätä / varasto: jakson lopussa

Oikea keräystapa?

liukuva keskiarvo

viimeisen n jakson keskiarvo

Onko ikkunan pituus oikea?

Neljä kopioitavaa mallia

1) Siivoussuunnitelma:

Minulla on seuraavat raakatiedot: [sarakkeet ja esimerkkirivit]. Laadi puhdistussuunnitelma analysointia varten: puuttuva arvo, yksikkö-/muotoongelma, päivämäärän kohdistus, taajuuden kohdistus, mahdolliset poikkeamat. Selitä yhdellä lauseella, miksi jokainen vaihe on välttämätön. Älä kirjoita koodia vielä; vahvistan suunnitelman ensin.

2) pandan puhdistuskoodi:

Kirjoita pandakoodi hyväksymäni suunnitelman mukaan. Anna koodin osoittaa, mitä se tekee kussakin vaiheessa kommenttirivillä; Se tulostaa rivien lukumäärän ja puuttuvat arvot muuntamisen jälkeen. Älä poista mitään havaintoa hiljaa; Ilmoita jokaisesta poistamastasi rivistä.

3) Toteutus (todennettavissa):

Toteuta tämä nimellinen sarja [hintaindeksillä]. Kirjoita selkeästi deflaattorin perusvuosi, kun käytät sitä; Määritä, mikä on tuloksena olevan sarjan kanta. Näytä minulle tili vaihe vaiheelta yhden ajanjakson osalta, jotta voin vahvistaa sen manuaalisesti.

4) Tutkiva analyysi yhteenveto:

Kirjoita tutkiva analyysikoodi seuraaville puhdistetuille tiedoille: yhteenvetotilastot, aikasarjakaavio, outlier-skannaus ja korrelaatiomatriisi. Kun tulkitset tuloksia, tee selväksi, että löytämäsi korrelaatiot eivät ole SYYJÄ, ja luettele 3 kohtaa, jotka erottuvat minusta.

Heikko kehote / Vahva kehote

Heikko kehote:

Tyhjennä nämä tiedot.

Tekoäly toimii oletuksilla tietämättä mitä puhdistaa; Voit poistaa havaintoja, vaihtaa yksiköitä, et huomaa.

Tehokas kehotus:

Näissä kuukausittaisissa ulkomaankauppatiedoissa vienti on "tuhansia dollareita" ja tuonti "miljoonaa dollaria". Tee kahdesta yhtä suureksi "miljoonaa dollaria", merkitse puuttuvat kuukaudet, mutta ÄLÄ TÄYTÄ, kohdista päivämäärät kuun loppuun. Tulosta, kuinka monta riviä kukin vaihe vaikuttaa; hiljaa ei poista rivejä. Näytä sitten yhden kuukauden saldo siten, että voin tarkistaa manuaalisesti.

Yleisiä virheitä

  • Muunnoskoodin suorittaminen lukematta sitä. Väärä tukikohta/yksikkö turmelee hiljaa koko analyysin.
  • Puuttuvien tietojen täyttäminen ajattelematta. Kriisi/katastrofikauden pyyhkiminen keskiarvolla.
  • Hylkää poikkeamat automaattisesti. Todellisen tapahtuman sekoittaminen tietovirheeksi.
  • Sekava kausi- ja vuosikasvu. Molemmat ovat eri kokoisia.
  • Taajuuksien yhdistäminen väärin. Kantasarjan kerääminen ja käsittely virtauksena.
  • EDA:n korrelaation sekoittaminen syy-seuraussuhteeseen. Tunnistustyökalun pitäminen väärin todisteena.

Yhteenvetona

Tietojen puhdistaminen ja muuntaminen on näkymätön, mutta ratkaiseva 80 prosenttia taloudellisesta analyysistä. Keinotekoinen äly nopeuttaa dramaattisesti tätä mekaanista työtä; mutta sinun on luettava jokainen puhdistusvaihe ja jokainen muunnos ja tarkistettava manuaalisesti vähintään yksi havainto. Deflaattorin kanta-, yksikkö-, taajuus- ja ulkopuoliset päätökset ovat taloudellisia päätöksiä, eikä niitä voida jättää sokeasti tekoälyn varaan. Tutkiva analyysi tuo tietoja, mutta korrelaatiota ei ole olemassa.

Sovellustehtävä

Lataa todellinen raakasarja (esim. kuukausittainen kuluttajahintaindeksi ja nimellispalkka/tulosarja). Luo puhdistussuunnitelma 1. mallilla, luo koodi toisella mallilla ja toteuta sarja 3. mallilla. Laske sitten yhden jakson todellinen arvo paperille ja vertaa sitä tekoälyn tuottoon. Jos löydät yhteensopimattomuuden, tee diagnoosi ja korjaa sen lähde (kanta/yksikkö) ja huomioi edistyminen.

tarkistuslista

  • [ ] Tarkistin ja hyväksyin puhdistussuunnitelman ennen koodin kirjoittamista.
  • [ ] Tekoäly on ilmoittanut jokaisen rivin poistaneen/muuttavan; Ei hiljaista poistoa.
  • [ ] Puuttuvat tiedot täyttäessäsi voit kysyä "miksi se on tyhjä?" vastasin kysymykseen.
  • [ ] Tutkin, oliko poikkeava todellinen tapahtuma vai tietovirhe.
  • [ ] Toteutuksessa varmistin, että deflaattorikanta ja tuloskanta täsmäävät.
  • [ ] Laskin manuaalisesti uudelleen ainakin yhden jakson muunnoksen.
  • [ ] En esittänyt korrelaatioita EDA:ssa syy-yhteydeksi.