NONMEM Users Network Archive

Hosted by Cognigen

Re: [NMusers] User defined likelihood function in POSTHOC estimation

From: Tingjie Guo <iam_at_tingjieguo.com>
Date: Wed, 06 Nov 2019 14:38:41 +0100

Hi Ruben,

I'm using NM7.4.3. But would INTERACTION matter to POSTHOC estimation? I personally don't think so. Could you maybe explain?

You are right it should be LOG(VAR). I made this typo when re-naming these variables to make the code clearer before posting here. It was correct in my original running code.

The result was very close to standard POSTHOC. I have good confidence LL was correctly defined but just intrigued why not exactly identical.

Warm regards,
Tingjie

On Wed, Nov 6, 2019, at 14:13, Ruben Faelens wrote:
> Hi Tingjie,
>
> You used METHOD=COND LAPLACE in the default posthoc estimate. Whether INTERACTION is implied depends on your version of NONMEM. Could you check?
>
> I do not entirely understand the following section:
> $ERROR
> IPRED = F ; Predicted DV
> ADDI = 5.76 ; Variance of additive error
> PROR = 0.039601 ; Variance of proportional error
> VAR = ADDI + PROR*IPRED**2 ; Variance of combined error
> Y = LOG(W) + (DV-IPRED)**2/VAR ; -2 log Likelihood,
>
> Are you sure it should not be:
> Y = LOG(VAR) + (DV-IPRED)**2 / VAR
>
> Apart from that, it seems you should indeed end up with the same MLE estimates.
>
> Best regards,
> Ruben
>
> On Tue, Nov 5, 2019 at 2:53 PM Tingjie Guo <iam_at_tingjieguo.com> wrote:
>> Dear NMusers,
>>
>> I would like to reproduce POSTHOC estimation with manually defined likelihood (LL) function.
>>
>> This is the control stream of a standard POSTHOC for which I want to reproduce:
>> $PK
>> CL = THETA(1) * CLCR/100 * EXP(ETA(1))
>> V = THETA(2) * WGT * EXP(ETA(2))
>> S1 = V
>>
>> $ERROR
>> IPRED = F
>> Y = IPRED + IPRED*EPS(1) + EPS(2)
>>
>> $THETA
>> 4.58 ; TVCL (L/h)
>> 1.53 ; TVV (L/kg)
>>
>> $OMEGA
>> 0.151321 ; omega^2 CL
>> 0.139876 ; omega^2 V
>>
>> $SIGMA
>> 0.039601 ; Proportional
>> 5.76 ; Additive
>>
>> $EST METHOD=COND LAPLACE MAXEVAL=0 NOABORT SIG=3 PRINT=1
>>
>> And below is the control stream I used aiming to reproduce above POSTHOC estimation:
>>
>> $PK
>> CL = THETA(1) * CLCR/100 * EXP(ETA(1))
>> V = THETA(2) * WGT * EXP(ETA(2))
>> S1 = V
>>
>> $ERROR
>> IPRED = F ; Predicted DV
>> ADDI = 5.76 ; Variance of additive error
>> PROR = 0.039601 ; Variance of proportional error
>> VAR = ADDI + PROR*IPRED**2 ; Variance of combined error
>>
>> Y = LOG(W) + (DV-IPRED)**2/VAR ; -2 log Likelihood,
>>
>> $THETA
>> 4.58 ; TVCL (L/h)
>> 1.53 ; TVV (L/kg)
>>
>> $OMEGA
>> 0.151321 ; omega^2 CL
>> 0.139876 ; omega^2 V
>>
>> $EST METHOD=COND LAPLACE -2LL MAXEVAL=0 NOABORT SIG=3 PRINT=1
>>
>> The LL function was based on the minus twice log posterior distribution:
>> -2LPosterior = log(Var) + SUM{(DV-IPRED)^2/Var} + ETA^2/OMEGA^2
>>
>> I did not add eta/omega part (prior distribution) to the LL function in the code because NONMEM seems to apply them automatically in POSTHOC. The eta estimates using defined LL function were fairly close but not exactly same as what standard POSTHOC generated and I don't know why. Does anyone have ideas what might be going wrong in the code? Any input is appreciated!
>>
>> Yours sincerely,
>> Tingjie Guo
>>

Received on Wed Nov 06 2019 - 08:38:41 EST

The NONMEM Users Network is maintained by ICON plc. Requests to subscribe to the network should be sent to: nmusers-request@iconplc.com. Once subscribed, you may contribute to the discussion by emailing: nmusers@globomaxnm.com.