Enhet 4 / 11

Exploratory Data Analysis (EDA): Distribusjoner, relasjoner og innledende innsikt

Gevinster:

  • Evne til å utforske fordelingen, senteret, spredningen og anomaliene til variabler med passende grafer (histogram, boksplott, spredningsplott).
  • Evne til å tolke korrelasjon riktig og lese den sammen med spredningsplottet, uten å forveksle det med kausalitet
  • Evne til å forstå at oppsummeringsstatistikk kan være misvisende (Anscombe-leksjon) og utvikle hypoteser som bestemmer retningen for modellering.

Før du bygger en modell, er det nødvendig å kjenne til dataene. Akkurat som en lege ikke skriver ut medisiner uten å undersøke pasienten, bygger ikke en dataforsker en modell uten å «undersøke» dataene. Denne undersøkelsen kalles utforskende dataanalyse (EDA for kort): det er fasen for å oppdage distribusjonen, sammenhengene, overraskelsene og fellene til dataene visuelt og grafisk. Formålet med EDA er å generere hypoteser, fange opp feil og bestemme modelleringsretningen. Kunstig intelligens er en veldig kraftig assistent på dette stadiet: den foreslår hvilket diagram som passer, skriver koden, tolker en distribusjon. Men en person bestemmer, med sin feltkunnskap, om mønsteret han ser er ekte eller en tilfeldighet.

Hva ser EDA etter?

EDA søker svar på fire spørsmål. Distribusjon: Hvordan er hver variabel fordelt – er den symmetrisk, skjev eller to-topp? Sentraltendens og spredning: Hva er gjennomsnitt, median, standardavvik? Relasjoner: Hvordan er variablene relatert til hverandre? Anomalier: Er det uventede verdier, hull, grupperinger? Disse fire spørsmålene bestemmer hvilken funksjon som vil fungere og hvilken modell som er passende.

La oss definere noen grunnleggende begreper. Et histogram er en graf som deler verdiene til en numerisk variabel i intervaller og viser hvor mange observasjoner som er i hvert intervall; Det er den raskeste måten å se distribusjonen på. Skjevhet er forskyvningen av fordelingen i én retning; Variabler som inntekt er skjevt til høyre (flertallet lav, få svært høy). Et boksplott viser median, kvartiler og uteliggere på et øyeblikk. Et spredningsplot viser forholdet mellom to numeriske variabler med en sky av poeng.

Korrelasjon: det er et forhold, men vær forsiktig

Korrelasjon — et mål på hvordan to variabler beveger seg sammen; et tall mellom -1 og +1 — er det mest brukte og mest misforståtte verktøyet til EDA. +1 betyr perfekt co-økning, -1 betyr perfekt invers sammenheng, 0 betyr ingen lineær sammenheng. Det er to store feller. Først den berømte regelen: korrelasjon er ikke årsakssammenheng. Kvelningstilfeller øker med iskremsalg; ikke fordi det ene fører til det andre, men fordi sommeren (den skjulte tredje variabelen) utløser begge. For det andre måler korrelasjon bare lineær sammenheng; Det kan indikere en sterk, men krumlinjet sammenheng nær 0. Så når du ser på korrelasjon, sørg for å se på spredningsplottet også.

Forsiktig: Når AI gir et korrelasjonstall, kan det gli inn i kausalt språk som "A øker B." Dette er farlig. Korrelasjon indikerer bare bevegelse sammen; Bare erfaring, domenekunnskap og forsiktig slutning fastslår årsaken.

Anscombe-kvartett: hvorfor ikke bare se på nummeret

Det er et kjent eksempel innen statistikk: Anscombe-kvartetten. Fire forskjellige datasett har nesten samme gjennomsnitt, samme varians og samme korrelasjon (0,82); Men når de er tegnet, ser de helt annerledes ut - en rett linje, en buet, en en sky trukket av en enkelt ytterlinje. Lærdommen er klar: Oppsummeringsstatistikk er misvisende, å se på grafen er et must. AI kan gi deg gjennomsnitt og korrelasjoner, men å stole på disse tallene uten å se grafen faller i Anscombe-fellen.

