Hi Pavel,

For starters, it is simple to calculate using R:
  mymat<-abs(matrix(rnorm(25^2),ncol=25))
  mymat <- mymat /max(mymat)
 #replace mymat with your nonmem $cov matrix
eigenval<-eigen(mymat,symm=T)$values# should be similar to nonmem reported
  cn<-max(eigenval)/min(eigenval)
  eigenval<-eigen(mymat[1:10,1:10],symm=T)$values
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 need to do some rearrangement of the cells to isolate the off-diagonal elements of $OMEGA, but with this approach you can compare apples by apples. Until you have done that you will not know whether the platforms provide different results or similar wrt the condition number.

The difference in behavior with respect to objective function impact 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,
Jeroen


--

http://pd-value.com
jer...@pd-value.com
@PD_value
+31 6 23118438
-- More value out of your data!



Op 06-11-15 om 17:05 schreef Pavel Belo:
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 if 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.
Thanks,
Pavel
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 reason different packages show
    such different results and present 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 unstable only when simulated annealing was
    used;  instability kicked in at the moment when NONMEM stopped
    simulated annealing; so I had to remove simulated
    annealing.  Monolix sometimes gave non-positive defined matrix
    stopping optimization in the middle;  sometime it became unstable
    in the middle 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.
    Thanks,
    Pavel
    On Thu, Nov 05, 2015 at 05:14 PM, Jeroen Elassaiss-Schaap
    (PD-value B.V.) wrote:

        Hi Pavel,

        Principal component analysis can be validly performed on any
        matrix, and it is just a matter of convention that the
        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 show
        here for your model in Monolix, is actually attractive,
        because the off-diagonal elements do reduce the freedom of 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. In other to
        better compare the results my suggestion would be 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


        http://pd-value.com
        jer...@pd-value.com
        @PD_value
        +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 used because it was
        prohibitive to remove some insignificant 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.
         
************************************************************************************************************************
         ******************** ********************
         ********************                STOCHASTIC APPROXIMATION
        EXPECTATION-MAXIMIZATION ********************
         ********************                    EIGENVALUES OF COR
        MATRIX OF ESTIMATE (S) ********************
         ******************** ********************
         
************************************************************************************************************************
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

3.36E-05 5.69E-03 3.40E-02 6.32E-02 9.19E-02 1.24E-01 1.53E-01 2.79E-01 3.20E-01 4.32E-01 5.74E-01 6.45E-01 7.25E-01 7.67E-01 9.73E-01 1.08E+00 1.42E+00 1.63E+00 1.86E+00 2.14E+00 2.31E+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 ratio is
        frequently reported, it is important to understand the
        difference.  It almost look like different sets of parameters
        are estimated separately in the Monolix example, which most
        likely is not the case.  Even if we 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,
        Pavel


Reply via email to