RE: Simulation problem of normal distributed data
Hi Gerry,
EXP(-X) might become such a small number that PRN no longer increases. For
example, 0.5+S is represented as 0.5 for small S. Using verbatim code (see
nmhelp) you could print N, PY and PRN to see if something like this occurs.
Best regards,
Erik
Quoted reply history
________________________________
From: [email protected] [[email protected]] on behalf of
Gerry Sheng [[email protected]]
Sent: Wednesday, July 30, 2014 10:40 AM
Cc: nmusers
Subject: Re: [NMusers] Simulation problem of normal distributed data
Dear Goyal,
Thank you for your advice. I changed the second seed to 17545, but the new
cutoff number of records is 1498 . If data records>1498, the same problem
still exists.
Best wishes,
Yucheng Sheng
Research Associate
School of Pharmacy, UCL
On 29 July 2014 23:25, Navin Goyal
<[email protected]<mailto:[email protected]>> wrote:
Hi Sheng,
I don't know the exact reason behind such mysterious behavior but if you just
change the seed number (the UNIFORM seed) it works.
e.g. I changed the seed# from 7545 to 17545 and was able to simulate 1000
rows for the subject.
$SIMULATION (6446) (17545 UNIFORM) ONLYSIM NOPRED SUB=1
Its a rare occurrence but may be the seed number caused some issue (while
generating sufficient samples to satisfy the constraints you set up using the
DOWHILE LOOP). For example I think the same seed number (7545) may work when
the DOWHILE condition is reversed
(RL .LT. PRN) however it may not be appropriate based on your problem.
.......or may be there is some other explanation to such occurrence.
Kind regards
Navin Goyal
On Tue, Jul 29, 2014 at 10:54 AM, Gerry Sheng
<[email protected]<mailto:[email protected]>> wrote:
Dear NMuser,
I encountered a strange problem when I used the following code to simulate
normal distributed data. When the data records >797, no result appears with
NONMEM run into an infinite loop . But when the records decreasing to 796
(delete the last row), the results will occurred immediately. Anyone else met
this phenomenon? Any comments and suggestions are appreciated. Thank you in
advance.
$PROBLEM PD
$INPUT ID,CONC,DV
$DATA data.csv IGNORE=@ ;
$PRED
NMEAN=THETA(1)+ETA(1)
SD=THETA(2)
;Simulate count
IF (ICALL.EQ.4) THEN
N=0
PRN=0
CALL RANDOM(2, R)
RL=1-R
DO WHILE (RL .GT. PRN)
LNNOR=LOG(6.283185)+2*LOG(SD)+((N-NMEAN)/SD)**2
PY=EXP(-0.5*LNNOR)
PRN=PRN+PY
IF (PRN .LT. RL) N=N+1
ENDDO
DV=N
ENDIF
$THETA
(30,41.7,60) ;MEAN
(2,14.4,50) ;SD
$OMEGA
0 FIX ;MEAN
$SIMULATION (6446) (7545 UNIFORM) ONLYSIM NOPRED SUB=1
$TABLE ID TIME DV ONEHEADER NOPRINT FILE=npctab1.dta
data.csv like this
ID CONC DV
1 0 .
1 0 .
1 0 .
1 0 .
1 0 .
1 0.01 .
1 0.01 .
1 0.01 .
1 0.01 .
1 0.01 .
.....
Yucheng Sheng
Research Associate
School of Pharmacy, UCL
--
Navin Goyal