Tabellen nedenfor oppsummerer hvilket diagram som passer til hvilket spørsmål:

Spørsmål

passende grafikk

Hva viser

Fordeling av en enkelt variabel

Histogram / KDE

Form, skjevhet, antall hjørner

Sentrum og uteliggere

Bokstomt

Median, kvartiler, uteliggere

Forholdet mellom to tall

punktdiagram

Retning, styrke, krumning

Kategorisammenlikning

stolpediagram

Forskjell mellom grupper

endre seg over tid

linjediagram

Trend, sesongvariasjoner

Multivariat forhold

Korrelasjonsvarmekart

Generell relasjonsmatrise

Simpsons paradoks: aggregerte data kan lyve

En sleipe felle i EDA å være klar over er Simpsons paradoks: et mønster kan vise én retning når alle data undersøkes sammen, men snu når dataene er delt inn i meningsfulle undergrupper. Klassisk eksempel: den samlede akseptgraden for kvinnelige søkere ved et universitet ser ut til å være lavere enn for menn; Men når man ser på avdeling for avdeling, er akseptraten for kvinner høyere enn menn i de fleste avdelinger. Hvorfra? Kvinner søkte til mer konkurransedyktige (lavere akseptrater) avdelinger; Det kombinerte tallet lagrer denne skjulte variabelen. Lærdommen er klar: Når du ser på en total eller gjennomsnitt, må du kontrollere om det tallet forteller den samme historien når det brytes ned i meningsfulle undergrupper (segment, periode, kanal). Når AI gir deg en kombinert rate, vil spørre "er den fortsatt gyldig når du segmenterer den" få de fleste misvisende resultater tidlig.

tre minisaker

Tilfelle 1 - To skjulte åser. En analytiker fant at gjennomsnittlig kundealder var 41 og rapporterte det som en "middelaldrende gruppe." Men histogrammet viste to topper: aldersgruppene 22-28 og 55-62. Den gjennomsnittlige 41 representerte faktisk ingen. Leksjon: plott fordelingen før du stoler på gjennomsnittet.

Tilfelle 2 - falsk korrelasjon. Ett team fant en korrelasjon på 0,78 mellom «annonseforbruk» og «salg» og doblet budsjettet. Det som imidlertid utløste begge var sesongbaserte kampanjer; i løpet av perioden utenfor kampanjen falt forholdet til 0,10. 340 tusen TL tilleggsannonsering ga ikke forventet avkastning. Leksjon: Det er dyrt å ta feil av sammenheng med årsakssammenheng.

Tilfelle 3 - Linjen trukket av den ensomme kontraristen. En eiendomsanalyse viste en sterk sammenheng mellom kvadratmeter og pris (r=0,80). Da scatterplotten ble tegnet, ble nesten hele forholdet skapt av en enkelt luksusvilla på 12 millioner TL; Da det punktet ble fjernet, falt korrelasjonen til 0,31. Leksjon: les alltid korrelasjonen sammen med spredningsplottet.

Fire kopierbare maler

1) Automatisk EDA-sammendrag:

Jeg har pandaer df. Skriv kode som produserer: (1) df.info() og df.describe(), (2) histogram for hver numerisk kolonne, (3) telling for hver kategorisk kolonne. Ikke kommenter, bare generer oppdagelseskoden; Jeg tolker mønstrene.

2) Korrelasjon + visuell (med forbehold om årsakssammenheng):

Skriv kode som tegner en korrelasjonsmatrise og et varmekart for de numeriske kolonnene. Tegn også et spredningsplott av de 3 høyest korrelerte parene. Legg til en kommentarlinje til utdataene som minner deg om at korrelasjon ikke innebærer årsakssammenheng. Ikke kom med årsakspåstander.

3) Distribusjonsdiagnose:

