identifiera orsak och effekt med orsakssamband

QuantumBlack, ett McKinsey-företag

följ

Feb 11, 2020 * 7 min läsning

Ben Horsburgh-Jr rektor ML ingenjör, QuantumBlack

i December hade QuantumBlack-teamet turen att delta i NeurIPS 2019 i Vancouver, där vi var värd för en expo-workshop som undersökte hur man distribuerar kausal inferens och förstärkning lärande att generera modeller som anser orsak och verkan.

denna session visade sig vara mycket populär och så ville vi dela nyckelelementen med dem som inte kunde delta. Under de kommande två Mediumartiklarna kommer vi att undersöka hur datavetenskapare kan utnyttja både orsakssamband och Förstärkningsinlärning för att bygga modeller som respekterar orsak och effekt.

Kausal Blind Spot

avancerad analys används ofta för att bestämma var man ska göra en intervention för att påverka ett mål. Men många traditionella ML-metoder, från linjär regression till djupt lärande, anser inte orsakssamband och istället bara modellkorrelation mellan datapunkter. De kan identifiera att det finns ett samband mellan variabler utan att definiera vad detta förhållande är eller hur de påverkar varandra.

detta kan ha en drastisk inverkan på modellens föreslagna ingrepp, utspädning av effektiviteten av interventioner eller till och med producera helt irrelevanta rekommendationer. Till exempel kan en icke-kausal modell som syftar till att mildra torka erkänna att det finns ett samband mellan stigande torka och stigande glassförsäljning, men kan felaktigt dra slutsatsen att förbud mot glass skulle mildra torka.

i kausalmodellering används ML för att skapa en initial struktur, visualiserad som ett grafiskt nätverk, som belyser det upplevda förhållandet mellan funktioner. Detta granskas sedan av domänexperter som kan uppdatera strukturen för att markera hur varje funktion påverkar den andra — i vårt exempel skulle en bevattningsexpert lyfta fram att tillgängligt dricksvatten skulle vara en mycket mer exakt drivkraft för att mildra torka än att förbjuda Glass.

denna process kallas orsakssamband och den här artikeln kommer att täcka var och en av de tre faser som krävs för att distribuera den.

fas 1: Strukturinlärning

Kausalmodeller måste informeras om kausalstrukturen mellan funktioner. I en idealvärld skulle en domänexpert mata in denna struktur, men det är ofta omöjligt — en modell med bara 50 variabler skulle kräva knappt 2500 orsakseffektrelationer att övervägas och förklaras.

dessutom gör orsak-och effektkedjor en redan tidskrävande process ännu mer komplex-förändringar i en funktion kan påverka en annan, vilket i sin tur påverkar en annan. Det är lätt att förbise dessa kedjor när man bygger strukturer för hand, och ännu lättare att felaktigt skapa cykliska, kyckling-äggkedjor som då är svåra att fixa.

de senaste framstegen, särskilt publiceringen av DAGs with NO TEARS på NeurIPS 2018, har förbättrat effektiviteten och noggrannheten i strukturinlärningsalgoritmer som bygger dessa nätverk. De strömlinjeformade processen och undviker paradoxstrukturer för kyckling-ägg. Det är viktigt att de inte bekräftar orsakssamband-de uppskattar det. Att arbeta med icke-experimentella data, en iterativ, samarbetsprocess är nödvändig för att verifiera förutsägelser och domänexperter är skyldiga att granska och verifiera strukturens orsakssamband, korsreferenser mot respekterade sektorspecifika publikationer, undersökningar och bredare expertutlåtande. Det är förstärkningen av data och metod med inmatning från domänexperter som gör att vi kan ta ett steg mot en kausal Tolkning.

denna process hjälper till att informera insikter — orsakseffekter som Dataforskare kan hitta överraskande är ofta väl förstådda av experter, och även de som överraskar experter är ibland väl förstådda av andra inom sitt område och kan verifieras genom en sökning av bredare material.

en strukturerad datatyp kommer att innehålla noder (variabler som innehåller information) och kanter (riktade anslutningar mellan noder som också kan innehålla information). De flesta strukturinlärningsalgoritmer utmatningskantvikter, som är användbara för att styra samtal mellan datavetenskapare och experter. Att presentera kanter från Högsta till lägsta vikt hjälper Dataforskare att driva en ännu effektivare granskningsprocess, men vi bör vara noga med att inte fästa för mycket tolkning på vikter — de är vanligtvis inte sannolikheter eller värden som kan tolkas av människor. Dessutom kan även lågviktiga kanter ibland vara viktiga men statistisk testning är svår.

när vi har identifierat vad orsakerna är kan vi gå vidare till att lära oss hur de beter sig.

fas 2: Sannolikhetsinlärning

Strukturinlärning kan identifiera att priset på kaffe påverkas på något sätt av befolkningstätheten, men kommer inte specifikt att identifiera hur — det kan inte ange om en stigande befolkning ökar eller minskar priset, eller om det finns ett mer komplext förhållande på spel.

Sannolikhetsinlärning uppskattar hur mycket varje orsak driver varje effekt genom att lära sig de underliggande villkorliga sannolikhetsfördelningarna (CPD). Varje CPD beskriver sannolikheten för en orsak, med tanke på tillståndet för dess effekter.

