Modele de proiectare a științei datelor Alteryx: Forma modelului predictiv, partea a doua

În prima noastră postare am enumerat componentele într-un model predictiv și le-am analizat pe primele patru. Să continuăm discuția examinând a cincea componentă: forma funcțională.

data

Procesul de generare a datelor

Un model predictiv își propune să prezică comportamentul unui proces din lumea reală. Oamenii de știință de date denumesc acest proces procesul de generare a datelor, deoarece generează datele de intrare ale unui model.

  • Un proces generator poate fi fizic. De exemplu, procesul care uzează treptat o piesă pe o mașină industrială ar putea genera vibrații, temperatură și valori sonore care prezic când piesa va eșua.

  • Un proces generator poate fi biologic. De exemplu, s-ar putea măsura modificările neuronale la șoarecii experimentali de laborator supuși regimurilor de exerciții și diete, pentru a vedea cum activitatea fizică și restricția calorică afectează sănătatea neuronală.

  • În cele din urmă, un proces generator poate fi social. De exemplu, clienții unei companii ar putea decide periodic dacă vor continua să cumpere servicii de la companie sau, în schimb, să schimbe furnizorii de servicii (churn).

Observați că unele dintre variabilele din exemplele de mai sus sunt efecte naturale ale procesului de generare. Astfel de variabile sunt endogene. Variabilele pe care oamenii le manipulează sunt numite decizii, tratament sau variabile independente, în funcție de context. (Iată o listă mai lungă de tipuri de variabile, dacă doriți să aflați mai multe.)

Exemplele de mai sus ale celor trei tipuri de procese generatoare sunt simpliste. Într-adevăr, majoritatea proceselor generatoare pe care probabil le veți modela vor fi amestecuri de aceste trei tipuri. (De fapt, ori de câte ori sunt prezente variabile de decizie, aveți un anumit grad de influență socială la locul de muncă în procesul dvs. de generare.) Știind acest lucru și cunoașterea tipurilor de variabile, vă va ajuta să vă gândiți critic la ce variabile ar putea prezice comportamentul unui anumit proces de generare. . De exemplu, dacă modelați eficacitatea unui medicament, poate fi necesar să includeți între variabilele de intrare măsuri biologice ale gradului de absorbție a medicamentului de către organism și, de asemenea, măsuri comportamentale ale gradului de respectare a prescripțiilor medicilor de către subiecții experimentali.

Previzibilitate

Ipoteza noastră de bază despre un proces generator este că comportamentul său este într-o oarecare măsură previzibil, cel puțin atunci când am ales un set bun de transformări și caracteristici ale modelului. Să ne oprim o clipă pentru a ne gândi la ce înseamnă această presupunere. În primul rând, rețineți că, deși presupunerea nu se menține întotdeauna, este surprinzător de greu să găsiți un bun exemplu de proces generator complet imprevizibil (aleatoriu). Aruncarea cu monede este un exemplu foarte comun al unui proces presupus aleatoriu. Dar studiile empirice privind aruncarea fizică a monedelor relevă un grad mic de predictibilitate. De asemenea, oamenii spun adesea că prețul unei acțiuni este complet imprevizibil, deoarece este (aproximativ) o mers aleatoriu, ceea ce înseamnă că prețul este la fel de probabil să crească sau să scadă cu o anumită sumă, de fiecare dată când prețul se schimbă. Dar, ca o chestiune practică, prețurile acțiunilor se încadrează într-o gamă limitată și, în acest interval, distribuția prețului viitor al unei acțiuni, având în vedere prețul actual, este aproximativ în formă de clopot - nu plat. O acțiune care are în prezent un preț de 100 USD este mult mai probabil să treacă la 101 USD decât la 1.001 USD la următoarea schimbare a prețului acțiunii. În acest sens, 101 USD reprezintă o predicție mai bună a prețului acțiunii decât 1.001 USD, având în vedere prețul actual. Prețul nu este complet aleatoriu.

