Neu in

Schätzung der Behandlungseffekte mit Lasso

Sie verwenden Schätzer für Behandlungseffekte, um kausale Schlüsse aus Beobachtungsdaten zu ziehen. Vielleicht möchten Sie den Effekt eines Medikamentenregimes auf den Blutdruck, den Effekt eines chirurgischen Eingriffs auf die Mobilität, den Effekt eines Trainingsprogramms auf die Beschäftigung oder den Effekt einer Werbekampagne auf den Umsatz schätzen.
Sie verwenden Lasso-Inferenzschätzer, wenn Sie an einer Inferenz auf einige wenige Kovariaten interessiert sind, während Sie für viele andere potenzielle Kovariaten kontrollieren. (Und wenn wir viele sagen, meinen wir Hunderte, Tausende oder mehr!)
Sie können nun diese Schätzer gleichzeitig verwenden. Mit dem neuen Befehl telasso können Sie Behandlungseffekte schätzen und gleichzeitig für viele potenzielle Kovariaten kontrollieren.
Sie können zum Beispiel Folgendes eingeben

. telasso (y1 x1-x100) (treat w1-w100)

um den Effekt der binären Behandlung treat auf das kontinuierliche Ergebnis y1 zu schätzen, während für die Prädiktoren x1 bis x100 im Ergebnismodell und für w1 bis w100 im Behandlungsmodell kontrolliert wird. Die erhaltenen Schätzungen profitieren von den Robustheitseigenschaften sowohl der Behandlungseffektschätzer als auch des Lassos.
Mit telasso erhalten Sie alles, was Sie von Behandlungseffekten und vom Lasso erwarten. Sie können den durchschnittlichen Behandlungseffekt, den durchschnittlichen Behandlungseffekt auf die Behandelten und die Mittelwerte der potenziellen Ergebnisse schätzen. Sie können kontinuierliche, binäre und zählende Outcomes modellieren und zwischen einem Logit- oder Probit-Behandlungsmodell wählen. Und für die Auswahl der Kontrollen können Sie zwischen Lasso- oder Quadratwurzel-Lasso-Schätzung wählen und aus mehreren Auswahlmethoden, wie BIC und Kreuzvalidierung, auswählen.

Höhepunkte

Schätzen Sie Behandlungseffekte mit hochdimensionalen Kontrollen

  • Hochdimensionale Kontrollen im Ergebnismodell
  • Hochdimensionale Kontrollen im Behandlungsmodell

Flexible Modellspezifikation

  • Das Ergebnismodell kann linear, logit, probit oder poisson sein
  • Behandlungszuweisungsmodell kann logit oder probit sein

Unterschiedliche Maße der Behandlungseffekte

  • ATE: durchschnittliche Behandlungseffekte
  • Varianz-Kovarianz-Matrix der zufälligen Effekte
  • ATET: durchschnittlicher Behandlungseffekt auf die Behandelten
  • POM: Mittelwert des Potenzials und der Ergebnisse

Robuste Schätzung

  • Doppelte Robustheit: nur eines der Modelle muss korrekt spezifiziert sein
  • Neyman-Orthogonalität: Schutz vor Fehlern bei der Modellauswahl durch Lasso

Doppeltes maschinelles Lernen

  • Kreuzanpassung und Resampling

Zeigen Sie, wie es funktioniert

Wir möchten zwei Arten der Lungentransplantation miteinander vergleichen: die bilaterale Lungentransplantation (BLT) und die Einzellungentransplantation (SLT). Die BLT ist in der Regel mit einer höheren Sterblichkeitsrate kurz nach der Operation verbunden, aber mit einer deutlicheren Verbesserung der Lebensqualität als die SLT. Daher ist es für Patienten, die sich zwischen diesen beiden Behandlungsoptionen entscheiden müssen, wichtig, den Effekt der BLT (versus SLT) auf die Lebensqualität zu kennen. Daher wollen wir den Effekt der Behandlungstranstype auf den Outcome fev1p schätzen. Dieses Ergebnis stellt den Prozentsatz des forcierten exspiratorischen Volumens in einer Sekunde (FEV1) dar, den der Patient im Vergleich zu einer gesunden Person hat.
Unsere Daten enthalten 29 Variablen, die Merkmale der Patienten und Spender erfassen. Wir verwenden diese Variablen und die Interaktionen zwischen ihnen als Kontrollen in unserem Modell. Es wäre mühsam, diese Variablennamen einzeln einzugeben, um zwischen kontinuierlichen und kategorialen Variablen zu unterscheiden. vl ist eine Suite von Befehlen, die diesen Prozess vereinfacht.
Der folgende Code erstellt die Liste der Steuervariablen und speichert sie im globalen Makro $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

Nun sind wir bereit, telasso zur Schätzung der durchschnittlichen Behandlungseffekte zu verwenden. Wir nehmen ein lineares Ergebnismodell und ein Logit-Behandlungsmodell an, die Standardwerte. Wir geben ein

. 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

Würden alle Patienten eine BLT wählen, wäre der FEV1% erwartungsgemäß um 38 Prozentpunkte höher als der Durchschnitt von 46%, der erwartet wird, wenn alle Patienten eine SLT wählen würden. Unter den 454 Kontrollvariablen wählt telasso nur 8 davon aus.
Es ist üblich, den durchschnittlichen Behandlungseffekt zu schätzen, um den Effekt auf diejenigen zu bestimmen, die die Behandlung tatsächlich erhalten haben. Um diesen Wert zu schätzen, fügen wir die Option atet hinzu.

. 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

Für die Patienten, die einen BLT haben, erwarten wir, dass die durchschnittliche FEV1% um 36 Prozentpunkte höher ist, als wenn alle einen SLT wählen.
Die Schätzungen, die wir oben erhalten haben, beruhten auf einer Schlüsselannahme von Lasso, der Sparsamkeitsannahme, die voraussetzt, dass nur eine kleine Anzahl der potenziellen Kovariaten im „wahren“ Modell enthalten ist. Wir können eine doppelte maschinelle Lerntechnik verwenden, um mehr Kovariaten im wahren Modell zu berücksichtigen. Dazu fügen wir die Option xfold(5) hinzu, um die Stichprobe in fünf Gruppen aufzuteilen und eine Kreuzanpassung durchzuführen, und fügen die Option resample(3) hinzu, um das Kreuzanpassungsverfahren mit drei Stichproben zu wiederholen.
Um zu gewährleisten, dass wir die Schätzergebnisse später reproduzieren können, setzen wir auch den Zufallszahlen-Seed. Wir tippen

. 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

Der geschätzte Behandlungseffekt ist dem des ersten telasso-Befehls sehr ähnlich, aber das gewählte Modell enthielt 16 statt 8 Kontrollen. Die Ähnlichkeit der Schätzungen über die verschiedenen Spezifikationen hinweg deutet darauf hin, dass unser erstes Modell nicht unter einer Verletzung der Sparsity-Annahme litt.