Dear Michael and Julien:

Thank you very much for responding to my questions. I am going to try what
you suggested.

Best Regards,
Paulo

Em qui., 7 de nov. de 2024 às 20:01, Julien Clavel <[email protected]>
escreveu:

> Hi Paulo,
>
> I complete Michael's answer below:
>
> "1) How to extract model parameters from models fitted using mvgls?"
>
> Model parameters (e.g., alpha for OU, or lambda for Pagel's lambda model)
> can be obtained from object$param. The covariance matrix 'Sigma' is located
> in object$sigma$Pinv. The inverse of this matrix is object$sigma$P (since P
> stands for the 'precision' matrix, which is the inverse of the covariance
> matrix. Pinv is the inverse of P, i.e., the covariance matrix). The
> ancestral states/optima are given in object$coefficients.
>
> "2) I understand that mvgls incorporates penalized likelihood, whereas mvOU
> does not. Does that explain the discrepancy in the results? Which approach
> would be more appropriate in my case?"
>
> Yes, this could explain the differences. When the number of variables (and
> thus estimated parameters) grows relative to the number of species, model
> selection using maximum likelihood can be severely biased compared to
> penalized likelihood (see Fig. 3 in https://doi.org/10.1093/sysbio/syy045).
> You could also use the EIC (extended information criterion) to compare
> model fit with varying levels of complexity, although it may be
> time-consuming.
>
>
> "3) When I fit the mvOU (OU1) model, it says it has converged, but it also
> says "Unreliable solution (Likelihood at a saddle point)". Does anyone know
> how serious this is and how to deal with it?"
>
> This issue can arise for several reasons, including data scaling, too many
> zero branch lengths, or poor starting values. Limited data combined with
> highly parameterized models can exacerbate these problems. You might try
> providing different starting values through the param = list(alpha,
> sigma) argument, although these values depend on the parameterization used
> (see section 10 of the package vignette). You can also try a different
> optimizer ('optimization' argument). Another option is to reduce the
> model’s complexity (for example, by imposing constraints on the parameter
> matrices), as suggested by Michael. This can be done using the decomp and
> decompSigma arguments, with examples provided in the package vignette.
> However, when dealing with a limited sample size and multiple variables, I
> would recommend using the penalized likelihood approach in 'mvgls' instead,
> and directly on the data rather than on PC axes. This would help minimize
> biases in model selection and parameter estimation that can arise from
> using a subset of principal components. Additionally, the PL approach is
> designed for high-dimensional datasets and is less prone to the likelihood
> issues you're encountering (although the models make some simplifying
> assumptions).
>
> Hope this helps.
>
> Regards,
>
> Julien
>
>
> ________________________________________
> De : R-sig-phylo <[email protected]> de la part de
> Michael Zyphur via R-sig-phylo <[email protected]>
> Envoyé : jeudi 7 novembre 2024 22:55
> À : Paulo Mateus Martins <[email protected]>
> Cc : [email protected] <[email protected]>
> Objet : Re: [R-sig-phylo] mvMORPH: mvgls parameter extraction and
> unreliable solution in mvOU
>
> Hi Paulo
>
> For extracting model parameters from mvgls, unfortunately, mvgls does not
> provide a straightforward way to extract all model parameters as mvBM,
> mvEB, and mvOU do. If you are specifically looking to retrieve sigma, beta,
> r, and alfa parameters, you might need to use custom functions or consult
> the package documentation to see if they’re accessible via model$par or
> similar components of the model object. Alternatively, you may continue
> using mvBM, mvEB, and mvOU for a more direct approach, as you’ve started to
> do.
>
> In terms of differences between mvgls and mvOU, you're right that mvgls
> incorporates penalized likelihood, which can influence model selection
> outcomes. Penalized likelihood methods, like those used in mvgls, typically
> account for model complexity differently from the AIC used in mvOU. This
> may contribute to the discrepancy in model performance (OU1 vs. OUM)
> between the two methods. The choice of approach depends on your specific
> research question and how you want to handle model complexity. For
> comparative purposes across models, mvOU might be more consistent if AIC is
> the preferred metric.
>
> As for convergence issues with mvOU (OU1), the “Likelihood at a saddle
> point” warning suggests that the optimization process may have reached a
> point that is not a true maximum, making the solution potentially unstable
> or unreliable. This can happen due to flat likelihood surfaces or local
> optima in complex models. To address this: consider trying different
> starting values or optimization methods, if available, within the mvMORPH
> functions; reducing the parameter space or simplifying the model might help
> achieve a more stable solution; and/or exploring alternative packages or
> methods for fitting OU models if this issue persists.
>
> Hope this helps!
>
>
> Best wishes
>
> Michael Zyphur
> Director
> Institute for Statistical and Data Science
> *instats.org* <http://instats.org>
>
>
> On Fri, 8 Nov 2024 at 08:37, Paulo Mateus Martins <[email protected]
> >
> wrote:
>
> > Dear all,
> >
> > I'm using the mvMORPH package to fit the BM, EB, OU1, and OUM
> > macroevolutionary models to the PCA axes of the log-shape ratios of
> > whip-spiders. The simmap tree contains 69 species and 4 habitat states
> > (cave = 24, cave/forest = 6, city = 5, forest = 34).
> >
> > At first, I used mvgls but couldn't find a way of extracting model
> > parameters (e.g., sigma, beta, r, and alfa), so I moved to the separate
> > functions for each model (mvBM, mvEB, and mvOU).
> >
> > The two approaches produced different results, with the best mvgls model
> > (according to GIC) being OU1, and the best mvOU model (according to AIC)
> > being OUM.
> >
> >  Could someone please help me with the following questions?
> >
> > 1) How to extract model parameters from models fitted using mvgls?
> > 2) I understand that mvgls incorporates penalized likelihood, whereas
> mvOU
> > does not. Does that explain the discrepancy in the results? Which
> approach
> > would be more appropriate in my case?
> > 3) When I fit the mvOU (OU1) model, it says it has converged, but it also
> > says "Unreliable solution (Likelihood at a saddle point)". Does anyone
> know
> > how serious this is and how to deal with it?
> >
> > Thank you!
> >
> > Paulo
> >
> >         [[alternative HTML version deleted]]
> >
> > _______________________________________________
> > R-sig-phylo mailing list - [email protected]
> > https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
> > Searchable archive at
> > http://www.mail-archive.com/[email protected]/
> >
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-phylo mailing list - [email protected]
> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
> Searchable archive at
> http://www.mail-archive.com/[email protected]/

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-phylo mailing list - [email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
Searchable archive at http://www.mail-archive.com/[email protected]/

Reply via email to