Poate cel mai bun exemplu pe care îl putem construi dintr-un proces aleatoriu este un bun generator de numere aleatorii. Unii generatori de numere aleatorii prelevează o măsurare dintr-un proces fizic (adesea sub-atomic). Alții sunt algoritmi software care generează secvențe de numere având aceeași distribuție statistică pe care ar avea-o secvențele de numere aleatoare adevărate, chiar dacă algoritmul ne spune ce număr urmează, având în vedere ce număr a venit ultima. Astfel de algoritmi sunt pseudo-aleatori. Este important să ne gândim, deoarece, în timp ce distribuția rezultatelor lor satisface multe teste statistice ale aleatoriei, algoritmii înșiși sunt complet previzibili, deoarece procesul lor de generare (un program de computer care rulează pe un computer) este determinist. Odată ce cunoaștem intrările, putem deduce rezultatele din algoritm cu certitudine. În schimb, pentru unele tipuri de procese fizice, acest tip de cunoaștere nu este posibil, chiar și în principiu.

Forma funcțională

În știința datelor de zi cu zi, presupunem că procesul nostru de generare nu este cu adevărat aleatoriu. Mai degrabă, există o relație deterministă între un set de variabile de intrare relevante și variabila rezultat (dependentă) pe care vrem să o prezicem. În matematică numim o astfel de relație o funcție, deoarece mapează fiecare set de valori variabile de intrare la o singură valoare variabilă rezultat.

Există trei moduri de a specifica o funcție:

  1. Cel mai adesea specificăm o formă funcțională ca o expresie matematică a unui set de argumente de intrare (caracteristici ale modelului): f (x 1, x 2) = x 1 2 + 2x 1 x 2 + log (x 2), de exemplu.
  2. De asemenea, putem specifica o funcție ca o procedură care generează o singură valoare pentru orice combinație dată de valori de intrare.
  3. Sau putem specifica o funcție ca un tabel listând valoarea de ieșire corespunzătoare fiecărui set posibil de valori de intrare.

Fiecare dintre acestea este important în știința datelor, așa cum vom vedea mai jos.

Putem idealiza procesul de construire a unui model predictiv ca descoperind două lucruri:

  1. care variabile de intrare determină variabila de rezultat
  2. forma funcțională a relației deterministe .

Primele patru părți ale modelului modelului predictiv se referă la prima dintre acestea; restul, al doilea.

În practică, nu ne așteptăm să descoperim adevărata formă funcțională a unui proces de generare. Mai degrabă, ne străduim doar să o aproximăm (estimăm). Astfel celebrul aforism, „Toate modelele sunt greșite, dar unele modele sunt utile”. Multe dintre modelele de proiectare pe care le vom studia în această serie de bloguri surprind metode importante pentru construirea unor modele utile, deși aproximative.

Exemple

Să luăm în considerare câteva exemple de forme funcționale și aproximări utile la acestea. Aceste exemple ilustrează faptul că un model poate aproxima forma funcțională a unui proces de generare, mai degrabă decât să o specifice perfect sau chiar în mod explicit, din oricare dintre mai multe motive.

Exemplul 2.1: set de caracteristici aproximativ

O parte din specificarea unei funcții este specificarea argumentelor sale (intrări). Dacă un model folosește doar unele dintre intrările cerute de forma funcțională adevărată a procesului de generare, modelul poate aproxima doar forma respectivă. Algoritmii de selecție variabilă și indicatorii cu importanță variabilă ne ajută să identificăm intrări utile. Pentru a ilustra, amintiți-ne setul de date medicale electronice noționale (EMR) din postarea anterioară și graficele cu importanță variabilă pădure aleatorie pentru prezicerea procentului de grăsime corporală (PBF) din celelalte variabile din EMR. Să reproducem acest complot aici:

Figura 1: Importanță variabilă pentru prezicerea PBF

