Re: simulated negative concentration
From:Nick Holford
Subject:Re: [NMusers] simulated negative concentration
Date: Fri, 14 Feb 2003 13:28:24 +1300
Here is an example showing how to truncate distributions for both residual error or parameter
variability:
$PROB THEOPHYLLINE PHARMACODYNAMICS
$DATA ..\..\theopd.dat IGNORE #
$INPUT ID TIME THEO AGE WT GEND RACE DIAG DV
$SIM (20000625 NORMAL NEW) SUBPROBLEMS=2
$ESTIM PRINT=0
$THETA (0,150.,) ; E0
$THETA (0,200.,) ; EMAX
$THETA (.001,10,) ; EC50
$OMEGA 0.5 ; CVE0
$OMEGA 0.5 ; CVEMAX
$OMEGA 0.5 ; CVEC50
$SIGMA 100 ; SD 1
$PRED
E0=E0*EXP(CVE0)
EMAX=EMAX*EXP(CVEMAX)
EC50=EC50*EXP(CVEC50)
IF (ICALL.EQ.4) THEN ; simulation
TRUNC=3.27 ; Z 2tailed alpha=0.01 i.e. include 99.9%
TVE0=E0
E0=TVE0*EXP(CVE0)
LNMU=LOG(TVE0)
DLTA=TRUNC*0.717 ; MUST BE 3.27*SQRT(CVE0)!
L0=EXP(LNMU-DLTA)
H0=EXP(LNMU+DLTA)
TVEMAX=EMAX
EM=TVEMAX*EXP(CVEMAX)
LNMU=LOG(TVEMAX)
DLTA=TRUNC*0.717 ; MUST BE 3.27*SQRT(CVEMAX)!
LM=EXP(LNMU-DLTA)
HM=EXP(LNMU+DLTA)
TVEC50=EC50
C5=TVEC50*EXP(CVEC50)
LNMU=LOG(TVEC50)
DLTA=TRUNC*0.717 ; MUST BE 3.27*SQRT(CVEC50)!
L5=EXP(LNMU-DLTA)
H5=EXP(LNMU+DLTA)
DOWHILE(E0.LT.L0.OR.E0.GT.H0.OR.EM.LT.LM.OR.EM.GT.HM.OR.C5.LT.L5.OR.C5.GT.H5)
CALL SIMETA(ETA)
EMAX=TVEMAX*EXP(CVEMAX)
E0=TVE0*EXP(CVE0)
EC50=TVEC50*EXP(CVEC50)
ENDDO
ENDIF
EFFECT=E0 + EM*THEO/(THEO+C5)
Y = EFFECT + SD
IF (ICALL.EQ.4) THEN ; simulation
DOWHILE (Y.LT.0)
CALL SIMEPS(EPS)
Y=EFFECT + SD
ENDDO
ENDIF
$TABLE ID TIME THEO AGE WT GEND RACE DIAG
E0 EM C5 Y
NOPRINT ONEHEADER FILE=theopd.fit
--
Nick Holford, Divn Pharmacology & Clinical Pharmacology
University of Auckland, 85 Park Rd, Private Bag 92019, Auckland, New Zealand
email:n.holford@auckland.ac.nz tel:+64(9)373-7599x86730 fax:373-7556
http://www.health.auckland.ac.nz/pharmacology/staff/nholford/