NONMEM Users Network Archive

Hosted by Cognigen

Re: OMEGA off-diagonal elements parameterized as correlations

From: Nick Holford <n.holford>
Date: Sat, 11 Jul 2009 09:25:53 +0200

Steve,

I dont see the need for two OMEGA matrices. Here is an example awk code
showing how to transform a more user friendly UMEGA matrix expressed as
SD on the diagonal and correlation on the off-diagonal into an OMEGA
matrix with variance on the diagonal and covariance on the off-diagonal.

; UMEGA - User friendly version
0.01
0.3 1
0.1 0.3 10
; OMEGA - Standard NONMEM version
0.0001
0.300015 1
1 3.01496 100

BEGIN {

#OMEGA BLOCK(3) CORRELATION
#0.01
#0.3 1
#0.1 0.3 10

n=3
UMEGA[1,1]=0.01
UMEGA[2,1]=0.3
UMEGA[2,2]=1
UMEGA[3,1]=0.1
UMEGA[3,2]=0.3
UMEGA[3,3]=10

showmat(UMEGA)
U2O()
showmat(OMEGA)
O2U()
showmat(UMEGA)
exit
}

function U2O() { # covij= corrij*sqrt(SDi^2+SDj^2)
   for (i=1; i<=n; i++) {
       for (j=1; j<=i; j++) {
          if (j==i) {
             OMEGA[i,i]=UMEGA[i,i]^2
          } else {
             OMEGA[i,j]=UMEGA[i,j]*sqrt(UMEGA[i,i]^2+UMEGA[j,j]^2)
          }
        }
   }
}

function O2U() { # corrij= covij*sqrt(vari+varj)
   for (i=1; i<=n; i++) {
       for (j=1; j<=i; j++) {
          if (j==i) {
             UMEGA[i,i]=sqrt(OMEGA[i,i])
          } else {
             UMEGA[i,j]=OMEGA[i,j]/sqrt(OMEGA[i,i]+OMEGA[j,j])
          }
        }
   }
}

function showmat(MAT) {
   for (i=1; i<=n; i++) {
       for (j=1; j<=i; j++) {
          if (j==i) {
             printf("%s\t",MAT[i,i])
          } else {
             printf("%s\t",MAT[i,j])
          }
        }
        print ""
   }
   print ""
}