Ambele comploturi sunt de acord că vârsta și indicele de masă corporală (IMC) sunt predictori importanți (caracteristici ale modelului). Comploturile nu sunt de acord cu importanța genului și a greutății. Dacă preferăm măsurarea purității nodului de importanță variabilă (cea afișată în prezent de instrumentul Alteryx-forest-forest), am putea alege ca set de caracteristici. Să presupunem că acum alegem regresia liniară obișnuită a celor mai mici pătrate (OLS) ca algoritm de inducție. Fluxul de date Alteryx ar fi ca în figurile 2 și 3:

Figura 2: Model liniar OLS

Figura 3: Configurare de regresie liniară OLS

Valorile rezultate model-fitness sunt în rândul opt al rezultatului modelului din Figura 4:

Figura 4: Metrici de fitness pentru modelul liniar pentru primele trei variabile nod-puritate

Să schimbăm modelul pentru a-l folosi ca set de funcții, primele trei variabile recomandate de graficul de importanță variabilă a erorii pătrate medii (MSE) din Figura 1. Figura 5 prezintă aceleași valori pentru modelul de fitness

Figura 5: Metrici de fitness pentru modelul liniar pentru primele trei variabile MSE

Niciun model nu se potrivește perfect cu datele; ambele „explică” aproximativ 91% din variația setului de caracteristici. (Adică, R pătrat este de aproximativ 0,91. Consultați articolul Wikipedia despre R pătrat pentru a afla mai multe despre această măsură a fitnessului modelului.) Dar al doilea set de caracteristici explică datele puțin mai bine. Dacă folosim unirea celor două seturi de caracteristici de mai sus, se întâmplă ceva curios:

Figura 6: Metrici de fitness pentru modelul liniar pentru uniunea seturilor de caracteristici

R pătrat nu se îmbunătățește, chiar dacă am adăugat o a patra variabilă. Acest rezultat sugerează că a patra variabilă nu conține informații care nu sunt deja transportate de primele trei variabile MSE. Aceste trei ar putea fi cel mai bun set de caracteristici pe care l-am putea alege dintre variabilele brute de intrare, în sensul că acest set pare a fi cel mai mic set care realizează cel mai bun R posibil. (Vom învăța modele mai sofisticate pentru alegerea seturilor de funcții în postările ulterioare.) Pentru a îmbunătăți R pătrat în continuare, ar trebui să luăm una dintre cele trei abordări:

  1. Găsiți alte variabile de intrare care poartă informații despre PBF care nu sunt deja transportate de setul curent de variabile de intrare.
  2. Măsurați setul curent de variabile de intrare mai precis.
  3. Utilizați un model care presupune că procesul de generare are o formă funcțională diferită.

Este ușor să ne imaginăm că variabilele comportamentale care măsoară nivelul de activitate fizică și calitatea dietei ar putea aduce informații suplimentare despre PBF. Să ne concentrăm în schimb pe exemplele de mai jos, care ilustrează celelalte două abordări.

Exemplul 2.2: Măsurarea aproximativă a caracteristicilor

Un al doilea motiv pentru care un model nu captează perfect forma funcțională a unui proces de generare este că, chiar dacă modelul folosește toate caracteristicile corecte, valorile caracteristicilor pot să nu fie măsurate perfect. În schimb, măsurătorile pot (și aproape întotdeauna fac) să includă o eroare statistică. De exemplu, să presupunem că datele EMR nu conțin erori de măsurare în variabilele de vârstă și sex. (Pacienții raportează aceste date corect, iar personalul medical le înregistrează corect.) Variabila IMC este deja zgomotoasă; datele EMR simulate au fost construite în acest fel. Să facem IMC mai zgomotos, pentru a ilustra efectul unei măsurători care măsoară doar aproximativ valoarea reală. Putem adăuga jitter distribuit uniform la valorile IMC folosind funcția R’s jitter ():

ex_2.2_data $ bmi Figura 7: Adăugați Uniform Jitter la o variabilă în R.

Dacă reluăm modelul liniar, R pătrat scade la aproximativ 0,89. În acest mod, măsurătorile zgomotoase ale caracteristicilor ascund cel puțin parțial semnalul unui proces generator (forma funcțională) dintr-un model.

