Re: Constrain PD values using a logistic transformation
Hi Mahesh,
Quoted reply history
On Jul 4, 2010, at 12:20 AM, Samtani, Mahesh [PRDUS] wrote:
> Dear Dr. Gillespie,
> Your insight is greatly appreciated. I have 3 follow-up questions:
> Is there a typo in the equation Y = 100 * LOG(IPRE/(100-IPRE))+ERR(1). I
> guess it should be OK to write IPRE=LOG(A(1)/(100-A(1))) and Y=IPRE+ERR(1) so
> I can compare IPRE vs. DV on the diagnostics
Yes. the multiplication by 100 was incorrect. Your approach looks OK to me.
> By extended logit do you mean: IPRE=LOG((A(1)+0.5)/(100.5-A(1))). I guess the
> Yobs would also have to be computed using LOG((Xobs+0.5)/(100.5-Xobs))
A general form for an extended logit is:
logit(x, U, L) = log(xTrans / (1 - xTrans))
where
xTrans = (x - L) / (U - L)
Substitute L = -0.5 and U = 100.5 for your case.
> I have read some of your elegant work on the AD progression model. However, I
> am not sure how to implement the beta distribution in NONMEM. It appeared to
> me that a ratio of ADAS-cog divided by ADAS-COGmax of 70 was computed and
> then it was put in a logit transform. Could you kindly describe this method
> in a little bit detail
In the ADAS-cog model the residual variation in ADAS-cog / 70 is beta
distributed, but the conditional mean of ADAS-cog / 70 is related to the
otherwise unconstrained model using a logit link. In other words, ADAS-cog / 70
on the ith occasion in the jth patient (y_{ij}) is described by:
y_{ij} ~ Beta(mu_{ij} * tau, (1 - mu_{ij}) * tau)
logit(mu_{ij}) = f(x_{ij}, theta_j)
where
E(y_{ij}) = mu_{ij}
Var(y_{ij} = mu_{ij} * (1 - mu_{ij}) / (tau + 1)
x_{ij} = independent variables, e.g., dose, time, ...
theta_j = parameter values for jth patient
f = model function with range over real line
I have not implemented the beta density in NONMEM. We used BUGS. I imagine a
workable approach would be to use an approximation to the beta function, e.g.,
Stirling's approximation. The rest of the density is easily programmed. You
would need the LIKELIHOOD option in the $ESTIMATION record. Others on the list
may have more direct experience or better ideas.
> Interestingly I haven't received any other responses from NMusers. I read a
> couple of papers in the past few days and all of them appear to ignore this
> problem. The commonly used additive residual error model is usually being
> utilized for scores with limits as endpoints.
In cases where one's primary objective is parameter estimation or prediction of
population mean response, use of an unconstrained model is often a reasonable
approach, particularly if most of the responses are far from the boundaries. So
I wouldn't automatically criticize a modeler for failing to constrain their
model. On the other hand, when the objective is to simulate individual patients
I prefer to use a constrained model, so that all simulated data are within a
possible range and I don't have to resort to post-hoc truncation and the
potential bias it introduces.
>
> Thank-you,
> Mahesh
> From: Bill Gillespie [mailto:[email protected]]
> Sent: Fri 7/2/2010 3:04 PM
> To: Samtani, Mahesh [PRDUS]
> Cc: [email protected]
> Subject: Re: [NMusers] Constrain PD values using a logistic transformation
>
> Hi Mahesh,
>
> If you plan to use one of the approximate likelihood methods, e.g., FO or
> FOCE, you may prefer to transform the data and use an additive model. In
> other words transform the data according to Yobs = LOG(Xobs/(100-Xobs)) and
> use Y = 100 * LOG(IPRE/(100-IPRE))+ERR(1) where Xobs is the observed data on
> the restricted range.
>
> Since you have some data at the extremes, you may want to extend the range
> used for the extended logit to (-0.5, 100.5) or something similar. Otherwise
> you'll end up with under- or over-flows.
>
> Regarded other transformations, anything that transforms from a bounded
> interval to the real line is potentially fair game. For example you could use
> probit or complimetary log-log transformations extended to (0, 100). Another
> approach would be to use an beta distribution extended to (0, 100) instead of
> (0, 1) for the likelihood. Such an approach is described for a model of
> ADAS-cog scores as a function of time (see the Alzheimer's disease
> progression model at http://opendiseasemodels.org, specifically the model
> used for the "raw" scores).
>
> Cheers,
> Bill Gillespie
>
> On Jul 1, 2010, at 3:47 PM, Samtani, Mahesh [PRDUS] wrote:
>
>> Dear NMusers,
>> I am trying to model some PD data, which has a lower bound of zero and an
>> upper bound of 100. I was wondering how to implement this restriction and if
>> it was possible to use the general logistic transformation in the $ERROR
>> block shown below:
>>
>> $ERROR
>> IPRE=A(1)
>> LT=LOG(IPRE/(100-IPRE))+ERR(1)
>> Y=(100*EXP(LT))/(1+EXP(LT))
>>
>> If this is appropriate, do I understand correctly that this is NOT a
>> transform both sides approach; i.e. DV stays in its original or natural
>> form.
>>
>> Finally, the logistic transformation extends from -∞ to +∞. However, the
>> dataset does have a small number of values that are zeros and 100 (Five
>> zeros and a couple of 100s in a dataset of about 700 observations). Do these
>> small number of extreme values in the dataset cause problem when the LT term
>> is back transformed above.
>>
>> Any other method and references for papers that use these types of
>> constraints would be greatly appreciated.
>>
>> Warm regards and thanks in advance...MNS
>>
>