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
question about simulation based on joint disease progress and dropout model
3 messages
2 people
Latest: Dec 14, 2010
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
>
>