Hyewon,
The most obvious problem with your code is in $DES. You must use the
variable T not the variable TIME when referring to a time varying
hazard. TIME is the time on each data record. It does not change in
$DES. T is the time from the last data record upto the current data
record and changes within $DES.
You are predicting the likelihood of an event at the exact time of the
event observation record with multiple events per subject. As you seem
to realize you need tocompute the cumulative hazard (CUMHAZ) either from
TIME=0 or from the TIME of the last non-censored event for each subject.
In my opinion the following code is clearer and less dependent on your
data structure than the method you are using which works only if your
data has just event records after the TIME=0 record.
IF (MDV.EQ.0.AND.CS.EQ.0) THEN
OLDCHZ=A(1) ; cum haz upto time of this event
ELSE
OLDCHZ=OLDCHZ ; need to do this if OLDCHZ is a random variable
ENDIF
Your hazard model looks rather complicated. It seems to be based on the
product of a Weibull baseline hazard
LAMD*ALPH*(TIME+DEL2)**(ALPH-1)
then something odd involving the Weibull parameters
*EXP(-LAMD*(TIME+DEL2)**ALPH)
and then forces the hazard to be zero if AUC is zero.
*EFF
Is this really what you want? Do you know the hazard of event is zero if
AUC is zero? Or is the last right parenthesis in the wrong place?
I would suggest something like this where LAMD and ALPH are the two
parameters of the Weibull baseline hazard (when AUC is zero) and BETAE
is a parameter describing the effect of the drug on the overall hazard.
HAZNOW=LAMD*ALPH*(TIME+DEL2)**(ALPH-1)*EXP(BETAE*EFF)
You may also find it easier to develop the model if you do not try to
estimate a random effect on LAMD until you have got reasonable estimates
for the other parameters.
You may find it helpful to look at this presentation showing how to code
time to event models in NM-TRAN:
http://pkpdrx.com/holford/docs/time-to-event-analysis.pdf
Best wishes,
Nick
On 24/03/2011 3:25 a.m., Hyewon Kim wrote:
Dear NMuser
I am trying to analyze time to repeated event data using NONMEM.
The response were obtained till 24 hours after drug administration.
Inhibitory Emax model was implemented.
I am getting unreasonable parameter estimates which is far beyond what
data say.
If some body can point out what i am doing wrong, it would be very
helpful.
Thank you in advance.
Hyewon
Data set (# of observations =62, # of patients=50 )
C ID TIME CS MDV AUC
. 101 0 . 1 1.111
. 101 0.05 0 0 1.111
. 101 2 0 0 1.111
. 102 0 . 1 0
. 102 24 1 0 0
. 103 0 . 1 0.999
. 103 0.75 . 0 0.999
....
Model File
$PROB RUN# 101
$INPUT C ID TIME CS MDV AUC
;CS:0=having event,1=censored
$DATA .data.csv IGNORE=C
$SUBROUTINE ADVAN=6 TOL=6
$MODEL
COMP=(HAZARD)
$PK
LAMD=THETA(1)*EXP(ETA(1)) ;scale factor
ALPH=THETA(2) ;shape factor
EC=THETA(3) ;AUC when effect is
half of its max
EFF=1-AUC/(EC+AUC) ;drug effect
$DES
DEL=1E-6
DADT(1)=LAMD*ALPH*(TIME+DEL)**(ALPH-1)*EXP(-LAMD*(TIME+DEL)**ALPH)*EFF
$ERROR
DEL2=1E-6
IF(NEWIND.NE.2) OLDCHZ=0
CHZ=A(1)-OLDCHZ
OLDCHZ=A(1)
SUR=EXP(-CHZ)
HAZNOW=LAMD*ALPH*(TIME+DEL2)**(ALPH-1)*EXP(-LAMD*(TIME+DEL2)**ALPH)*EFF
IF(CS.EQ.1) Y=SUR ;survival prob of censored
IF(CS.EQ.0) Y=SUR*HAZNOW ;pdf of event
$THETA
(0,10) ;[scale factor]
(0,1.0) ;[shaph factor]
(0,0.01) ;[AUC at half of Emax]
$OMEGA
0.01 ;[p] omega(1,1)
$EST METHOD=COND LIKE LAPLACIAN PRINT=5 SIG=3 MAX=9999 MSFO=101.msf
$COV PRINT=E
$TABLE ID TIME SUR AUC ONEHEADER NOPRINT FILE=101.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: n.holf...@auckland.ac.nz
http://www.fmhs.auckland.ac.nz/sms/pharmacology/holford