Title: Estimating DRIPTW Population Intervention Models
1Estimating DR-IPTW Population Intervention Models
2General Causal Graph For a Point Treatment Study
V? W
confounders
A
treatment
Y
outcome
3Data (full and observed) for point Treatment Study
- A denotes a treatment or exposure of interest
assume categorical. - W is a vector (set) of confounders
- Y is an outcome
- Define X (Y,W)
- Ya are the counterfactual outcomes of interest
- The full data is
4Relevant Assumptions / Model
- Consistency Assumption (CA)
- O(A,XA)(A,W,YA)
- Randomization Assumptions
- Experimental Treatment Assignment all treatments
are possible for all members of the target
population, or - for
all W,a. - We have a random sample from the target
population of Oi, i1,..,n.
5Population Intervention Models of Interestand
IPTW Estimating Function
- m(a,Vb)?EYa-YV
- Note that
- where ?(V) is a new nuisance parameter
- Now, we can define an IPTW estimator for EYaV
which is a function of our model of interest,
m(a,Vb), and ?(V).
6IPTW-DR Estimating Function
- A Specific DR estimating function robust against
misspecification of ?(V) , and 1 out of 2 of
EYA,W, g(AX).
7IPTW-DR continued
- In this case, Q(A,W)EYA,W and I choose
- Algorithm
- Estimate EYA,W
- Estimate EYV
- Estimate g(AW)
- Estimate
- Let bn be the solution of
8Example of R Implementation of the IPTW-DR
Estimating Function
- Note that
- where the dimension is the same as the number
of parameters, b, equal to p1
9Example of R Implementation of the IPTW-DR
Estimating Function
- To solve this using minimization algorithms (such
as optim in R) calculate the Euclidean norm of
the vector of sums - optim has quasi-Newton algorithm that uses
numerical derivatives or you can use
Newton-Rhapton if you are willing to figure out
the vector-function for the gradient. - Inference yes, you guessed it, bootstrapping.
10Implementation of IPTW-DR on Simulated Data
- Data Generating Model
- nlt-100
- sigmaWlt-0.5
- sigmaVlt-0.5
- Generate random W and V
- Wlt-rnorm(n,0,sigmaW)
- Vlt-rnorm(n,0,sigmaV) W,VN(0,0.52)
- Generate random A given W,V
- alpha0lt-0
- alpha1lt-1
- alpha2lt--1
- alpha3lt-0.5
- PA.1givenWVlt-1/(1exp(-(alpha0alpha1Walpha2Va
lpha3WV))) - Alt-rbinom(n,size1,PA.1givenWV) Abin(p(W,V))
- Generate random Y given A,W,V
- beta0lt--2
- beta1lt-1
- beta2lt-1
- beta3lt-0.5
11Finding the True E(Y-YaV)
- Generate Y0 and Y1
- nlt-1000000
- Alt-rep(0,n)
- PY.1givenAWVlt-1/(1exp(-(beta0beta1Wbeta2V2b
eta3Abeta4AV2))) - Y0lt-rbinom(n,size1,PY.1givenAWV)
- Alt-rep(1,n)
- PY.1givenAWVlt-1/(1exp(-(beta0beta1Wbeta2V2b
eta3Abeta4AV2))) - Y1lt-rbinom(n,size1,PY.1givenAWV)
- Generate Y Y-Ya
- yslt-Y-Y0
- yslt-c(ys,Y-Y1)
- Alt-c(rep(0,n),rep(1,n))
- Vlt-rep(V,2)
- V2lt-V2
- AVlt-AV
- Get Coefficients from Intervention Model
m(a,V)b0b1ab2V b3V2 b4aV - glm.tlt-lm(ysAVV2AV)
- summary(glm.t)
12Finding the True E(Y-YaV)
- Results
- (Intercept) 0.047141 b0
- A -0.089942 b1
- V -0.025187 b2
- V2 0.001019 b3
- AV 0.002208 b4
- Thus, the effect of intervening such that the
entire population has a0 (at V0) is a 4.74 (b0
0.047) reduction in the prevalence of the
disease. - The effect of intervening such that the entire
population has a0 (at V-1) is a 7.2 (b0 - b2
b3)
13Estimating E(Y-YaV) using IPTW estimator
- Estimating weights 1/P(AW,V)
- glm.Alt-glm(AWV,familybinomial)
- pred.Alt-predict(glm.A,type"response")
- wt.Alt-A/pred.A(1-A)/(1-pred.A)
- Estimating EYV (incorrectly) as
- glm.YVlt-glm(YV,familybinomial)
- Getting residuals to regress against A,V
- res.Ylt-predict(glm.YV,type"response")-Y
- Fitting the IPTW population intervention model
- inter.lmlt-lm(res.YVV2AV,weightswt.A)
14Estimates
- Ignore SEs
- gt msm.lmlt-lm(res.YAVV2AV,weightswt.A)
- gt summary(msm.lm)
- Call
- lm(formula res.Y A V V2 AV, weights
wt.A) - Residuals
- Min 1Q Median 3Q Max
- -1.5152 -0.7906 0.3235 0.3940 0.7868
- Coefficients
- Estimate Std. Error t value Pr(gtt)
- (Intercept) 0.08643 0.06845 1.263 0.210
- A -0.10627 0.08809 -1.206 0.231
- V -0.12945 0.11721 -1.104 0.272
- V2 -0.03653 0.10038 -0.364 0.717
- AV 0.19294 0.15948 1.210 0.229
15Misspecification of EYV
16Function to return Euclidean norm
vector-estimation function
- driptwlt-function(beta,A,W,V,Y)
- talt-table(A)
- alt-as.numeric(names(ta))
- nalt-length(a)
- V2lt-V2
- AVlt-AV
- m(A,Vb)b0b1Ab2V b3AV
- mavlt-beta1beta2Abeta3Vbeta4V2beta5
AV - h(A,Vb)
- dmlt-cbind(1,A,V,V2,AV)
- 1/P(AW,V)
- glm.Alt-glm(AWV,familybinomial)
- pred.Alt-predict(glm.A,type"response")
- wt.Alt-A/pred.A(1-A)/(1-pred.A)
- Get EYV
- EYV
- glm.YVlt-glm(YV,familybinomial)
- pred.YVlt-predict(glm.YV,type"response")
17Estimating E(Y-YaV) using IPTW-DR estimator
- term1lt-dm(wt.A(Y-pred.YVmav))
- term2lt-dm(wt.A(pred.YAW-pred.YVmav))
- term3lt-matrix(0,dim(term2)1,dim(term2)2)
- term4lt-matrix(0,dim(term2)1,dim(term2)2)
- term5lt-matrix(0,dim(term2)1,dim(term2)2)
- Summing over the a
- for(i in 1na)
- aalt-rep(ai,length(V))
- aVlt-aaV
- dm2lt-cbind(1,aa,V,V2,aV)
- mav2lt-beta1beta2aabeta3Vbeta4V2bet
a5aV
18Estimating E(Y-YaV) using IPTW-DR estimator
- totallt-term1-term2term3-term4sumt5
- norm.crtlt-apply(total,2,sum)
- sum(norm.crt2)
19Estimating E(Y-YaV) using IPTW-DR estimator
-
- term4lt-term4dm2Y
-
-
- term5lt-term5dm2pred.YV
-
- sumt5lt-t(matrix(rep(apply(term5,2,mean),length(V))
,dim(term2)2,dim(term2)1))
20Finding solution to IPTW-DR in R
- optim(par, fn, gr NULL,method
c("Nelder-Mead", "BFGS", "CG", "L-BFGS-B",
"SANN"),lower -Inf, upper Inf,control
list(), hessian FALSE, ...) - Application
- iptw.dr.optimlt-
- optim(coef(glm.t),driptw,method"BFGS",AA,WW,VV
,YY) - Results
- par
- (Intercept) A V V2
AV - 0.08519943 -0.14117898 -0.09240759 0.02160015
0.06513375 - value
- 1 1.241466e-30
- counts
- function gradient
- 44 10
- convergence
- 1 0
- message
21Comparing Results
- Relative EfficiencyMSE(IPTW)/MSE(IPTW-DR) by
coefficient - cbind(coef(glm.t),coef(msm.lm),iptw.dr.optimpar)
- TRUE IPTW IPTW-DR
- (Intercept) 0.050865198 0.1168423 0.08519943
- A -0.090643429 -0.1672510 -0.14117898
- V -0.032297676 -0.2077673 -0.09240759
- V2 -0.002590980 0.2292895 0.02160015
- AV 0.002681724 0.1168423 0.06513375
22Comparing SimulationsRelative Efficiency
- Relative EfficiencyMSE(IPTW)/MSE(IPTW-DR) by
coefficient - (Intercept) A V V2
AV - 2.0232989 1.0090188 1.0868551 6.3401207
0.8951305