question about simulation based on joint disease progress and dropout model

3 messages 2 people Latest: Dec 14, 2010
Dear NMusers, We are trying to do VPC based on a joint disease progress and dropout model. But we did not get any results from the simulation. Does anybody have any suggestions? Thanks a lot. Kehua The control stream are below, $SUBS ADVAN6 TOL=6 $MODEL COMP=(CUMHAZ) COMP=(HZLAST) $PK BASE=THETA(1)*EXP(ETA(1)) SLOPE=THETA(2)+ETA(2) BSHZ=THETA(3) BETA=THETA(4) $DES SIZE=BASE+(SLOPE*TIME) TEMP=BETA*SIZE DADT(1)=EXP(TEMP) DADT(2)=EXP(TEMP) $ERROR CMHZ=BSHZ*A(1) HZLA=BSHZ*A(2) IF (TYPE.EQ.1) THEN IPRED=BASE+(SLOPE*TIME) W=THETA(5)*IPRED F_FLAG=0 Y=BASE+(SLOPE*TIME)+W*EPS(1) ENDIF IF(TYPE.EQ.2.AND.DV.EQ.0) THEN F_FLAG=1 Y=EXP(-CMHZ) ENDIF IF(TYPE.EQ.2.AND. DV.EQ.1) THEN F_FLAG=1 Y=EXP(-(CMHZ-HZLA))*(1-EXP(-HZLA)) ENDIF $THETA 63.0 0.153 0.00811 0.00633 0.063 $OMEGA 0.507 0.0914 $SIGMA 1 FIX $SIMULATION ONLYSIM SUBPROB=1 (1111111) $TABLE ID TIME IPRED NOPRINT ONEHEADER FILE=015.tab
Kehua, Before you can consider doing a VPC of the disease progress biomarker you must be able to simulate dropouts. You cannot simulate dropouts with exactly the same code you use to estimate the parameters. Simulation of dropout events requires that you use a simulation input file (data.csv in the example below) with records for the possible times of dropout event. The following NM-TRAN code will simulate dropout events and the disease progress biomarker. The simulated biomarker is censored after dropout has occurred by creating an MDV data item. [Would you please give some more information about yourself -- are you a student? industry scientist? regulator? Why are you interested in this topic?] Best wishes, Nick $PROB Joint biomarker disease progress and time to event $INPUT ID TRT TIME DV DVID $DATA data.csv $SIM ONLYSIM NSUB=1 (20101212) ; eta and eps (20101213 UNIFORM) ; event prob (20101214 UNIFORM) ; treatment prob $SUBR ADVAN=6 TOL=6 $THETA 0.005 ; BASE_HAZ 1/t 0.02 ; BETA_DP_HAZ 1/u 10 ; BETA_OFFSET u 100 ; POP_S0 u baseline status 1 ; POP_ALPHA u/t progression slope $OMEGA 0.01 ; PPV_S0 0.01 ; PPV_ALPHA $SIGMA 1 ; RUV_ADD u $MODEL COMP=(CUMHAZ) $PK IF (NEWIND.LE.1) THEN HASEVT=0 ; not had event SRVZ=1 ; Survivor function at TIME=0 ENDIF IF (ICALL.EQ.4) THEN IF (NEWIND.LE.1) THEN ; first record for a subject CALL RANDOM(2,R) UEVT=R ; Uniform random number for event CALL RANDOM(3,R) UTRT=R ; Uniform random number for treatment IF (UTRT.LT.0.5) THEN STRT=0 ; placebo ELSE STRT=1 ; treatment ENDIF ENDIF ; simulate TRT data item for all records TRT=STRT ENDIF BSHZ=BASE_HAZ ; Baseline hazard BETADP=BETA_DP_HAZ ; Disease progress hazard EFFECT=TRT*BETA_OFFSET INTRI=(POP_S0+EFFECT)*EXP(PPV_S0) SLOPI=POP_ALPHA*EXP(PPV_ALPHA) $DES DISPRG=INTRI + SLOPI*T EXPHAZ=EXP(BETADP*DISPRG) DADT(1)=BSHZ*EXPHAZ ; h(t) $ERROR CHZT=A(1) ; Cum hazard at this time IF (DVID.NE.2) THEN F_FLAG=0 ; CONTINUOUS ELS Y=INTRI + SLOPI*TIME + RUV_ADD; Biomarker ENDIF SRVT=EXP(-CHZT) ; Survival at t IF (DVID.EQ.2.AND.DV.EQ.0) THEN F_FLAG=1 ; LIKELIHOOD Y=SRVT ; Like no event ENDIF IF (DVID.EQ.2.AND.DV.EQ.1) THEN F_FLAG=1 ; LIKELIHOOD Y=SRVZ-SRVT ; Like event ENDIF IF (DVID.EQ.3) THEN ; Last obs before event SRVZ=SRVT ; remember survival ELSE SRVZ=SRVZ ; keep NM-TRAN happy ENDIF IF (ICALL.EQ.4) THEN IF (HASEVT.EQ.0) THEN IF (DVID.EQ.3) THEN ; check for event IF (SRVT.LT.UEVT) THEN ; event HASEVT=1 DVX=1 DVIX=2 MDVX=0 ELSE ; Possible last obs before event DVX=0 DVIX=3 MDVX=1 ENDIF ELSE ; Last record (default for censoring) or other EVID (biomarker) IF (DVID.EQ.4) THEN ; last record DVX=0 ; censored event DVIX=2 MDVX=0 ELSE ; biomarker DVX=Y MDVX=0 DVIX=DVID ENDIF ENDIF ELSE ; after event so convert to missing DVX=0 DVIX=DVID MDVX=1 ENDIF ENDIF $TABLE ID TRT TIME DVX DVIX MDVX NOAPPEND ONEHEADER NOPRINT FILE=joint.fit First subject in data.csv #ID TRT TIME DV DVID 1 0 0 . 1 1 0 0 . 3 1 0 25 . 1 1 0 25 . 3 1 0 50 . 1 1 0 50 . 3 1 0 75 . 1 1 0 75 . 3 1 0 100 . 1 1 0 100 . 4
Quoted reply history
On 14/12/2010 9:38 a.m., kehua wu wrote: > Dear NMusers, > > We are trying to do VPC based on a joint disease progress and dropout model. But we did not get any results from the simulation. Does anybody have any suggestions? > > Thanks a lot. > > Kehua > > The control stream are below, > > $SUBS ADVAN6 TOL=6 > $MODEL COMP=(CUMHAZ) > COMP=(HZLAST) > $PK > > BASE=THETA(1)*EXP(ETA(1)) > SLOPE=THETA(2)+ETA(2) > BSHZ=THETA(3) > BETA=THETA(4) > > $DES > SIZE=BASE+(SLOPE*TIME) > TEMP=BETA*SIZE > DADT(1)=EXP(TEMP) > DADT(2)=EXP(TEMP) > > $ERROR > CMHZ=BSHZ*A(1) > HZLA=BSHZ*A(2) > > IF (TYPE.EQ.1) THEN > IPRED=BASE+(SLOPE*TIME) > W=THETA(5)*IPRED > F_FLAG=0 > Y=BASE+(SLOPE*TIME)+W*EPS(1) > ENDIF > > IF(TYPE.EQ.2.AND.DV.EQ.0) THEN > F_FLAG=1 > Y=EXP(-CMHZ) > ENDIF > > IF(TYPE.EQ.2.AND. DV.EQ.1) THEN > F_FLAG=1 > Y=EXP(-(CMHZ-HZLA))*(1-EXP(-HZLA)) > ENDIF > > $THETA 63.0 0.153 0.00811 0.00633 0.063 > > $OMEGA 0.507 0.0914 > > $SIGMA 1 FIX > > $SIMULATION ONLYSIM SUBPROB=1 (1111111) > > $TABLE ID TIME IPRED > NOPRINT ONEHEADER FILE=015.tab -- Nick Holford, Professor Clinical Pharmacology Dept Pharmacology& Clinical Pharmacology University of Auckland,85 Park Rd,Private Bag 92019,Auckland,New Zealand tel:+64(9)923-6730 fax:+64(9)373-7090 mobile:+64(21)46 23 53 email: [email protected] http://www.fmhs.auckland.ac.nz/sms/pharmacology/holford
Dear Dr. Holford, Thank you very much for your kind reply. Those are extremely helpful. I am a PK analyst working in academia. We are working on a disease progress project and many patients dropped out. If you like more information, I will be happy to provide it to you. Best regards, Kehua
Quoted reply history
On Mon, Dec 13, 2010 at 3:14 PM, Nick Holford <[email protected]>wrote: > Kehua, > > Before you can consider doing a VPC of the disease progress biomarker you > must be able to simulate dropouts. You cannot simulate dropouts with exactly > the same code you use to estimate the parameters. > > Simulation of dropout events requires that you use a simulation input file > (data.csv in the example below) with records for the possible times of > dropout event. The following NM-TRAN code will simulate dropout events and > the disease progress biomarker. The simulated biomarker is censored after > dropout has occurred by creating an MDV data item. > > [Would you please give some more information about yourself -- are you a > student? industry scientist? regulator? Why are you interested in this > topic?] > > Best wishes, > > Nick > > $PROB Joint biomarker disease progress and time to event > $INPUT ID TRT TIME DV DVID > $DATA data.csv > > $SIM ONLYSIM NSUB=1 > (20101212) ; eta and eps > (20101213 UNIFORM) ; event prob > (20101214 UNIFORM) ; treatment prob > > $SUBR ADVAN=6 TOL=6 > $THETA > 0.005 ; BASE_HAZ 1/t > 0.02 ; BETA_DP_HAZ 1/u > 10 ; BETA_OFFSET u > 100 ; POP_S0 u baseline status > 1 ; POP_ALPHA u/t progression slope > > $OMEGA > 0.01 ; PPV_S0 > 0.01 ; PPV_ALPHA > > $SIGMA > 1 ; RUV_ADD u > > $MODEL > COMP=(CUMHAZ) > > $PK > IF (NEWIND.LE.1) THEN > HASEVT=0 ; not had event > SRVZ=1 ; Survivor function at TIME=0 > ENDIF > IF (ICALL.EQ.4) THEN > IF (NEWIND.LE.1) THEN ; first record for a subject > CALL RANDOM(2,R) > UEVT=R ; Uniform random number for event > CALL RANDOM(3,R) > UTRT=R ; Uniform random number for treatment > IF (UTRT.LT.0.5) THEN > STRT=0 ; placebo > ELSE > STRT=1 ; treatment > ENDIF > ENDIF > ; simulate TRT data item for all records > TRT=STRT > ENDIF > > BSHZ=BASE_HAZ ; Baseline hazard > BETADP=BETA_DP_HAZ ; Disease progress hazard > EFFECT=TRT*BETA_OFFSET > INTRI=(POP_S0+EFFECT)*EXP(PPV_S0) > SLOPI=POP_ALPHA*EXP(PPV_ALPHA) > > $DES > DISPRG=INTRI + SLOPI*T > EXPHAZ=EXP(BETADP*DISPRG) > DADT(1)=BSHZ*EXPHAZ ; h(t) > $ERROR > CHZT=A(1) ; Cum hazard at this time > IF (DVID.NE.2) THEN > F_FLAG=0 ; CONTINUOUS ELS > Y=INTRI + SLOPI*TIME + RUV_ADD; Biomarker > ENDIF > SRVT=EXP(-CHZT) ; Survival at t > IF (DVID.EQ.2.AND.DV.EQ.0) THEN > F_FLAG=1 ; LIKELIHOOD > Y=SRVT ; Like no event > ENDIF > IF (DVID.EQ.2.AND.DV.EQ.1) THEN > F_FLAG=1 ; LIKELIHOOD > Y=SRVZ-SRVT ; Like event > ENDIF > IF (DVID.EQ.3) THEN ; Last obs before event > SRVZ=SRVT ; remember survival > ELSE > SRVZ=SRVZ ; keep NM-TRAN happy > ENDIF > > IF (ICALL.EQ.4) THEN > IF (HASEVT.EQ.0) THEN > IF (DVID.EQ.3) THEN ; check for event > IF (SRVT.LT.UEVT) THEN ; event > HASEVT=1 > DVX=1 > DVIX=2 > MDVX=0 > ELSE ; Possible last obs before event > DVX=0 > DVIX=3 > MDVX=1 > ENDIF > ELSE ; Last record (default for censoring) or other EVID > (biomarker) > IF (DVID.EQ.4) THEN ; last record > DVX=0 ; censored event > DVIX=2 > MDVX=0 > ELSE ; biomarker > DVX=Y > MDVX=0 > DVIX=DVID > ENDIF > ENDIF > ELSE ; after event so convert to missing > DVX=0 > DVIX=DVID > MDVX=1 > ENDIF > ENDIF > > > $TABLE ID TRT TIME DVX DVIX MDVX > NOAPPEND ONEHEADER NOPRINT FILE=joint.fit > > First subject in data.csv > #ID TRT TIME DV DVID 1 0 0 . 1 1 0 0 . 3 1 0 25 . 1 1 0 25 . 3 1 0 > 50 . 1 1 0 50 . 3 1 0 75 . 1 1 0 75 . 3 1 0 100 . 1 1 0 100 . 4 > > > On 14/12/2010 9:38 a.m., kehua wu wrote: > > Dear NMusers, > > We are trying to do VPC based on a joint disease progress and dropout > model. But we did not get any results from the simulation. Does anybody have > any suggestions? > > > Thanks a lot. > > Kehua > > The control stream are below, > > $SUBS ADVAN6 TOL=6 > $MODEL COMP=(CUMHAZ) > COMP=(HZLAST) > $PK > > BASE=THETA(1)*EXP(ETA(1)) > SLOPE=THETA(2)+ETA(2) > BSHZ=THETA(3) > BETA=THETA(4) > > > > $DES > SIZE=BASE+(SLOPE*TIME) > TEMP=BETA*SIZE > DADT(1)=EXP(TEMP) > DADT(2)=EXP(TEMP) > > $ERROR > CMHZ=BSHZ*A(1) > HZLA=BSHZ*A(2) > > > IF (TYPE.EQ.1) THEN > IPRED=BASE+(SLOPE*TIME) > W=THETA(5)*IPRED > F_FLAG=0 > Y=BASE+(SLOPE*TIME)+W*EPS(1) > ENDIF > > IF(TYPE.EQ.2.AND.DV.EQ.0) THEN > F_FLAG=1 > Y=EXP(-CMHZ) > ENDIF > > IF(TYPE.EQ.2.AND. DV.EQ.1) THEN > F_FLAG=1 > Y=EXP(-(CMHZ-HZLA))*(1-EXP(-HZLA)) > ENDIF > > $THETA 63.0 0.153 0.00811 0.00633 0.063 > > > $OMEGA 0.507 0.0914 > > $SIGMA 1 FIX > > $SIMULATION ONLYSIM SUBPROB=1 (1111111) > > $TABLE ID TIME IPRED > NOPRINT ONEHEADER FILE=015.tab > > > -- > Nick Holford, Professor Clinical Pharmacology > Dept Pharmacology & Clinical Pharmacology > University of Auckland,85 Park Rd,Private Bag 92019,Auckland,New Zealand > tel:+64(9)923-6730 fax:+64(9)373-7090 mobile:+64(21)46 23 53 > email: > [email protected] http://www.fmhs.auckland.ac.nz/sms/pharmacology/holford > >