Valorile caracteristicilor lipsă și nevalide sunt cel mai extrem caz de măsurare zgomotoasă. În acest caz, măsurarea (nulă) a ascuns complet adevărata valoare a caracteristicii.

Exemplul 2.3: Formă funcțională aproximativă

Oamenii de știință de date petrec adesea mult timp explorând vizual variabilele de intrare. Un motiv pentru o astfel de analiză exploratorie este de a obține informații despre forma geometrică a formei funcționale a procesului generator. Exemplele de mai sus presupun că forma funcțională este liniară (sau cel puțin că o funcție liniară este o bună aproximare la forma funcțională adevărată). Să explorăm relația dintre IMC și PBF pentru a testa această ipoteză. Figura 8 conține graficul de dispersie și linia de regresie dintre cele două variabile:

Figura 8: Scatterplot și linie de regresie pentru PBF

Am dori ca graficul scatter să se concentreze pe linia de regresie. Dar forma de lacrimă a parcelei de împrăștiere nu este destul de simetrică și nu este chiar centrată pe linia de regresie. Acest lucru sugerează că forma funcțională a procesului generator nu este perfect liniară. Dacă regresăm PBF pe mai multe funcții ale IMC, inclusiv IMC 2 și log (IMC), descoperim că PBF se corelează de fapt foarte puțin mai bine cu log (IMC) decât cu IMC, sugerând că relația nu este perfect liniară:

Figura 9: Scatterplot și linie de regresie pentru PBF

Acum relația are forma PBF = β 0 + β 1 log (IMC, iar linia de regresie împarte datele puțin mai bine. Interesant, totuși, înlocuirea IMC cu jurnal (IMC) încă nu îmbunătățește modelul general. Vom explora de ce într-o postare viitoare.)

Adevărata formă funcțională care leagă PBF și IMC nu este nici liniară, nici logaritmică. (Știu pentru că am construit funcția servind ca proces de generare. Astfel de procese de generare artificială sunt denumite simulări.) Punctul important nu este că modelul nostru este greșit în ceea ce privește forma funcției, ci că este o aproximare destul de bună, chiar dacă am ales o aproximare liniară imperfectă la forma funcțională (foarte ușor neliniară).

Exemplul 2.4: Formă funcțională implicită

Până acum am luat în considerare aproximarea formelor funcționale pe care le puteți scrie folosind simboluri pe care probabil le-ați învățat la matematică la liceu. Modelele care utilizează aceste forme funcționale sunt parametrice. În exemplul anterior, constantele β 0 și β 1 sunt parametrii modelului (panta și interceptare). Uneori adevărata formă funcțională are o formă foarte complicată, una care ar fi dificil sau practic imposibil de aproximat cu un model parametric. Alternativa este un model non-parametric. Aceste modele încă produc funcții, deoarece prezic încă o singură valoare pentru fiecare set posibil de valori ale modelului-caracteristică. Dar nu ne spun forma funcției, forma sa matematică. Această formă este doar implicită în algoritmul de inducție adaptat. Multe astfel de modele sunt denumite modele de învățare automată, subliniind că numai mașina „învață” forma funcțională, în timp ce modelul este o „cutie neagră” pentru utilizatorii săi umani. Pădurile aleatorii, mașinile vector-suport și rețelele neuronale sunt toate exemple de modele de învățare automată.

Este important să ne dăm seama că utilizarea unui model de învățare automată nu ne eliberează de considerațiile matematice ale modelelor parametrice clasice. Teoreticienii care descoperă algoritmi de învățare automată încearcă să producă aceleași tipuri de garanții despre acești algoritmi de care se bucură metodele parametrice. Adesea matematica este cu atât mai provocatoare, cu cât teoreticienii nu pot argumenta direct despre comportamentul unei funcții în formă închisă. Aceste garanții (atunci când există) se referă încă dacă și cât de repede converge modelul la un singur răspuns pe măsură ce îl hrăniți din ce în ce mai multe date de intrare. Și este remarcabil faptul că unele modele de învățare automată sunt mult mai flexibile în ceea ce privește formele funcționale pe care le pot aproxima decât modelele clasice. În special, se poate construi o rețea neuronală care să aproximeze orice funcție continuă dată cât de mult ne place. Această flexibilitate este unul dintre motivele pentru care modelele de învățare automată sunt atât de atrăgătoare.

