Dear Dr. Holford,

Thank-you for the insightful comments. Since the last posting I have made some 
progress; the updated code can be found below. The biological validity of the 
mixture populations bothered me as well. Fortunately, the team measured several 
biomarkers indicative of disease at baseline. One of these biomarkers (BIOM in 
the code) has a distinct bimodal distribution. I made the biomarker a DV as 
well and added a flag column to the dataset (PDT) to tell NONMEM the PD type. I 
still have a few questions for the code below and I am hoping that you will 
kindly answer some questions:

 

a)  Would you still suggest using the biomarker simply as a covariate rather 
than the mixture model below? The reason I chose the approach below is because 
when I plot the eta for the slope (MET2) vs. the biomarker I see no 
co-relation. It appears that the biomarker acts like an on-off switch. Low 
levels of the biomarker as associated with no progression while high levels are 
associated with progression. It may just make sense to convert the biomarker to 
a categorical covariate and get rid of the mixture?

b)  NONMEM acts strangely for the BSV of the biomarker in the code below. I 
have only one observation for the biomarker per individual (only baseline 
measurements right now) so only 1 level of random effect can be implemented for 
the biomarker. I tried to first code it as an ETA (NONMEM crashed and gave 
infinite objective function error). If I code the random effect for the 
biomarker as an EPS (as shown below) NONMEM is happy. Why does NONMEM care and 
wants the random effect as an EPS and not an ETA?

c)  A quick question regarding your tutorial on PAGE. The random effect on the 
slope is modeled in your lecture notes as a proportional error model. Why is it 
proportional, why can't it be additive? An additive error model would also 
allow negative slopes. I have used additive error in my code since it allows a 
mean slope of zero with BSV around zero for the non-progressers. 

 

Please advise,

Mahesh

 

 

$PRED

CALLFL=1

 

EST=MIXEST

MQ1 = 0

MQ2 = 0 

IF (MIXNUM.EQ.1) MQ1 = 1 

IF (MIXNUM.EQ.2) MQ2 = 1 

 

MET1=THETA(1)*ETA(1)

MET2=THETA(2)*ETA(2)

 

BIOM1=THETA(3)                     ; PATHOLOGIC BIOM

BIOM2=THETA(4)    

TVBM = ((BIOM1*MQ1) + (BIOM2*MQ2)) 

BIOM = TVBM

 

BASE1=THETA(5)                     ; PATHOLOGIC BASELINE

BASE2=THETA(6)   

TVBA = ((BASE1*MQ1) + (BASE2*MQ2)) 

BASE = TVBA*EXP(MET1)

 

SLOP1=THETA(7)                     ; PATHOLOGIC PROGRESSION PARAMETER

SLOP2=THETA(8)   

TVSL = ((SLOP1*MQ1) + (SLOP2*MQ2)) 

SLOP = TVSL+MET2

 

W1=THETA(9)

W2=THETA(10)

 

IPRED=BASE + SLOP*TIME

 

Y1=IPRED + W1*EPS(1) 

Y2=BIOM  + W2*EPS(2)

 

Q1=0

IF(PDT.EQ.1) Q1=1 ; PDT IS 1 FOR DISEASE SCORES

Q2=0

IF(PDT.EQ.2) Q2=1 ; PDT IS 2 FOR BIOMARKER

 

Y=Q1*Y1+Q2*Y2

 

$MIX

NSPOP=2

P(1)=THETA(11)   ;PATHOLOGIC

P(2)=1-THETA(11) ;NON-PATHOLOGIC

 

$THETA

...

(0,FIX) ;THETA(8) FIXED TO ZERO FOR NON PROGRESSERS

...

 

 

$OMEGA 

1 FIX

1 FIX

 

$SIGMA 

1 FIX

1 FIX

 

 

________________________________

From: owner-nmus...@globomaxnm.com on behalf of Nick Holford
Sent: Sun 1/16/2011 1:49 AM
To: nmusers@globomaxnm.com
Subject: Re: [NMusers] Mixture model for Disease Progression



Mahesh,

Do you have a good biological reason to divide your population into different 
subpopulations?

If not then a more flexible way to describe an association between baseline and 
slope is estimate the covariance between the random effects. This does carry 
with it the explicit assumption that the mixture model makes about the 
existence of different sub-populations.

Nick

On 15/01/2011 11:12 a.m., Samtani, Mahesh [PRDUS] wrote: 

        Hello,

        I am trying some simple linear disease progression analysis and the 
data suggests that there are 2 populations in the dataset (Low Baseline, Low 
Slope vs. High Baseline, High Slope). It appears that that population consists 
of progressers and non-progressers (The Pharmacometrics textbook describes some 
code with 3 populations i.e. positive slope, zero slope, and negative slope but 
I want to keep my model simple).

         

        This is the only piece of the code that seems to work for my dataset. 
If I try to estimate THETA(3) in my code it causes the model to either becomes 
unstable or I get a very small negative value for THETA(3) with very poor 
precision. I would really appreciate feedback from NMusers on the 
parameterization of the slope parameter in this model (thetas and etas for the 
2 populations). 

         

        Many thanks in advance...MNS

         

        $PK

        CALLFL =1

        EST=MIXEST

        IF (MIXNUM.EQ.2) THEN

           BASE=THETA(2)*EXP(ETA(2))

           SLOP=THETA(4)+ETA(4)

        ELSE

           BASE=THETA(1)*EXP(ETA(1)) ; PATHOLOGIC BASELINE

           SLOP=THETA(3)*(1+ETA(3))  ; PATHOLOGIC PROGRESSION PARAMETER; ETA 
PARAMETERIZATION BASED ON TUTURIAL FROM PAGE

        ENDIF

         

        $THETA  

        (0,15  )   ; BASELINE PATHOLOGIC

        (0,7)      ; BASELINE NON-PATHOLOGIC

        (0,0.1)    ; SLOPE PATHOLOGIC

        (0 FIX  )  ; SLOPE NON-PATHOLOGIC 

         

        $OMEGA BLOCK(1) 0.15

        $OMEGA BLOCK(1) SAME

        $OMEGA BLOCK(1) 0.35

        $OMEGA BLOCK(1) 0.03


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

Reply via email to