Re: NONMEM code for Mixture Model

From: Joachim . Grevel Date: March 16, 2009 technical Source: mail-archive.com
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 patients 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: [email protected] [email protected] Sent by: [email protected] 03/13/2009 08:23 AM To [email protected] 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: [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.
Mar 12, 2009 Huali Wu NONMEM code for Mixture Model
Mar 12, 2009 Nidal . Alhuniti Re: NONMEM code for Mixture Model
Mar 13, 2009 Joachim Grevel Re: NONMEM code for Mixture Model
Mar 13, 2009 Joachim . Grevel Re: NONMEM code for Mixture Model
Mar 13, 2009 Huali Wu Re: NONMEM code for Mixture Model
Mar 16, 2009 Joachim Grevel Re: NONMEM code for Mixture Model
Mar 16, 2009 Joachim . Grevel Re: NONMEM code for Mixture Model