Fluxul de date Alteryx pentru un model de pădure aleatorie doar înlocuiește instrumentul de regresie liniară din Figura 2 cu instrumentul de pădure model:

Figura 10: Model aleatoriu-forestier

Acest model explică doar 82,64% din variația variabilelor de intrare, în ciuda flexibilității sale. Acest lucru sugerează că forma liniară a modelului nostru de regresie liniară OLS este mai aproape de forma adevărată a funcției generatoare decât cea a funcției (neliniare) indusă de o colecție de arbori de decizie. Toate acestea ne aduc la o regulă bună de dezvoltare a modelului. În primul rând, potriviți cel mai bun model parametric pe care îl puteți. Încercați modele de învățare automată numai atunci când niciun model parametric nu vă oferă rezultate suficient de bune. Modelele parametrice nu sunt cumva depășite doar pentru că au apărut modele de învățare automată. Dimpotrivă: forma lor funcțională explicită le face mai transparente și adesea se apropie îndeaproape de adevărata formă funcțională a procesului generator. Folosește-le când poți.

Am folosit expresia „model fitness” fără să o explicăm. Să remediem asta. Modelul de fitness înseamnă două lucruri:

  1. Predicțiile modelului sunt de acord cu datele pe care le-am folosit pentru a dezvolta (instrui, potrivi) modelul.
  2. Predicțiile modelului sunt de acord cu datele care nu sunt utilizate pentru instruirea modelului. (Modelul se generalizează.)

Un model nu își potrivește datele de antrenament atunci când eșuează la primul lucru. De obicei, acest lucru se întâmplă deoarece forma funcțională a modelului este mai puțin complexă decât cea a procesului generator. Adică modelul este insuficient de complex. Suprapunerea apare atunci când modelul eșuează la al doilea lucru. De obicei, acest lucru se întâmplă deoarece forma funcțională a modelului este prea complexă - deoarece procesul de montare l-a adaptat la zgomotul de măsurare din datele de antrenament, precum și la adevărata formă funcțională a procesului de generare.

În timp ce oamenii nu își propun în mod deliberat să îmbrace sau să îmbrace un model, mai multe practici obișnuite duc la insuficiență și suprasolicitare. Vom trece în revistă unele dintre aceste antipatternuri în postările viitoare.

Dacă am avea toate datele pe care le-a generat procesul de generare și le-am folosi pe toate pentru a antrena modelul, am putea reduce întotdeauna ambele sensuri ale aptitudinii modelului la primul. În special, am putea - tehnic vorbind - să specificăm perfect forma funcțională a procesului de generare, specificând valoarea exactă a ieșirii pentru fiecare set de intrări. O astfel de specificație nu ar fi foarte interesantă, deoarece nu ar îndeplini o funcție cheie a unui model analitic, și anume rezumarea datelor. Ar fi doar un tabel care conține toate datele.

Am ajuns astfel la un model de bază de proiectare a științei datelor (DSDP) pe care exemplele de mai sus îl ilustrează. Modelul este vechi de sute de ani și a fost exprimat în multe feluri. Cu secole în urmă a apărut ca aparatul de ras al lui Occam. Statisticienii clasici îl numesc diferența de părtinire. Îl vom numi compromisul de sub-montare/supra-montare: utilizați cele mai puține variabile de intrare pe care le puteți și cel mai simplu model de model pe care îl puteți, pentru a maximiza modelul de fitness. Vom vedea acest tipar la lucru atunci când vom examina ultimele trei componente ale unui model predictiv.