NONMEM Users Network Archive

Hosted by Cognigen

Re: eigenvalues

From: Pavel Belo <nonmem>
Date: Mon, 16 Nov 2015 11:49:07 -0500 (EST)

Hello Jeroen,

Thank you for the advice
for starters.  It advances some of us to an intermediate or even highe=

The question can be
deeper.  Here we mostly do not refer to population PK models as
hierarchical models.  In Monolix books statements like "we
take advantage of the hierarchical structure of the model" are
everywhere.  It makes little sense to estimate theta, diagonal of omeg=
and sigma, and omega correlations all together as correlated parameter=
then ignore correlations between some groups of parameters when
eigenvalues are
calculated (for example, correlations of theta and omega).  It makes=
sense to do it when there is a theory, which suggests that under certain
conditions the groups of parameters are not correlated.

It is interesting to
understand a rationale for a potential assumption (or a result of
assumption) that estimates of certain groups of parameters are not

Take care,

On Fri, Nov 06, 2015 at 11:34 AM, Jeroen Elassaiss-Schaap wrote:

     Hi Pavel,

     For starters, it is simple to calculate using R:


         mymat <- mymat /max(mymat)

        #replace mymat with your nonmem $cov matrix

       eigenval<-eigen(mymat,symm=T)$values #
         should be similar to nonmem reported



       cn1<-max(eigenval)/min(eigenval)  # could be
         compared to the "PK" parameters ratio from monolix

     Assuming a 25x25 covariance matrix, and theta in 1:10. You will
     to do some rearrangement of the cells to isolate the off-diagonal
     elements of $OMEGA, but with this approach you can compare apples
     apples. Until you have done that you will not know whether the
     platforms provide different results or similar wrt the condition

     The difference in behavior with respect to objective function
     is puzzling, assuming you refer to SAEM estimation in Nonmem. My
     advice here would be to focus on (visual) predictive checks, and
     compare how well the two platforms perform on that aspect.

     Hope this helps,


     -- <>
+31 6 23118438
-- More value out of your data!

Op 06-11-15 om 17:05 schreef Pavel

     NONMEM demonstrated very large differences in
       objective function when variability or correlations were added or
       removed.  Monolix demonstrated close-to-insignificant
       differences.  When differences in software start to affect
       important conclusions it becomes interesting.  It feels like we
       need to make sure we report the most meaningful results. 


NONMEM runs as if the covariance matrix is more a byproduct
         than an essential part of the optimization.  Monolix runs as =
         the covariance matrix an essential part of the optimization. 
         NONMEM teachers recommend to try a full covariance matrix. 
         Monolix teachers recommend to be careful and try a diagonal
         matrix first. 





         On Fri, Nov 06, 2015 at 08:42 AM, Pavel Belo wrote:




 Hello Jeroen,


Thank you for your response.  It was a practical
               question.  I understand the theory.  What is the r=
               different packages show such different results and
               eigenvalues  differently?  What is the best way?=


NONMEM demonstrated much larger max/min values but did
               not give warning messages about non-positive defined
               matrix.  The runs were stable.  Runs became unstab=
le only
               when simulated annealing was used;  instability kicked =
               at the moment when NONMEM stopped simulated annealing; =
               I had to remove simulated annealing.  Monolix some=
               gave non-positive defined matrix stopping optimization in
               the middle;  sometime it became unstable in the mi=
               with or without simulated annealing.   


I do not take sides.  I just try to understand it.  As
               max/min is frequently reported in BLAs, it is nice to
               understand what we report and why it can be so different
               across different packages. 





             On Thu, Nov 05, 2015 at 05:14 PM, Jeroen Elassaiss-Schaap
             (PD-value B.V.) wrote:




               Principal component analysis can be validly performed on
               any matrix, and it is just a matter of convention that
               eigenvalue ratios of min/max of the total covariance
               matrix of estimation are reported as the condition number
               for a given model. This as a metric of how easily the
               dimensionality of estimators could be reduced.

               The idea behind the separation of eigenvalues, as you
               here for your model in Monolix, is actually attractive,
               because the off-diagonal elements do reduce the freedom
               the described variance rather than increasing it.
               Furthermore they are the byproduct of sampling methods
               like SAEM, not so much the result of separate estimation.
               Two reasons to separate them.

               The separation of diagonal variance components and PK
               parameters as you note is less obvious to me, although I
               am pretty sure there will be a good rationale for that in
               the realm of sampling approaches (tighter linkage?).

               Even though the off-diagonal elements are associated with
               a decent condition number, it is still larger than the
               "PK" block, assuming the blocks are of comparable size.
               other to better compare the results my suggestion would
               to break up the nonmem covariance matrix (as was done for
               Monolix) in blocks of structural, diagonal and
               off-diagonal elements (throwing away a large remainder),
               and calculate the condition number on each matrix. Than
               you are comparing apples to apples, enabling a more
               straightforward discussion of the differences.

               Hope this helps,

               Jeroen <>
+31 6 23118438
-- More value out of your data!

On 11/04/2015 05:55 PM, Pavel
                 Belo wrote:

               Hello NONMEM Users,


I try to make sense of the results and one of the
                 ways to do it is to compare the same or similar models
                 across software packages.  5x5 full omega matrix is=
                 because it was prohibitive to remove some insign=
                 correlations from the matrix without removing
                 significant correlations (All recommended ways to do it
                 were tested. Diagonal omega was also tested, of
                 course).  Adding correlations has little effect on PK
                 parameters, but it has some effect on simulations. 


NONMEM provides all eigenvalues in one pocket.  Here
                 is an example. 


 ********************        =


                  ********************     =

                  ********************     =
                 COR MATRIX OF ESTIMATE (S)     =


 ********************        =




         2    =
     3         =
                 5         6 =
        7     =
    8         9=
                 10        11 =

   13        14  =
      15       =
                 17        18 =
      19      =
20        21    =
                 22        23


  5.69E-03  3.40E-02  6.32E-02 
                 9.19E-02  1.24E-01  1.53E-01  2.79E-01=
                 4.32E-01  5.74E-01  6.45E-01

5E-01  7.67E-01  9.73E-01  1.08E+00 
                 1.42E+00  1.63E+00  1.86E+00  2.14E+00=
                 3.12E+00  4.26E+00


Monolix provides them in 3 pockets:


PK parameters: Eigenvalues (min, max, max/min): 0.22 
                 2  9.2

OMEGA (diagonal) and SIGMA: Eigenvalues (min, max,
                 max/min): 0.66  1.5  2.2

OMEGA (correlations):  Eigenvalues (min, max,
                 max/min): 0.097  2.5  25


Even though the results look similar, eigenvalues
                 look different.  Taking into account that max/min rat=
                 is frequently reported, it is important to understand
                 the difference.  It almost look like different sets o=
                 parameters are estimated separately in the Monolix
                 example, which most likely is not the case.  Even if =
                 combine all eigenvalues in one pocket, max/min looks
                 good.   It is impressive that max/min =
ratio for OMEGA
                 correlations may look OK even though there are small
                 correlations such as -0.0921, SE=0.064, RSE=70%.


What is the best way to report estimate and report
                 max/min ratios?


Take care,


Received on Mon Nov 16 2015 - 11:49:07 EST

The NONMEM Users Network is maintained by ICON plc. Requests to subscribe to the network should be sent to:

Once subscribed, you may contribute to the discussion by emailing: