NONMEM Users Network Archive

Hosted by Cognigen

Re: NONMEM code for Mixture Model

From: Joachim.Grevel
Date: Mon, 16 Mar 2009 09:02:14 +0100

Dear Huali,

I am cutting out the unhappy portion of our discussion of this week-end,
and come back to your fundamental question as I understand it: You have
patients of different disease states and you suspect that the patients are =

divided into groups (with different Vm point estimates but also with
different between-patient variances of Vm) on the basis of their disease
state. You seem to have a way to subdivide your patients into, let's say
two groups, on the basis of their disease and by NOT employing modeling.
Now, you want to include that knowledge into your NONMEM model, but you do =

not exactly know how to do this and whether you are justified to do this.

From our previous exchange you have learned the HOW. Therefore, we are now =

left with the question,whether you are justified.

I propose that you build your MIXTURE model as we discussed it and you
record in the output table for each patient the membership in population 1 =

or population 2 (this is the EST variable in my code). Then you compare
these memberships with your prior knowledge of different disease states
(let's say "without" and "with") with a standard statistical test. If that =

test tells you that population membership determined by NONMEM and disease =

state defined outside NONMEM are correlated, then you seem to be justified =

to define two different between-patient variables (ETAs) on the basis of
disease state for one and the same structural model parameter (in your
case Vm), and use the unusual code you put up for discussion:

VM = THETA(1)*TYPE*EXP(ETA(1))+THETA(2)*(1-TYPE)*EXP(ETA(2))
 
Where, TYPE =0 for patients without this disease and TYPE=1 for patient=
s
with this disease.

You still have the option to compare this model with one where
ETA(1)=ETA(2), and ask the question whether the two different ETAs are
justified (watch out you cannot use the log(likelihood) test and must use
goodness-of-fit and/or predictive performance criteria instead).

I hope my proposals are useful to you,

please, tell us about your findings,

Joachim
_________________________=
_________________
Joachim GREVEL, Ph.D.
Merck Serono S.A. - Genève
Human Pharmacology
1202 Geneva
Tel: +41.22.414.4751
Fax: +41.22.414.3059
Email: joachim.grevel





Joachim.Grevel
Sent by: owner-nmusers
03/13/2009 08:23 AM

To
nmusers
cc

Subject
Re: [NMusers] NONMEM code for Mixture Model







Dear Huali,

you also need some code which specifies what is different between the
populations. The differences could be ETAs (but do not have to be!) or
certain factors which allow a PK parameter to have a different typical
value in one population.

EST=MIXEST
IF(MIXNUM.EQ.2)THEN
V1=TVV1*EXP(ETA(3))
VM=THETA(x)*TVVM*EXP(ETA(4))
ELSE
V1=TVV1*EXP(ETA(1))
VM=TVVM*EXP(ETA(2))
ENDIF

The for the $OMEGA block you have two options:

either:
$OMEGA BLOCK(2) 0.1 ;ETA1 for V1 for population 1 =


                0.01 0.1 ;ETA2 for VM for population 1 =


$OMEGA BLOCK(2) SAME ;ETA3 ETA4 for population 2

or:
$OMEGA BLOCK(2) 0.1 ;ETA1 for V1 for population 1 =


                0.01 0.1 ;ETA2 for VM for population 1 =


$OMEGA BLOCK(2) 0.1 ;ETA3 for V1 for population 2 =


                0.01 0.1 ;ETA4 for VM for population 2 =



But you still face a more fundamental question: Why do you want to define
two populations when you already know that "patients in different disease
states seems have different distribution of clearance". I use the Mixture
models solely when the source of variability is still unknown and when it
is clear that a normal distribution will not be adequate (ETABAR message
with p<0.05). In you case I would build the knowledge about the influence
of the disease states directly into the code which specifies only one
population.

Good luck,

Joachim

_________________________=
_________________
Joachim GREVEL, Ph.D.
Merck Serono S.A. - Genève
Human Pharmacology
1202 Geneva
Tel: +41.22.414.4751
Fax: +41.22.414.3059
Email: joachim.grevel




nidal.alhuniti
Sent by: owner-nmusers
03/12/2009 08:44 PM


To
Huali Wu <hualiw
cc
nmusers
Subject
Re: [NMusers] NONMEM code for Mixture Model








Hi Huali,
You could use $MIX. Please see the NM help files for $MIX. You have to
specify the number of populations (in your case 2) so
 
$MIX
    NSPOP=2
    P(1)=THETA(4)
    P(2)=1.-THETA(4)
 
Then use
EST= MIXEST
 
Hopefully this helps.
Best,
Nidal
 
Nidal AL-Huniti, PhD
Associate Director, Modeling and Simulations
ICON Development Solutions SM


On 3/12/09, Huali Wu <hualiw
Dear NMusers:
  
I am working on dataset with high variability on clearance and patients in =

different disease states seems have different distribution of clearance.
So I want to try the mixture model but I don't know how to do the coding.
I listed the code of my base model as below:
  
$PROB 1hr IV INFUSION SINGLE DOSE WITHOUT COVARIATES
$DATA data01.CSV IGNORE=C
$INPUT ID TIME DV AMT RATE MDV
  
$SUBROUTINES ADVAN9 TRANS1 TOL=5
$MODEL NPAR=3, NCOMP=1, COMP=(CENTRAL,DEFOBS)
  
$PK
         V1 = THETA(1)*EXP(ETA(1))
         VM = THETA(2)*EXP(ETA(2))
         KM = THETA(3)
 
          S1 = V1
       
  
$ERROR

Y=F+F*EPS(1)+EPS(2)

IPRED=F
IRES=DV-IPRED
IF(AMT.NE.0)W=1
IF(AMT.EQ.0)W=F
IWRES=IRES/W
 
$DES
       C1 = A(1)/V1
       DADT(1) = - C1*VM/(KM+C1)
 
 
$THETA (0, 4.47) (0, 155) (0, 1380)
$OMEGA BLOCK (2)
0.5
0.3 0.9
 
$SIGMA (0.01) (0.1)
 
$EST POSTHOC METHOD=1 MAXEVAL=9990 PRINT=5
$COV
$TABLE ID TIME DV AMT RATE V1 VM KM IWRES IPRED NOPRINT FILE=TAB=
4
ONEHEADER
$SCAT (RES WRES) VS TIME BY ID
  
Any suggestion will be highly appreciated!
  
Best regards,
  
Huali

 

This message and any attachment are confidential and may be privileged or
otherwise protected from disclosure. If you are not the intended
recipient, you must not copy this message or attachment or disclose the
contents to any other person. If you have received this transmission in
error, please notify the sender immediately and delete the message and any =

attachment from your system. Merck KGaA, Darmstadt, Germany and any of its =

subsidiaries do not accept liability for any omissions or errors in this
message which may arise as a result of E-Mail-transmission or for damages
resulting from any unauthorized changes of the content of this message and =

any attachment thereto. Merck KGaA, Darmstadt, Germany and any of its
subsidiaries do not guarantee that this message is free of viruses and
does not accept liability for any damages caused by any virus transmitted
therewith.

Click http://disclaimer.merck.de to access the German, French, Spanish and =

Portuguese versions of this disclaimer.


Received on Mon Mar 16 2009 - 04:02:14 EDT

The NONMEM Users Network is maintained by ICON plc. Requests to subscribe to the network should be sent to: nmusers-request@iconplc.com.

Once subscribed, you may contribute to the discussion by emailing: nmusers@globomaxnm.com.