Few ideas to try:
1. Replace TIME by T (for inverse Gaussian)
2. Put some defense against T=0 (say, use (T+0.000001) instead of T in all expressions)
3. Use TOL=9 (as high as nonmem would allow)

I tested it in R, and your expression integrates to 1, so this is a numerical issue, not an error in the formulas.

Leonid

--------------------------------------
Leonid Gibiansky, Ph.D.
President, QuantPharm LLC
web:    www.quantpharm.com
e-mail: LGibiansky at quantpharm.com
tel:    (301) 767 5566



On 7/21/2011 9:45 PM, Tremblay, Pierre-Olivier wrote:
Dear NMUsers,

I need new pairs of eyes to look at thesmallproblem I'm facing. The
solution is probably right before my nose but I can't seem to get a hold
of it.

Let me explain briefly, I wrote two small test control files(pasted
below), one foraweibull input
function(inspiredfromhttp://www.cognigencorp.com/nonmem/current/2010-April/2476.html)and
the other for an inverse gaussianinput function. Note that In the
$DES,block I only put the weibullor inverse gaussian and no clearance
related parameters soIshouldend up with a cumulative distribution of
theinputfunction. The thing is this, it works just finefor the
weibullwith the function cumulating to one but I cannot seem to get it
to work for the inverse gaussian.The shape of the inverse gaussian
cumulative distribution is OK, it's the scale that's the problem, the
cumulated input does not add up to one buttomuch less (to
0.397,actually). I figured it's probably just an error in my coding of
the inverse gaussian pdf buthaving scrutinized it so much Ijustdon't see
it anymore.

Below are my two control streams. If you build a dataset to run with the
code be sure to put a lot of timepoints between 0 and 1 because the
MATparameterof the inverse gaussianis small (immediate release formulation).

Thanks for yourhelp:o)

1) Weibull

----------------------------

$PROBLEM WEIBULL INPUT FUNCTION SIM, SINGLE SUBJ

$INPUT C ID AMT TIME DV MDV EVID

$DATA DESTEST.CSV IGNORE=C

$SUBROUTINE ADVAN6 TOL=3

$MODEL NCOMP=1 COMP=(CENTRAL)

$PK

F1=0

BETA=THETA(1)

ALPHA=THETA(2)

$DES

; WEIBULL FUNCTION PDF

WB=(BETA/ALPHA)*((T/ALPHA)**(BETA-1))*EXP(-(T/ALPHA)**BETA)

DADT(1)=WB

$THETA 4.10 ;BETA

3.09 ;ALPHA

$OMEGA (FIX,0)

$ERRORY=F+ERR(1)

$SIMULATION (234134) ONLYSIM

$TABLE TIME Y NOPRINT FILE=WB.TAB

$SCATTER Y VS TIME

----------------------------

2) Inverse gaussian

----------------------------

$PROBLEM INVERSE GAUSSIAN SIM, SINGLE SUBJ

$INPUT C ID AMT TIME DV MDV EVID

$DATA DESTEST.CSV IGNORE=C

$SUBROUTINE ADVAN6 TOL=3

$MODEL NCOMP=1 COMP=(CENTRAL)

$PK

F1=0

MAT=THETA(1)

CV=THETA(2)

CV2=CV**2

$DES

;INVERSE GAUSSIAN PDF

P1=2*3.141593*CV2*TIME**3

P2=(TIME-MAT)**2

P3=2*CV2*MAT*TIME

P4=SQRT(MAT/P1)

RATIO=-1*(P2/P3)

P5=EXP(RATIO)

IG=P4*P5

DADT(1)=IG

$THETA 0.062 ;MAT

0.466 ;CV

$OMEGA (FIX,0)

$ERRORY=F+ERR(1)

$SIMULATION (323454) ONLYSIM

$TABLE TIME Y NOPRINT FILE=IGTEST.TAB

$SCATTER Y VS TIME

----------------------------

Pierre-Olivier Tremblay

Reply via email to