Estimating DRIPTW Population Intervention Models - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Estimating DRIPTW Population Intervention Models

Description:

Data (full and observed) for point Treatment Study ... 'L-BFGS-B', 'SANN'),lower = -Inf, upper = Inf,control = list(), hessian = FALSE, ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 23
Provided by: alanhu
Category:

less

Transcript and Presenter's Notes

Title: Estimating DRIPTW Population Intervention Models


1
Estimating DR-IPTW Population Intervention Models

2
General Causal Graph For a Point Treatment Study
V? W
confounders
A
treatment
Y
outcome
3
Data (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

4
Relevant 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.

5
Population 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).

6
IPTW-DR Estimating Function
  • A Specific DR estimating function robust against
    misspecification of ?(V) , and 1 out of 2 of
    EYA,W, g(AX).

7
IPTW-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

8
Example 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

9
Example 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.

10
Implementation 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

11
Finding 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)

12
Finding 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)

13
Estimating 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)

14
Estimates
  • 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

15
Misspecification of EYV
16
Function 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")

17
Estimating 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

18
Estimating E(Y-YaV) using IPTW-DR estimator
  • totallt-term1-term2term3-term4sumt5
  • norm.crtlt-apply(total,2,sum)
  • sum(norm.crt2)

19
Estimating 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))

20
Finding 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

21
Comparing 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

22
Comparing 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
Write a Comment
User Comments (0)
About PowerShow.com