From: "Hutmacher, Matt" - mhutmach@amgen.com
Subject: [NMusers] Fitting Data Below the Quantification Limit
Date: 1/6/2004 6:23 PM
Hello all,
I was wondering if anyone has experience fitting PK Models where some data
are below the quantification limit. Specifically, if anyone has attempted
to fit the censored likelihoods that are described in Stuart Beal's JPP
manuscript, JPP 2001; 28 481-504. If you have any NONMEM code or
implementation suggestions it would be greatly appreciated.
Thanks,
Matt
Fitting Data Below the Quantification Limit
2 messages
2 people
Latest: Jan 10, 2004
From: Lewis B. Sheiner - lbs@lewisbsheiner.net
Subject: RE: [NMusers] Fitting Data Below the Quantification Limit
Date: 1/10/2004 5:21 PM
All -
As I understand it, NM6 should have built-in code to do the necessary
integrations in a conveneint way. In the mean-time, here (below and attached)
is some code that Russ Wada, Bill Poland, and I came up with that works at least
on a very simple test problem. That's all the testing I've done. The code assumes Y|eta
is normally distributed with expected value = MN and standard deviation = SD, so it will
not work for time-to-event Y, logisticY, etc.
LBS.
==========================================================
$ERROR [or $PRED]
MN= ... ; Your model for E(DV); often just F
SD= ... ; Your model for SD(DV)
QL= ... ; The QL -- A fixed value
X=(QL-MN)/SD
ABSX=X
IF (X.LT.0) ABSX=-X
; compute -2LL contrib
l2pi=1.837877 ; log 2*pi
IF (DV .GT. QL) THEN ; >QL case: L=N(MN,SD2)
Y = l2pi + 2*LOG(SD)+((DV-MN)/SD)**2
ENDIF
IF (DV .LE. QL) THEN; >QL case: L=N(MN,SD2), need CUM NL
; Compute NN = Std CUM NL (STDNCDF) at X -- from Abramovitz & Stegun,
; Handbook of Mathematical Functions
b1=0.31938153
b2=-0.356563782
b3=1.781477937
b4=-1.821255978
b5=1.330274429
pp=0.2316419
c2=0.3989423
tt=1/(1+ABSX*pp)
b=c2*EXP(-1/2*ABSX**2)
n1=((((b5*tt+b4)*tt+b3)*tt+b2)*tt+b1)*tt
n2=1-b*n1
ENDIF
IF(DV .LE. QL.AND.X.LT.0) THEN ; belongs in above 'IF' but can't nest
NN=1-n2
ELSE
NN = n2
ENDIF
IF (DV.LT.QL.AND.ABSX.LT.6) THEN
Y = -2*LOG(NN)
ENDIF
IF(DV .LE. QL .AND. X .GE. 6.0) THEN ; X > +6SD, STDNCDF~ 1
Y = 0
ENDIF
IF(DV .LE. QL .AND. X .LE. -6.0) THEN ; X < -6SD, trunc to -2*log(1-STDNCDF(6))
Y = -37.8379 ;
ENDIF
$EST METHOD=COND LAPLACE -2LL
$THETA ...
$OMEGA ...
====================================================================
_______________________________________________________