Re: 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: [email protected]
[email protected]
Sent by: [email protected]
03/12/2009 08:44 PM
To
Huali Wu <[email protected]>
cc
[email protected]
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
Quoted reply history
On 3/12/09, Huali Wu <[email protected]> wrote:
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=TAB4
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.