identificarea cauzei și efectului cu raționamentul cauzal
Ben Horsburgh – Jr inginer principal ML, QuantumBlack
în decembrie, echipa QuantumBlack a avut norocul să participe la NeurIPS 2019 în Vancouver, unde am găzduit un atelier expo care explorează modul de implementare a cauzalității învățarea inferenței și întăririi pentru a genera modele care iau în considerare cauza și efectul.
această sesiune s-a dovedit foarte populară și așa am vrut să împărtășim elementele cheie cu cei care nu au putut participa. În următoarele două articole medii vom explora modul în care oamenii de știință de date pot valorifica atât raționamentul cauzal, cât și învățarea de întărire pentru a construi modele care respectă cauza și efectul.
punctul mort cauzal
analiza avansată este adesea implementată pentru a decide unde să facă o intervenție pentru a influența o țintă. Cu toate acestea, multe metodologii tradiționale ML, de la regresia liniară la învățarea profundă, nu iau în considerare cauzalitatea și, în schimb, doar corelația modelului între punctele de date. Ei pot identifica că există o relație între variabile fără a defini ce este această relație sau cum se influențează reciproc.
acest lucru poate avea un impact drastic asupra intervenției sugerate de model, diluând eficacitatea intervențiilor sau chiar producând recomandări complet irelevante. De exemplu, un model non-cauzal care vizează atenuarea secetei poate recunoaște că există o relație între creșterea secetei și creșterea vânzărilor de înghețată, dar poate concluziona în mod spurios că interzicerea înghețatei ar atenua seceta.
în modelarea cauzală, ML este utilizat pentru a crea o structură inițială, vizualizată ca o rețea grafică, care evidențiază relația percepută între caracteristici. Acest lucru este apoi revizuit de experții din domeniu care pot actualiza structura pentru a evidenția modul în care fiecare caracteristică o influențează pe cealaltă — în exemplul nostru, un expert în irigații ar sublinia că apa potabilă accesibilă ar fi un factor mult mai precis pentru atenuarea secetei decât interzicerea înghețatei.
acest proces este cunoscut sub numele de raționament cauzal și acest articol va acoperi fiecare dintre cele trei faze necesare pentru implementarea acestuia.
Faza 1: Învățarea structurii
modelele cauzale trebuie informate despre structura cauzală dintre caracteristici. Într — o lume ideală, un expert în domeniu ar introduce această structură, dar acest lucru este adesea imposibil-un model cu doar 50 de variabile ar necesita puțin sub 2.500 de relații cauză-efect pentru a fi luate în considerare și explicate.
mai mult, lanțurile de cauză și efect fac un proces deja intensiv în timp și mai complex-modificările aduse unei caracteristici pot avea un impact asupra alteia, care la rândul său influențează alta. Este ușor să treci cu vederea aceste lanțuri atunci când construiești structuri manual și chiar mai ușor să creezi în mod eronat lanțuri ciclice, de ouă de pui, care sunt apoi dificil de fixat.
progresele recente, în special publicarea DAGs fără lacrimi la NeurIPS 2018, au îmbunătățit eficiența și acuratețea algoritmilor de învățare a structurii care construiesc aceste rețele. Au simplificat procesul și au evitat structurile paradoxale ale ouălor de pui. Important este că nu confirmă cauzalitatea-o estimează. Lucrând cu date non-experimentale, este necesar un proces iterativ, de colaborare, pentru a verifica predicțiile, iar experții din domeniu sunt obligați să revizuiască și să verifice cauzalitatea structurii, corelând relațiile cu publicațiile, sondajele și opinia mai largă a experților. Este augmentarea datelor și a metodei cu aportul experților în domeniu care ne permit să facem un pas către o interpretare cauzală.
acest proces ajută la informarea perspectivelor — cauză-efecte pe care oamenii de știință de date le pot găsi surprinzătoare sunt adesea bine înțelese de experți și chiar și cei care surprind experții sunt uneori bine înțeleși de alții din domeniul lor și pot fi verificați printr-o căutare de materiale mai largi.
un tip de date structurat va include noduri (variabile care dețin informații) și margini (conexiuni direcționate între noduri care pot deține, de asemenea, informații). Majoritatea algoritmilor de învățare a structurii generează greutăți de margine, care sunt utile pentru a direcționa conversațiile dintre oamenii de știință și experți. Prezentarea marginilor de la cea mai mare la cea mai mică greutate îi ajută pe oamenii de știință să conducă un proces de revizuire și mai eficient, dar ar trebui să fim atenți să nu atașăm prea multă interpretare greutăților — de obicei nu sunt probabilități sau valori care sunt interpretabile de oameni. Mai mult, chiar și marginile cu greutate redusă pot fi uneori importante, dar testarea statistică este dificilă.
odată ce am identificat care sunt cauzele, putem progresa spre a învăța cum se comportă.
Faza 2: Învățarea prin probabilitate
învățarea prin structură poate identifica faptul că prețul cafelei este influențat într — un fel de densitatea populației, dar nu va identifica în mod specific cum-nu este în măsură să indice dacă o populație în creștere crește sau scade prețul sau dacă există o relație mai complexă în joc.
învățarea probabilității estimează cât de mult determină fiecare cauză fiecare efect prin învățarea distribuțiilor de probabilitate condițională subiacente (CPD). Fiecare CPD descrie probabilitatea unei cauze, având în vedere starea efectelor sale.
am constatat că CPD-urile discrete sunt mai practice decât CPD-urile continue. Distribuțiile continue sunt adesea limitate la distribuțiile gaussiene și astfel se luptă să descrie multe relații. CPD-urile Discrete pot descrie orice formă de distribuție, deși cu mai puțină precizie, și sunt susținute pe scară largă de multe biblioteci.
putem folosi experții în domeniu pentru a face o alegere. Oamenii de știință de date și experții în domeniu ar trebui să convină de la început asupra unei strategii de discretizare a datelor. Luând în considerare obiectivele proiectului, ar trebui să definiți ce discretizare este necesară. De exemplu, în cazul în care proiectul dumneavoastră necesită comparații să fie făcute apoi apoi percentila discretizare ar potrivi probabil.
acestea fiind spuse, aveți grijă să evitați discretizarea excesivă a CPD-urilor, deoarece toate estimările de probabilitate trebuie descrise și se pot acumula rapid. Pentru un efect binar cu trei cauze binare, un DPC ar trebui să estimeze 16 posibile eventualități. Pentru un efect cu 10 stări și trei cauze, fiecare cu propriile 10 stări, trebuie estimate 10.000 de posibile eventualități. Pentru seturi de date mici, cu mai puține eșantioane decât posibilități, cele mai multe eventualități nu vor fi niciodată observate, iar cele care sunt nu vor fi bine reprezentate. Dar chiar și cu seturi de date mari, discretizarea excesivă va însemna că CPD-urile vor include multe eventualități extrem de improbabile. Acest lucru va dilua puterea modelului și va crește timpul de calcul.
probabilitățile învățate ar trebui evaluate atât de data scientist, cât și de experți în domeniu. Pentru oamenii de știință de date, tratați acest lucru ca pe o problemă de clasificare standard — aflați probabilitățile modelului folosind un set de instruire și apoi evaluați cât de exacte sunt predicțiile probabilistice pentru orice nod dat folosind setul de testare.
între timp, experții în domeniu pot citi tabelele CPD și valorile de verificare a sensului. Acest lucru este adesea în cazul în care probabilitățile mai improbabile pot fi eliminate.
Faza 3: inferență
până acum înțelegem structura relației cauză-efect a setului nostru de date și modul în care se comportă relațiile. Acest lucru ne permite să facem inferențe — testând în esență acțiuni și teorii pentru a evalua răspunsul.
inferența poate fi împărțită în observațional și intervențional. În inferența observațională, putem observa starea oricărei variabile(variabile) și apoi putem interoga modul în care schimbarea acesteia va afecta probabilitatea oricărei alte stări a oricărei alte variabile. Interogarea probabilității altor variabile se face prin redarea tuturor relațiilor cauză-efect, realizate matematic prin marginalizarea probabilităților față de CPD-uri. Un exemplu în acest sens ar fi observarea unei cafenele din Centrul orașului și concluzia că este probabil să suporte o chirie comercială costisitoare-și că, ulterior, prețul unei cafele este probabil să fie ridicat.
în inferența intervențională, putem interveni asupra stării oricărei variabile(variabile), schimbând probabilitatea stărilor sale în orice alegem și întrebând efectiv ‘ce se întâmplă dacă X ar fi diferit? De exemplu, am putea presupune că angajații lucrează o săptămână de patru zile în loc de cinci și apoi să observăm efectul pe care acest lucru îl are asupra productivității.
Decizia unde este cea mai potrivită intervenție poate fi obținută prin analiza sensibilității. De fiecare dată când facem o observație, putem vedea cum aceasta afectează starea unei ținte pe care vrem să o schimbăm. Dacă ar fi să facem mii de observații separate, subtile în toate variabilele, am putea estima care variabile ținta noastră este cea mai sensibilă. Aceasta este baza analizei sensibilității, deși există mijloace mai eficiente pentru realizarea acesteia.
analiza sensibilității este un instrument deosebit de puternic, deoarece ne ajută să înțelegem unde să ne concentrăm eforturile. Nu este întotdeauna posibil să intervenim asupra unor cauze sensibile-de exemplu, nu are rost să modificăm adresa unui client, deoarece nu există nicio modalitate prin care modelul nostru eventual să controleze acest lucru. Cu toate acestea, aceste cauze mai sensibile pot juca un rol în determinarea intervențiilor condiționate.
evoluțiile ML ar fi putut ajuta la eficientizarea creării structurii, dar un proces de învățare colaborativ, hibrid între oameni — în special oamenii de știință de date și experții în domeniu — este încă fundamental atunci când se ajunge dincolo de corelație pentru a identifica cauzalitatea.
provocările rămân cu raționamentul cauzal și poate fi dificil să finalizați un proiect complet din cauza numărului mare de biblioteci software separate necesare în timpul fazei de testare. Cu toate acestea, rămâne o tehnică eficientă atunci când construim modele cauzale — pentru a susține acest lucru, QuantumBlack a lansat recent cea mai recentă ofertă open source, CausalNex. Această bibliotecă software oferă un proces mult mai eficient și ajută modelele să evite concluziile false și, în cele din urmă, să producă intervenții analitice mai inteligente și de impact.
cauzalitatea se află din ce în ce mai mult sub microscop și este un subiect pe care ne-am angajat să-l explorăm mai departe în viitor, atât cu CausalNex, cât și cu cercetări mai ample. De exemplu, vom prezenta o lucrare la AISTATS în iunie, care modifică No TEARS pentru a învăța structura variabilelor de-a lungul timpului, pe lângă relațiile intra-temporale. Între timp, rămâneți la curent cu evoluțiile viitoare CausalNex.