identificering af årsag og virkning med årsagssammenhæng
Ben Horsburgh-Jr Principal ML ingeniør, Kvantumblack
i December var Kvantumblack-teamet heldige nok til at deltage i NeurIPS 2019 i Vancouver, hvor vi var vært for et udstillingsværksted, der undersøgte, hvordan man implementerede kausal indledning og forstærkning lære at generere modeller, der overvejer årsag og virkning.
denne session viste sig at være meget populær, og derfor ønskede vi at dele nøgleelementerne med dem, der ikke var i stand til at deltage. På tværs af de næste to mellemstore artikler vil vi undersøge, hvordan dataforskere kan udnytte både kausal ræsonnement og Forstærkningslæring til at opbygge modeller, der respekterer årsag og virkning.
den kausale blinde plet
avanceret analyse implementeres ofte for at beslutte, hvor man skal foretage en intervention for at påvirke et mål. Imidlertid overvejer mange traditionelle ML-metoder, fra lineær regression til dyb læring, ikke kausalitet og i stedet kun modelkorrelation mellem datapunkter. De kan identificere, at der er et forhold mellem variabler uden at definere, hvad dette forhold er, eller hvordan de påvirker hinanden.
dette kan have en drastisk indvirkning på modellens foreslåede intervention, fortynde effektiviteten af interventioner eller endda producere helt irrelevante anbefalinger. For eksempel, en ikke-kausal model, der sigter mod at afbøde tørke, kan erkende, at der er en sammenhæng mellem stigende tørke og stigende issalg, men kan spuriøst konkludere, at forbud mod IS ville afbøde tørke.
i kausal modellering bruges ML til at skabe en indledende struktur, visualiseret som et grafisk netværk, der fremhæver det opfattede forhold mellem funktioner. Dette gennemgås derefter af domæneeksperter, der kan opdatere strukturen for at fremhæve, hvordan hver funktion påvirker den anden — i vores eksempel, en vandingsekspert vil fremhæve, at tilgængeligt drikkevand ville være en langt mere nøjagtig drivkraft til at afbøde tørke end at forbyde is.
denne proces er kendt som kausal ræsonnement, og denne artikel vil dække hver af de tre faser, der kræves for at implementere den.
fase 1: Strukturindlæring
Årsagsmodeller skal informeres om årsagsstrukturen mellem funktioner. I en ideel verden ville en domæneekspert indtaste denne struktur, men det er ofte umuligt — en model med kun 50 variabler ville kræve knap 2.500 årsagssammenhænge forhold, der skal overvejes og forklares.
desuden gør årsag og virkningskæder en allerede tidskrævende proces endnu mere kompleks-ændringer i en funktion kan påvirke en anden, hvilket igen påvirker en anden. Det er let at overse disse kæder, når man bygger strukturer for hånd, og endnu lettere at fejlagtigt skabe cykliske kyllingægkæder, som derefter er vanskelige at rette.
de seneste fremskridt, især offentliggørelsen af dag ‘ er uden tårer på NeurIPS 2018, har forbedret effektiviteten og nøjagtigheden af strukturindlæringsalgoritmer, der bygger disse netværk. De strømlinede processen og undgå kylling-æg paradoks strukturer. Det er vigtigt, at de ikke bekræfter årsagssammenhæng — de estimerer det. Arbejde med ikke-eksperimentelle data, en iterativ, samarbejdsproces er nødvendig for at verificere forudsigelser, og domæneeksperter er forpligtet til at gennemgå og verificere strukturens årsagssammenhæng, krydshenvisningsforhold mod respekterede sektorspecifikke publikationer, undersøgelser og bredere ekspertudtalelse. Det er udvidelsen af data og metode med input fra domæneeksperter, der giver os mulighed for at tage et skridt mod en årsagstolkning.
denne proces hjælper med at informere indsigt — årsagseffekter, som dataforskere kan finde overraskende, forstås ofte godt af eksperter, og selv dem, der overrasker eksperter, forstås undertiden godt af andre inden for deres felt og kan verificeres gennem en søgning efter bredere materialer.
en struktureret datatype vil omfatte noder (variabler, der indeholder information) og kanter (rettede forbindelser mellem noder, der også kan indeholde information). De fleste strukturindlæringsalgoritmer udsender kantvægte, som er nyttige til direkte samtaler mellem dataforskere og eksperter. At præsentere kanter fra højeste til laveste vægt hjælper dataforskere med at drive en endnu mere effektiv gennemgangsproces, men vi skal være forsigtige med ikke at knytte for meget fortolkning til vægte — de er normalt ikke sandsynligheder eller værdier, der kan fortolkes af mennesker. Desuden kan selv lave kanter undertiden være vigtige, men statistisk test er vanskelig.
når vi har identificeret, hvad årsagerne er, kan vi udvikle os til at lære, hvordan de opfører sig.
fase 2: Sandsynlighedsindlæring
Strukturindlæring kan identificere, at prisen på kaffe på en eller anden måde påvirkes af befolkningstætheden, men vil ikke specifikt identificere hvordan — det er ikke i stand til at indikere, om en stigende befolkning stiger eller falder prisen, eller om der er et mere komplekst forhold i spil.
Sandsynlighedsindlæring estimerer, hvor meget hver årsag driver hver effekt ved at lære de underliggende betingede sandsynlighedsfordelinger (CPD ‘ er). Hver CPD beskriver sandsynligheden for en årsag i betragtning af tilstanden af dens virkninger.
vi har fundet ud af, at diskrete CPD ‘er er mere praktiske end kontinuerlige CPD’ er. Kontinuerlige distributioner er ofte begrænset til gaussiske distributioner og kæmper derfor for at beskrive mange forhold. Diskrete CPD ‘ er kan beskrive enhver form for distribution, omend med mindre præcision, og understøttes bredt af mange biblioteker.
vi kan bruge domæneeksperterne til at træffe et valg. Dataforskere og domæneeksperter bør fra starten blive enige om en strategi for datadiskretisering. Under hensyntagen til projektets mål skal du definere, hvilken diskretisering der kræves. For eksempel, hvis dit projekt kræver, at der foretages sammenligninger, vil percentil diskretisering sandsynligvis passe.
når det er sagt, skal du være forsigtig med at undgå overdreven diskretisering af CPD ‘ er, da alle sandsynlighedsestimater skal beskrives og hurtigt kan akkumuleres. For en binær effekt med tre binære årsager skal en CPD estimere 16 mulige eventualiteter. For en effekt med 10 stater og tre årsager, hver med deres egne 10 stater, skal 10.000 mulige eventualiteter estimeres. For små datasæt med færre prøver end mulighederne vil de fleste eventualiteter aldrig blive observeret, og de, der er, vil ikke være godt repræsenteret. Men selv med store datasæt vil overdiskretisering betyde, at CPD ‘ er vil omfatte mange meget usandsynlige eventualiteter. Dette vil fortynde effekten af modellen og øge beregningstiden.
lærte sandsynligheder bør evalueres af både dataforsker og domæneeksperter. For dataforskere skal du behandle dette som et standardklassificeringsproblem — Lær modelens sandsynligheder ved hjælp af et træningssæt, og evaluer derefter, hvor nøjagtige probabilistiske forudsigelser er for en given node ved hjælp af testsættet.
i mellemtiden kan domæneeksperter læse CPD-tabeller og sense-check-værdier. Det er ofte her, hvor de mere usandsynlige sandsynligheder kan elimineres.
fase 3: inferens
nu forstår vi årsagssammenhængen i vores datasæt og hvordan relationerne opfører sig. Dette gør det muligt for os at foretage slutninger — i det væsentlige at teste handlinger og teorier for at måle respons.
inferens kan opdeles i observationelle og interventionelle. I observationsinferens kan vi observere tilstanden for enhver variabel(r) og derefter spørge, hvordan ændring af dette vil påvirke sandsynligheden for enhver anden tilstand af enhver anden variabel. Forespørge sandsynligheden for andre variabler sker ved at spille ud alle årsag og virkning relationer, opnået matematisk ved at marginalisere sandsynligheder over CPD ‘ erne. Et eksempel på dette ville være at observere en kaffebar i centrum og konkludere, at det sandsynligvis vil medføre dyr kommerciel leje-og det efterfølgende, prisen på en kaffe vil sandsynligvis være høj.
i interventionel slutning kan vi gribe ind i tilstanden af enhver variabel(r), ændre sandsynligheden for dens tilstande til det, vi vælger, og effektivt spørge ‘Hvad hvis H var anderledes? For eksempel kunne vi antage, at medarbejdere, der arbejder en fire-dages uge i stedet for fem, og derefter observere den effekt, dette har på produktiviteten.
beslutning om, hvor det er mest hensigtsmæssigt at gribe ind, kan opnås gennem følsomhedsanalyse. Hver gang vi foretager en observation, kan vi se, hvordan dette påvirker tilstanden for et mål, vi ønsker at ændre. Hvis vi skulle foretage tusinder af separate, subtile observationer på tværs af alle variabler, kunne vi estimere, hvilke variabler vores mål er mest følsomt over for. Dette er grundlaget for følsomhedsanalyse, selv om der er mere effektive midler til at opnå det.
følsomhedsanalyse er et særligt kraftfuldt værktøj, da det hjælper os med at forstå, hvor vi skal fokusere indsatsen. Det er ikke altid muligt at gribe ind i følsomme årsager — for eksempel er der ingen mening i at ændre en kundes adresse, da der ikke er nogen måde, hvorpå vores eventuelle model styrer det. Imidlertid kan disse mere følsomme årsager spille en rolle i bestemmelsen af betingede indgreb.
ML — udviklingen kan have hjulpet med at strømline strukturoprettelsen, men en samarbejdende, hybrid læringsproces mellem mennesker — specifikt dataforskere og domæneeksperter-er stadig grundlæggende, når man når ud over korrelation for at identificere årsagssammenhæng.
udfordringer forbliver med årsagssammenhæng, og det kan være tidskrævende og vanskeligt at gennemføre et fuldt projekt på grund af det store antal separate programbiblioteker, der kræves i testfasen. Det er dog stadig en effektiv teknik, når man bygger kausale modeller — for at understøtte dette har Kvantumblack for nylig frigivet vores seneste open source-tilbud, Kausalneks. Dette programbibliotek giver en langt mere strømlinet proces og hjælper modeller med at undgå falske konklusioner og i sidste ende producere mere intelligente og effektive analyseinterventioner.
kausalitet kommer i stigende grad under mikroskopet, og det er et emne, vi er forpligtet til at udforske yderligere i fremtiden, både med Kausalneks og bredere forskning. For eksempel, vi vil præsentere et papir på AISTATS i juni, som ændrer ingen tårer for at lære strukturen af variabler på tværs af tiden ud over de intra-temporale relationer. I mellemtiden skal du holde dig opdateret med den kommende kausale udvikling.