Nou în 
Estimarea efectelor tratamentului folosind lasou
Folosiți estimatori de efecte de tratament pentru a trage inferențe cauzale din datele observaționale. Poate doriți să estimați efectul unui regim de medicamente asupra tensiunii arteriale, efectul unei proceduri chirurgicale asupra mobilității, efectul unui program de instruire asupra ocupării forței de muncă sau efectul unei campanii publicitare asupra vânzărilor.
Folosiți estimatori inferențiali de tip lasou atunci când sunteți interesat de deducerea asupra câtorva covariabile în timp ce controlați multe alte covariabile potențiale. (Și când spunem multe, ne referim la sute, mii sau mai multe!)
Acum puteți utiliza acești estimatori simultan. Cu noua comandă telasso, puteți estima efectele tratamentului controlând în același timp multe potențiale covariabile.
De exemplu, puteți tasta
. telasso (y1 x1-x100) (treat w1-w100)
pentru a estima efectul tratamentului binar de treat asupra rezultatului continuu y1 controlând în același timp predictorii de la x1 la x100 în modelul de rezultat și pentru w1 la w100 în modelul de tratament. Estimările obținute beneficiază de proprietăți de robustețe atât ale estimatorilor efectelor tratamentului, cât și ale laso-ului.
Cu telasso, obțineți tot ceea ce vă așteptați de la efectele tratamentului și de la lasso. Puteți estima efectul mediu al tratamentului, efectul mediu al tratamentului asupra tratamentului și potențialul rezultat al mijloacelor. Puteți modela rezultatele continue, binare și contorizați și puteți alege între un model de tratament logit sau probit. Și pentru selectarea controalelor, puteți alege între estimarea lasso sau lasso cu rădăcină pătrată și puteți alege dintre mai multe metode de selecție, cum ar fi BIC și validarea încrucișată.
Repere
Estimează efectele tratamentului cu controale de înaltă dimensiune
- Controale de înaltă dimensiune în modelul de rezultat
- Controale de înaltă dimensiune în modelul de tratament
Specificații flexibile ale modelului
- Modelul rezultatului poate fi liniar, logit, probit sau poisson
- Modelul de atribuire a tratamentului poate fi logit sau probit
Diferite măsuri ale efectelor tratamentului
- ATE: efecte medii ale tratamentului
- Matricea de variație – covarianță a efectelor aleatorii
- ATET: efect mediu al tratamentului asupra tratat
- POM: potențial-rezultat mediu
Estimare solidă
- Duritate dublă: doar unul dintre modele trebuie specificat corect
- Ortogonalitatea lui Neyman: ferită de greșelile de selecție a modelelor făcute de lasou
Învățare automată dublă
- Montare încrucișată și reeșantionare
Să vedem cum funcționează
Am dori să comparăm două tipuri de transplant pulmonar: transplantul pulmonar bilateral (BLT) și transplantul pulmonar unic (SLT). BLT este de obicei asociat cu o rată a mortalității mai mare pe termen scurt după operație, dar cu o îmbunătățire mai semnificativă a calității vieții decât SLT. Ca urmare, pentru pacienții care trebuie să decidă între aceste două opțiuni de tratament, este esențial să se cunoască efectul BLT(versus SLT) asupra calității vieții. Prin urmare, dorim să estimăm efectul de tratament transtype asupra rezultatului fev1p. Acest rezultat reprezintă procentul volumului expirator forțat într-o secundă (FEV1) pe care pacientul îl are în raport cu o persoană sănătoasă.
Datele noastre includ 29 de variabile care înregistrează caracteristicile pacienților și donatorilor. Folosim aceste variabile și interacțiunile dintre ele ca controale în modelul nostru. Ar fi plictisitor să tastați aceste nume de variabile unul câte unul pentru a distinge între variabile continue și categorice. vl este o suită de comenzi care simplifică acest proces.
Următorul cod creează lista variabilelor de control și o stochează în macro-ul global $allvars.
. quietly vl set . vl create cvars = vlcontinuous - (fev1p) note: $cvars initialized with 12 variables. . vl create fvars = vlcategorical - (transtype) note: $fvars initialized with 17 variables. . vl sub allvars = c.cvars i.fvars c.cvars#i.fvars
Acum suntem gata să folosim telasso pentru a estima efectele medii ale tratamentului. Presupunem un model de rezultat liniar și un model de tratament logit, valorile implicite. Tastăm
. telasso (fev1p $allvars) (transtype $allvars) Estimating lasso for outcome fev1p if tran~e = 0 using plugin method ... Estimating lasso for outcome fev1p if tran~e = 1 using plugin method ... Estimating lasso for treatment tran~e using plugin method ... Estimating ATE ... Treatment-effects lasso estimation Number of observations = 937 Outcome model: linear Number of controls = 454 Treatment model: logit Number of selected controls = 8
Robust | ||
fev1p | Coefficient std. err. z P>|z| [95% conf. interval] | |
ATE | ||
transtype | ||
(BLT | ||
vs | ||
SLT) | 37.51841 .1606703 233.51 0.000 37.20351 37.83332 | |
POmean | ||
transtype | ||
SLT | 46.4938 .2021582 229.99 0.000 46.09757 46.89002 | |
Dacă toți pacienții ar alege un BLT, se așteaptă ca FEV1% să fie cu 38 de puncte procentuale mai mare decât media de 46% așteptată dacă toți pacienții ar alege un SLT. Dintre cele 454 de variabile de control, telasso selectează doar 8 dintre ele.
Este normal să se estimeze efectul mediu al tratamentului pentru a determina efectul asupra celor care au primit efectiv tratamentul. Pentru a estima această valoare, adăugăm opțiunea atet.
. telasso (fev1p $allvars) (transtype $allvars), atet Estimating lasso for outcome fev1p if tran~e = 0 using plugin method ... Estimating lasso for outcome fev1p if tran~e = 1 using plugin method ... Estimating lasso for treatment tran~e using plugin method ... Estimating ATET ... Treatment-effects lasso estimation Number of observations = 937 Outcome model: linear Number of controls = 454 Treatment model: logit Number of selected controls = 8
Robust | ||
fev1p | Coefficient std. err. z P>|z| [95% conf. interval] | |
ATET | ||
transtype | ||
(BLT | ||
vs | ||
SLT) | 35.78157 .1831478 195.37 0.000 35.42261 36.14053 | |
POmean | ||
transtype | ||
SLT | 43.35214 1.268976 34.16 0.000 40.86499 45.83929 | |
Pentru pacienții care au un BLT, ne așteptăm ca FEV1% mediu să fie cu 36 de puncte procentuale mai mare decât dacă toți aleg un SLT.
Estimările pe care le-am obținut mai sus s-au bazat pe o ipoteză cheie a laso-ului, pe presupunerea de raritate, care impune ca doar un număr mic din potențialele covariate să fie în modelul „adevărat”. Putem folosi o tehnică de învățare automată dublă pentru a permite mai multe covariabile în adevăratul model. Pentru a face acest lucru, adăugăm opțiunea xfold(5) pentru a împărți eșantionul în cinci grupuri și a efectua adaptarea încrucișată și adăugăm opțiunea resample(3) pentru a repeta procedura de adaptare încrucișată cu trei probe.
Pentru a garanta că putem reproduce ulterior rezultatele estimării, stabilim și semințele cu număr aleatoriu. Tastăm
. set seed 12345671 . telasso (fev1p $allvars) (transtype $allvars), xfolds(5) resample(3) nolog Treatment-effects lasso estimation Number of observations = 937 Number of controls = 454 Number of selected controls = 16 Outcome model: linear Number of folds in cross-fit = 5 Treatment model: logit Number of resamples = 3
Robust | ||
fev1p | Coefficient std. err. z P>|z| [95% conf. interval] | |
ATE | ||
transtype | ||
(BLT | ||
vs | ||
SLT) | 37.52837 .1683194 222.96 0.000 37.19847 37.85827 | |
POmean | ||
transtype | ||
SLT | 46.4941 .2040454 227.86 0.000 46.09418 46.89402 | |
Efectul tratamentului estimat este foarte similar cu cel raportat de prima comandă telasso, dar modelul selectat a inclus 16 controale în loc de 8. Similitudinea estimărilor între diferitele specificații sugerează că primul nostru model nu a suferit o încălcare a presupunerea de raritate.