Stephen Duffull wrote:
> Nick
>
> If you used CORRELATION it would require double entry of the OMEGA matrix - perhaps it was considered that this might result in transcription errors (we aren't as accurate as DNA in this regard).
>
> The correlation matrix is a scaled variance matrix where all the variances are scaled to 1 and covariances are therefore automatically scaled to -1:1. So you would need to provide the SD (or variance) of the diagonal elements and as well the correlation matrix in order to recreate the OMEGA matrix.
>
> I agree that correlations are more natural.
>
> Steve
>
>
>> -----Original Message-----
>> From: owner-nmusers
>> nmusers
>> Sent: Saturday, 11 July 2009 6:31 a.m.
>> To: nmusers
>> Subject: Re: [NMusers] OMEGA off-diagonal elements parameterized as
>> correlations
>>
>> Alison,
>>
>> Thanks very much for taking the time to document the history of the
>> CORRELATION option. I hope that a future release of NONMEM might add it
>> back again. It doesnt seem like it would be too much work as it seems
>> like it is only a simple reparameterization of the OMEGA matrix.
>>
>> Nick
>>
>> Alison Boeckmann wrote:
>>
>>> Nick,
>>>
>>> I can only offer you a litle bit of history.
>>>
>>> The CORRELATION option for $OMEGA was supported by NMTRAN and
>>>
>> described
>>
>>> in NONMEM VI's help guide during most of its development, from Oct
>>>
>> 2000
>>
>>> till at least May 2005. Several other interesting new options were
>>> described, such as VARIANCE vs. STANDARD.
>>>
>>> It is less easy for me to track the years during which these options
>>> were actually implemented in early versions of NONMEM VI. Presumably
>>> Paolo must have had access to the on-line help that was distributed
>>>
>> with
>>
>>> a beta test version. Perhaps some of the former fellows remember.
>>>
>>> By the time Tom Ludden and I were finalizing NONMEM VI 1.0, after
>>>
>> Stuart
>>
>>> Beal's death in January 2006, Stuart had deleted these new features
>>>
>> from
>>
>>> NONMEM VI. It was not uncommon for Stuart to put an experimental new
>>> feature in NONMEM, and later decide that it was not worth while and
>>> withdraw it. The OMEGA help entry back was restored to what it had
>>>
>> been,
>>
>>> and NMTRAN was changed to give an error message saying that this
>>>
>> feature
>>
>>> is not available with NONMEM VI, just in case a previous beta tester
>>> might still try to use them.
>>>
>>> The feature was never restored to NONMEM because, basically, no one
>>> asked for it. You might say, how could we ask for something we did
>>>
>> not
>>
>>> know about? Good point. It can be put on the list for a future
>>>
>> release,
>>
>>> though it is too late for NONMEM VII 1.0.
>>>
>>>
>>>
>>>
>>>
>>> On Wed, 08 Jul 2009 17:07:00 +0200, "Nick Holford"
>>> <n.holford
>>>
>>>
>>>> Paolo,
>>>>
>>>> I too was disappointed when NONMEM VI appeared without the $OMEGA
>>>> CORRELATION option. I agree with you that correlations are more
>>>> intuitive and easier to use than covariances.
>>>>
>>>> Unfortunately NONMEM VII beta continues with the same lack of
>>>>
>> support
>>
>>>> for a CORRELATION option.
>>>>
>>>> AN ERROR WAS FOUND IN THE CONTROL STATEMENTS.
>>>>
>>>> AN ERROR WAS FOUND ON LINE 12 AT THE APPROXIMATE POSITION NOTED:
>>>> $OMEGA BLOCK(3) CORRELATION X 584 THIS
>>>> FEATURE IS NOT PART OF NONMEM VII.
>>>>
>>>> I wonder if someone from the NONMEM development team could explain
>>>>
>> why
>>
>>>> this feature remains unimplemented?
>>>>
>>>> Nick
>>>>
>>>> Paolo Denti wrote:
>>>>
>>>>
>>>>> Dear all, I was wondering if it is possible to insert the off-
>>>>> diagonal elements of OMEGA as correlations rather than covariances,
>>>>> because I find it more intuitive.
>>>>>
>>>>> To my greatest happiness, I found the following information in a
>>>>> NONMEM chm help file:
>>>>>
>>>>> ___________________________________________________________________
>>>>> | |
>>>>> | $OMEGA |
>>>>> |
>>>>>
>> __________________________________-
>>
>>>>> | _______________________________|
>>>>>
>>>>> MEANING: Supplies initial estimates for the NONMEM OMEGA Matrix
>>>>> CONTEXT: NM-TRAN Control Record
>>>>>
>>>>> USAGE: $OMEGA [DIAGONAL(n)|BLOCK(n)|BLOCK(n) SAME|BLOCK SAME] 5
>>>>> [[value1] [value2] [value3] ... [FIXED]] 5 $OMEGA
>>>>> [DIAGONAL(n)|BLOCK(n)|BLOCK(n,m) L [[value1] [value2]
>>>>> [value3]] ... L [VARIANCE|STANDARD] [COVARIANCE|CORRELATON]
>>>>> L [FIXED] [ALLOFFFIX] [FIRSTFIXED] [PRINCIPAL]] L
>>>>> |BLOCK(n) SAME|BLOCK SAME] L
>>>>>
>>>>> SAMPLE: $OMEGA BLOCK(3) 6. .005 .3 .0002 .006 .4
>>>>>
>>>>> Reading on in the file, the [COVARIANCE|CORRELATON] sounded (in
>>>>> spite of the incorrect spelling) like the panacea I was looking
>>>>>
>> for.
>>
>>>>> Unfortunately, when I try to compile, I get a message saying that
>>>>> this option is not available in NONMEM VI. :-( Is this sadly only a
>>>>> feature planned for future versions of NONMEM? And if so, does
>>>>> anyone you know of other simple workarounds to use correlations
>>>>> instead of covariances?
>>>>>
>>>>> Thank you in advance, Paolo
>>>>>
>>>>>
>>>>>
>>>>>
>>>> --
>>>> Nick Holford, Professor Clinical Pharmacology Dept Pharmacology &
>>>> Clinical Pharmacology University of Auckland, 85 Park Rd, Private
>>>>
>> Bag
>>
>>>> 92019, Auckland, New Zealand
>>>> n.holford
>>>>
>> mobile:
>>
>>>> +33 64 271-6369 (Apr 6-Jul 20 2009)
>>>> http://www.fmhs.auckland.ac.nz/sms/pharmacology/holford
>>>>
>>>>
>>>>
>>>>
>> --
>> Nick Holford, Professor Clinical Pharmacology
>> Dept Pharmacology & Clinical Pharmacology
>> University of Auckland, 85 Park Rd, Private Bag 92019, Auckland, New
>> Zealand
>> n.holford
>> mobile: +33 64 271-6369 (Apr 6-Jul 20 2009)
>> http://www.fmhs.auckland.ac.nz/sms/pharmacology/holford
>>
>>
>>
>
>

--
Nick Holford, Professor Clinical Pharmacology
Dept Pharmacology & Clinical Pharmacology
University of Auckland, 85 Park Rd, Private Bag 92019, Auckland, New Zealand
n.holford
mobile: +33 64 271-6369 (Apr 6-Jul 20 2009)
http://www.fmhs.auckland.ac.nz/sms/pharmacology/holford


Received on Sat Jul 11 2009 - 03:25:53 EDT

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.