Simulation with uncertainty + estimation
Hi all,
A model for simulation with uncertainty was previously posted by Mats Karlsson
in this forum.
After a few bug fixes (with help from Mats) it now actually works. See below:
Matts Kågedal
AstraZeneca
$PROB
$DATA data1.csv IGNORE=@
$INPUT ID DV TIME XVCL XVV AMT
;data1=
; 1 0 0 0 0 100
; 1 0 1 0 0 0
; 1 0 21 0 0 0
; 2 0 0 0 0 100
; etc
$SIM (20090726 NEW) SUBPROBLEMS=30 ;
$THETA ; estimates of THETA and OMEGA from previous run
(0,1) ; POP_CL theta1
(0,10) ; POP_V theta2
$OMEGA
0.01 ; PPV_CL eta1
0.01 ; PPV_V eta2
;variance-covariance matrix of the THETA estimates from previous run
$OMEGA BLOCK(2)
0.02 ; UNC_POP_CL eta3
0.0001 0.2 FIX; UNC_POP_V eta 4
$SIGMA .001
$SUB ADVAN1
$PK
CL=THETA(1)*EXP(ETA(1)) ;
V=THETA(2)*EXP(ETA(2)) ;
;S1=V
TCLE=THETA(1); estimated typical value
TVE=THETA(2); estimated typical value
IF (ICALL.EQ.4.AND.NEWIND.EQ.0) THEN ; do this just once per subproblem
DO WHILE (ETA(3).LT.-.99.OR.ETA(4).LT.-9.9) CALL SIMETA(ETA) ;resample if
"bad" values
END DO
TVCL=THETA(1)+ETA(3)
TVV =THETA(2)+ETA(4)
WRITE (53,*) TVCL, TVV ; Output simulated THETAs to file
ENDIF
IF (ICALL.EQ.4) THEN ; do this for all simulated values
CL=TVCL*EXP(ETA(1)) ; with uncertainty for CL
V =TVV*EXP(ETA(2)) ; with uncertainty for V
ENDIF
S1=V
K=CL/V
$ERROR
Y =F*EXP(EPS(1))
$INFN
IF (NEWIND.EQ.0) THEN
WRITE (52,*) THETA ; Output estimated THETAs to file
ENDIF
$EST MAX=9999 METH=1 INTER
--------------------------------------------------------------------------
Confidentiality Notice: This message is private and may contain confidential
and proprietary information. If you have received this message in error, please
notify us and remove it from your system and note that you must not copy,
distribute or take any action in reliance on it. Any unauthorized use or
disclosure of the contents of this message is not permitted and may be unlawful.