vi har funnit att diskreta CPD: er är mer praktiska än kontinuerliga CPD: er. Kontinuerliga fördelningar är ofta begränsade till gaussiska fördelningar och kämpar därför för att beskriva många relationer. Diskreta CPD: er kan beskriva vilken form av distribution som helst, om än med mindre precision, och stöds allmänt av många bibliotek.

vi kan använda domänexperterna för att göra ett val. Datavetenskapare och domänexperter bör komma överens om en strategi för datadiskretisering från början. Med hänsyn till projektets mål bör du definiera vilken diskretisering som krävs. Till exempel, om ditt projekt kräver jämförelser som ska göras då då percentil diskretisering skulle sannolikt passa.

med detta sagt, var noga med att undvika att diskreditera CPD: er, eftersom alla sannolikhetsbedömningar måste beskrivas och snabbt kan ackumuleras. För en binär effekt med tre binära orsaker skulle en CPD behöva uppskatta 16 möjliga eventualiteter. För en effekt med 10 tillstånd och tre orsaker, var och en med sina egna 10 tillstånd, måste 10 000 möjliga eventualiteter uppskattas. För små datamängder med färre prover än möjligheter kommer de flesta eventualiteter aldrig att observeras, och de som är kommer inte att vara väl representerade. Men även med stora datamängder kommer överdiskretisering att innebära att CPD: er kommer att innehålla många mycket osannolika eventualiteter. Detta kommer att späda kraften i modellen och öka beräkningstiden.

lärda sannolikheter bör utvärderas av både datavetare och domänexperter. För datavetenskapare, behandla detta som ett standardklassificeringsproblem — lär dig modellens sannolikheter med hjälp av en träningsuppsättning och utvärdera sedan hur exakta probabilistiska förutsägelser är för en viss nod med hjälp av testuppsättningen.

samtidigt kan domänexperter läsa CPD-tabeller och sense-check-värden. Det är ofta där de mer osannolika sannolikheterna kan elimineras.

fas 3: inferens

nu förstår vi orsakseffektrelationsstrukturen i vår dataset och hur relationerna beter sig. Detta gör det möjligt för oss att göra slutsatser — i huvudsak testa åtgärder och teorier för att mäta svar.

inferens kan delas upp i observations-och interventionell. I observationell inferens kan vi observera tillståndet för alla variabler och sedan fråga hur förändring av detta kommer att påverka sannolikheten för något annat tillstånd av någon annan variabel. Att fråga sannolikheten för andra variabler görs genom att spela ut alla orsaks-och effektrelationer, uppnås matematiskt genom att marginalisera sannolikheter över CPD: erna. Ett exempel på detta skulle vara att observera en kaffebutik i centrum och dra slutsatsen att det sannolikt kommer att medföra dyr kommersiell hyra-och att priset på ett kaffe därefter sannolikt kommer att vara högt.

i interventionell slutsats kan vi ingripa i tillståndet för alla variabler, ändra sannolikheten för dess tillstånd till vad vi än väljer och effektivt fråga ’vad om X var annorlunda?-Vi kan till exempel anta att anställda arbetar en fyradagarsvecka istället för fem och sedan observera vilken effekt detta har på produktiviteten.

att bestämma var det är mest lämpligt att ingripa kan uppnås genom känslighetsanalys. Varje gång vi gör en observation kan vi se hur detta påverkar tillståndet för ett mål vi vill ändra. Om vi skulle göra tusentals separata, subtila observationer över alla variabler, kunde vi uppskatta vilka variabler vårt mål är mest känsligt för. Detta är grunden för känslighetsanalys, även om det finns effektivare sätt att uppnå det.

känslighetsanalys är ett särskilt kraftfullt verktyg eftersom det hjälper oss att förstå var vi ska fokusera insatserna. Det är inte alltid möjligt att ingripa på känsliga orsaker — till exempel är det ingen mening att ändra en kunds adress eftersom det inte finns något sätt att vår eventuella modell kontrollerar det. Dessa känsligare orsaker kan dock spela en roll för att bestämma villkorliga ingrepp.

ML-utvecklingen kan ha hjälpt till att effektivisera strukturskapande men en samarbetande hybridinlärningsprocess mellan människor-specifikt Dataforskare och domänexperter — är fortfarande grundläggande när man når bortom korrelation för att identifiera orsakssamband.

utmaningar kvarstår med orsakssamband och det kan vara tidskrävande och svårt att slutföra ett fullständigt projekt på grund av det stora antalet separata programbibliotek som krävs under testfasen. Det är dock fortfarande en effektiv teknik när man bygger kausalmodeller — för att stödja detta har QuantumBlack nyligen släppt vårt senaste open source-erbjudande, CausalNex. Detta programbibliotek ger en mycket mer strömlinjeformad process och hjälper modeller att undvika falska slutsatser och i slutändan producera mer intelligenta och effektiva analysinterventioner.

kausalitet kommer alltmer under mikroskopet och det är ett ämne som vi är engagerade i att utforska vidare i framtiden, både med Kausalnex och bredare forskning. Till exempel kommer vi att presentera ett papper på AISTATS i juni, som ändrar inga tårar för att lära sig strukturen av variabler över tiden utöver de intra-temporala relationerna. Sålänge, hålla dig uppdaterad med kommande CausalNex utvecklingen.