Dear NMusers,
I am trying the joint modeling of disease progress and dropout model. NONMEM
did not indicate any error, but it looks like did not run it and there is no
results.
I am following Chuanpu Hu and Mak E. Sale's method. Our disease progress
model is y= base + (slope * time). Please find the code below and the
data file in attachment.
I would appreciate any feedback.
Kehua
$INPUT C ID TIME DV CMT EVID TYPE
$DATA 500.csv IGNORE=C
$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
Y=EXP(-CMHZ)
ENDIF
IF(TYPE.EQ.2.AND. DV.EQ.1) THEN
Y=EXP(-(CMHZ-HZLA))*(1-EXP(-HZLA))
ENDIF
$THETA
(0,70,1000); base
(0,.12,10); slope
(0,.0002,10); bshz
(0,.002,1); beta
(0,.002,1);
$OMEGA
0.03
0.03
$SIGMA 1 FIX
$ESTIM METHOD=1 LAPLACE MAXEVAL=9990
MSFO=008.MSF
$COV
500.csv
Description:
Binary data
question about disease progress and drop out joint model
2 messages
2 people
Latest: Dec 10, 2010
Kehua,
Joint modelling can be performed quite simply with NONMEM VI and 7 by using the F_FLAG variable to indicate to NONMEM what kind of prediction is returned in the Y variable.
You have set F_FLAG=0 for the prediction of disease status. However, you also need to set F_FLAG=1 in the code that returns the likelihood of a right censored event and an interval censored event like this:
IF(TYPE.EQ.2.AND.DV.EQ.0) THEN ; right censored event
F_FLAG=1
Y=EXP(-CMHZ)
ENDIF
IF(TYPE.EQ.2.AND. DV.EQ.1) THEN ; interval censored event
F_FLAG=1
Y=EXP(-(CMHZ-HZLA))*(1-EXP(-HZLA))
ENDIF
It is possible to implement this kind of model more easily without having to use two compartments to integrate the hazard. See http://pkpdrx.com/holford/docs/time-to-event-analysis.pdf Slide 28 for the NM-TRAN code and explanatory notes. This simpler method relies upon the ability to 'remember' the value of a random variable so that the survivor function at the time of the start of the interval censoring period (SRVZ) can be saved and used to compute the likelihood of an event in the censoring interval.
Best wishes,
Nick
Quoted reply history
On 11/12/2010 9:21 a.m., kehua wu wrote:
> Dear NMusers,
>
> I am trying the joint modeling of disease progress and dropout model. NONMEM did not indicate any error, but it looks like did not run it and there is no results.
>
> I am following Chuanpu Hu and Mak E. Sale's method. Our disease progress model is y= base + (slope * time). Please find the code below and the data file in attachment.
>
> I would appreciate any feedback.
>
> Kehua
>
> $INPUT C ID TIME DV CMT EVID TYPE
> $DATA 500.csv IGNORE=C
> $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
> Y=EXP(-CMHZ)
> ENDIF
>
> IF(TYPE.EQ.2.AND. DV.EQ.1) THEN
> Y=EXP(-(CMHZ-HZLA))*(1-EXP(-HZLA))
> ENDIF
>
> $THETA
> (0,70,1000); base
> (0,.12,10); slope
> (0,.0002,10); bshz
> (0,.002,1); beta
> (0,.002,1);
>
> $OMEGA
> 0.03
> 0.03
>
> $SIGMA 1 FIX
>
> $ESTIM METHOD=1 LAPLACE MAXEVAL=9990
> MSFO=008.MSF
> $COV
--
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