For "income_tl"-kolonnen: skriv kode som produserer histogram, boksplott, skjevhetsverdi og median/middel-sammenligning. Jeg skal tolke om fordelingen er skjev eller ikke; bare gi koden.

4) Segmentsammenligning:

Sammenlign kunder etter "kanal" (nett/mobil): skriv kode som produserer et boksplott av gjennomsnittlig beløp, medianbeløp, antall bestillinger og beløpsfordeling for hver kanal. Foreslå hvilken test som er passende for statistisk signifikans av forskjellen mellom de to kanalene, men avgjørelsen er opp til meg.

Svak forespørsel / Sterk forespørsel

Svak melding:

Finn noe interessant i disse dataene.

"Interessant" er udefinert; AI ser ikke dataene, så den utgjør dem enten eller kommer med generelle utsagn. Det er ingen retning, ingen variabler, ingen hensikt.

Kraftig ledetekst:

Din rolle: EDA-assistent. df-kolonner: alder (int), inntekt_tl (flyt), by (kategori), kanal (nett/mobil), beløp (flyt). Formål: å oppdage faktorene som påvirker "beløp". Oppgave: (1) kode som plotter fordelingen av beløp, (2) distribusjonsgrafer mellom beløp og alder og inntekt_tl, (3) boksplott av beløp i kanalfordeling. Etablere et årsakskrav; Bare generer oppdagelseskoden, så tolker jeg mønsteret.

Her er formålet, variablene og grensen for å «hevde kausalitet» tydelig.

Vanlige feil

  • Baserer seg utelukkende på oppsummerende statistikk. Som Anscombe-kvartetten viser, skjuler det samme gjennomsnittet svært forskjellige fordelinger; se diagram.
  • Misforstå korrelasjon for årsakssammenheng. Samhandling indikerer ikke at det ene fører til det andre; Pass på skjulte variabler.
  • Ser på korrelasjon uten et spredningsplott. En enkelt avvik eller kurvelinje villeder tallet.
  • Oppsummerer en to-topp/skjev fordeling med gjennomsnittet. Gjennomsnittet representerer kanskje ikke noen.
  • Hopper over EDA og går rett til modellen. Ugjenkjente data betyr blind modell.
Tips: Med hvert nytt datasett, bruk de første 30 minuttene på å tegne grafer: histogram av hver numerisk, spredningsplott av signifikante par, stolpediagram over kategorier. Disse 30 minuttene forhindrer fremtidige modelleringsfeil i dagene som kommer.

Oppsummert

EDA er fasen for å bli kjent med dataene før man bygger en modell og søker svar på fire spørsmål: distribusjon, senterspredning, relasjoner og anomalier. Sammendragsstatistikk kan være misvisende; å se på grafen er et must (Anscombe-forelesning). Korrelasjon er et kraftig verktøy, men årsakssammenheng er ikke og bør definitivt leses i sammenheng med et spredningsplott. AI er en flott akselerator for å foreslå grafikk og skrive kode; Men folk tolker med sin feltkunnskap om mønsteret de ser er ekte eller en tilfeldighet.

Søknadsoppgave

Velg et datasett og bare gjør EDA: trekk ut et histogram med minst tre numeriske variabler, et spredningsplott med to par variabler og et korrelasjonsvarmekart. Finn minst én "overraskelse" (for eksempel en fordeling med to topper, en kandidat for falsk korrelasjon, et forhold tiltrukket av en enkelt uteligger) og forklar det i én setning. Skriv uten å komme med noen årsakspåstander.

sjekkliste

  • [ ] Har jeg tegnet fordelingen av hver numerisk variabel?
  • [ ] Så jeg på korrelasjonene med scatterplot?
  • [ ] Har jeg holdt kausalitet og korrelasjon atskilt?
  • [ ] La jeg ikke merke til skjeve eller totoppsfordelinger og stolte blindt på gjennomsnittet?
  • [ ] Har jeg utledet minst ett modelleringsaspekt/hypotese fra mine EDA-funn?