Re: [R-sig-phylo] ancestral trait reconstruction and OU model
Dear Fabio, Andrew is correct in his answer regarding the new behavior of OUCH (thanks Andrew). In the new version of OUCH, the hansen fit has been modified so that the ancestral state at the root is no longer estimated, but it is rather assumed to be in one of the regimes in the dataset. In most of our work, the ancestral state at the root was really a nuisance parameter, and in some cases was returning really odd parameter estimates. This was probably because there is very little data to inform the root state, and so fitting a somewhat extraneous parameter seemed to cause a non-identifiability problem. This is probably because there is more than one way to fit (or to explain the data). For example, one could get a good fit by having the ancestral state close to optimum 1 with weak selection, or one could have the ancestral state very far away from optimum 1 with strong selection. Both solutions could result in reasonable fit. If the ancestor is free to vary, it is possible to obtain similar fits for different combinations of parameters. Since most comparative biologists don't have fossil data or any internal data to peg the root down, and since it is reasonable in many situations to assume that the ancestor was in one of the current adaptive regimes (usually you're only analyzing the "ingroup"), we thought it made the best sense to just include the root as being in one of the selective regimes. If one is unsure which adaptive regime the ancestor should be in, you could test all possible models with the ancestor in each of the selective regimes, to see which provides the best fit. However, if one has fossil data, then there is much better information to "anchor" the root. Also, you may have good reasons for estimating the root. In this case, do as Andrew says and assign a unique adaptive regime to the root. I believe this will provide the same fit as in the original version of OUCH. In general, we haven't found that estimating the ancestor separately affects model selection at all (i.e., you obtain the same "best" model no matter whether you estimate the ancestor or not). It seems to affect alpha and sigma only a little, but it can move the other optima around a bit (if you push the ancestor back, it tends to exaggerate the other states as well so that you end up at the proper "target" -- the data which you are trying to fit). Hope this is not too confusing. Take care, Marguerite Butler On Oct 26, 2009, at 8:53 AM, Andrew Hipp wrote: > Dear Fabio, > > In ouch v2 and up, the root state is not treated as a free parameter > and is not returned. One way to think about your question might be to > assume that the branches at the base of the tree have their own > optimum, > and then treat that optimum as the root state. But in doing so, you > should consider whether there are likely to have been transitions in > selective regime among those branches that might make such an > assumption > unreasonable, and whether the estimate of alpha under the models you > look at suggest that the optimum in those basal branches was reached > quickly. To look at the former, you might look at whether alpha and > sigma^2 estimates increase markedly when you model the basal branches > separately as a way of estimating the ancestral state; if so, I would > have doubts about the validity of modeling the root state of your > characters that way. Also, some topologies aren't amenable to this > treatment (unless you model just basal portions of the relevant > branches > as being in the root optimum, an option which is not available in ouch > but valid nonetheless). To look at the latter, see Hansen (1997) re: > the > relationship between alpha and the rate at which a character evolves > toward its optimum. > > If you want to look at the ancestral state using the old versions of > ouch, you could try one of the 1.x versions of ouch from the ouch > archive on cran (http://cran.r-project.org/src/contrib/Archive/ouch/). > Be aware, though, that ouch 2.x is written in S4 and differs > substantially from ouch 1.x, but if you have your trees and regimes > set > up already for ouch 2.x, you should be fine with the old versions. > > Andrew Hipp > > Andrew L. Hipp, PhD > Plant Systematist and Herbarium Curator > The Morton Arboretum > 4100 Illinois Route 53 > Lisle, IL 60532-1293 > ah...@mortonarb.org > (630) 725-2094 > http://redwood.mortonarb.org/lab_pages/hipp > Fabio de Andrade Machado 10/26/2009 3:12 AM >>> > Hi Graham, > > thanks for the reply. > > I don't know if this a particular problem for my kind of data (various > > characters), but I'm not receiving any "Theta zero" on the output. > Just thetas for each selective regime. Is this a version problem? I'm > > with ouch v. 2.5-7 > > I do realize that in complex regimes the contribution of the terminal > > taxa to the root state is negligible, but as I'm dealing with > morphometric data I have the
Re: [R-sig-phylo] ancestral trait reconstruction and OU model
Dear Fabio, In ouch v2 and up, the root state is not treated as a free parameter and is not returned. One way to think about your question might be to assume that the branches at the base of the tree have their own optimum, and then treat that optimum as the root state. But in doing so, you should consider whether there are likely to have been transitions in selective regime among those branches that might make such an assumption unreasonable, and whether the estimate of alpha under the models you look at suggest that the optimum in those basal branches was reached quickly. To look at the former, you might look at whether alpha and sigma^2 estimates increase markedly when you model the basal branches separately as a way of estimating the ancestral state; if so, I would have doubts about the validity of modeling the root state of your characters that way. Also, some topologies aren't amenable to this treatment (unless you model just basal portions of the relevant branches as being in the root optimum, an option which is not available in ouch but valid nonetheless). To look at the latter, see Hansen (1997) re: the relationship between alpha and the rate at which a character evolves toward its optimum. If you want to look at the ancestral state using the old versions of ouch, you could try one of the 1.x versions of ouch from the ouch archive on cran (http://cran.r-project.org/src/contrib/Archive/ouch/). Be aware, though, that ouch 2.x is written in S4 and differs substantially from ouch 1.x, but if you have your trees and regimes set up already for ouch 2.x, you should be fine with the old versions. Andrew Hipp Andrew L. Hipp, PhD Plant Systematist and Herbarium Curator The Morton Arboretum 4100 Illinois Route 53 Lisle, IL 60532-1293 ah...@mortonarb.org (630) 725-2094 http://redwood.mortonarb.org/lab_pages/hipp >>> Fabio de Andrade Machado 10/26/2009 3:12 AM >>> Hi Graham, thanks for the reply. I don't know if this a particular problem for my kind of data (various characters), but I'm not receiving any "Theta zero" on the output. Just thetas for each selective regime. Is this a version problem? I'm with ouch v. 2.5-7 I do realize that in complex regimes the contribution of the terminal taxa to the root state is negligible, but as I'm dealing with morphometric data I have the possibility to cross-check the result with fossil data for accuracy. The root state that I obtained with brownian-motion was pretty good, but seemed unreasonable to do this and also test different evolutionary models. cheers Fabio Citando Graham Slater : > Hi Fabio, > > I believe the reconstructed condition at the root is given in OUCH's > output as Theta zero, in the list of thetas. Be careful with this > though, as when selection is strong and you have multiple optima, > the reconstructed root node value tends to be very (unrealistcally) > small. Butler and King (2004) discuss this a little bit more. > > Graham > > Graham Slater > Department of Ecology and Evolutionary Biology > University of California, Los Angeles > 621 Charles E Young Drive South > Los Angeles > CA 90095-1606 > > (310) 825-4669 > gsla...@ucla.edu > > > > > > On Oct 25, 2009, at 12:30 PM, Fabio de Andrade Machado wrote: > >> Dear all, >> >> I'm trying to reconstruct the ancestral state of a small set of >> morphometric traits. My problem is that these variables seams to be >> strongly influenced by selection, something that would violate the >> brownian-motion model. I tested various models for character >> evolution using the 'ouch' package and my best model was fairly >> complex, with various optima and selection regimes based on the >> fossil record. >> >> I've read somewhere that the hansen( ) function reconstruct the >> root's state (which is my main interest) but I could not find the >> output for it. My questions are: >> >> - is there an output for the ancestral state for the root for a >> given fitted model with 'ouch'? >> - if not, is there an output for the phylogenetic var/covar matrix >> for a given model, so that I can reconstruct the ancestral trait >> with least-squares? >> >> I would really appreciate any help. >> >> cheers, >> >> >> -- >> Fabio de Andrade Machado >> Laboratorio de Herpetologia/Morfometria >> Museu de Zoologia da USP >> Av. Nazaré, 481, Ipiranga >> São Paulo, SP, 04263-000 >> Brazil >> +55 11 61658120 >> >> +55 11 82631029 >> >> ___ >> R-sig-phylo mailing list >> R-sig-phylo@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo > > -- Fabio de Andrade Machado Laboratorio de Herpetologia/Morfometria Museu de Zoologia da USP Av. Nazaré, 481, Ipiranga São Paulo, SP, 04263-000 Brazil +55 11 61658120 +55 11 82631029 ___ R-sig-phylo mailing list R-sig-phylo@r-project.org https://stat.ethz.ch/mailman/lis
Re: [R-sig-phylo] ancestral trait reconstruction and OU model
Hi Graham, thanks for the reply. I don't know if this a particular problem for my kind of data (various characters), but I'm not receiving any "Theta zero" on the output. Just thetas for each selective regime. Is this a version problem? I'm with ouch v. 2.5-7 I do realize that in complex regimes the contribution of the terminal taxa to the root state is negligible, but as I'm dealing with morphometric data I have the possibility to cross-check the result with fossil data for accuracy. The root state that I obtained with brownian-motion was pretty good, but seemed unreasonable to do this and also test different evolutionary models. cheers Fabio Citando Graham Slater : Hi Fabio, I believe the reconstructed condition at the root is given in OUCH's output as Theta zero, in the list of thetas. Be careful with this though, as when selection is strong and you have multiple optima, the reconstructed root node value tends to be very (unrealistcally) small. Butler and King (2004) discuss this a little bit more. Graham Graham Slater Department of Ecology and Evolutionary Biology University of California, Los Angeles 621 Charles E Young Drive South Los Angeles CA 90095-1606 (310) 825-4669 gsla...@ucla.edu On Oct 25, 2009, at 12:30 PM, Fabio de Andrade Machado wrote: Dear all, I'm trying to reconstruct the ancestral state of a small set of morphometric traits. My problem is that these variables seams to be strongly influenced by selection, something that would violate the brownian-motion model. I tested various models for character evolution using the 'ouch' package and my best model was fairly complex, with various optima and selection regimes based on the fossil record. I've read somewhere that the hansen( ) function reconstruct the root's state (which is my main interest) but I could not find the output for it. My questions are: - is there an output for the ancestral state for the root for a given fitted model with 'ouch'? - if not, is there an output for the phylogenetic var/covar matrix for a given model, so that I can reconstruct the ancestral trait with least-squares? I would really appreciate any help. cheers, -- Fabio de Andrade Machado Laboratorio de Herpetologia/Morfometria Museu de Zoologia da USP Av. Nazaré, 481, Ipiranga São Paulo, SP, 04263-000 Brazil +55 11 61658120 +55 11 82631029 ___ R-sig-phylo mailing list R-sig-phylo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-phylo -- Fabio de Andrade Machado Laboratorio de Herpetologia/Morfometria Museu de Zoologia da USP Av. Nazaré, 481, Ipiranga São Paulo, SP, 04263-000 Brazil +55 11 61658120 +55 11 82631029 ___ R-sig-phylo mailing list R-sig-phylo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
Re: [R-sig-phylo] ancestral trait reconstruction and OU model
Hi Fabio, I believe the reconstructed condition at the root is given in OUCH's output as Theta zero, in the list of thetas. Be careful with this though, as when selection is strong and you have multiple optima, the reconstructed root node value tends to be very (unrealistcally) small. Butler and King (2004) discuss this a little bit more. Graham Graham Slater Department of Ecology and Evolutionary Biology University of California, Los Angeles 621 Charles E Young Drive South Los Angeles CA 90095-1606 (310) 825-4669 gsla...@ucla.edu On Oct 25, 2009, at 12:30 PM, Fabio de Andrade Machado wrote: Dear all, I'm trying to reconstruct the ancestral state of a small set of morphometric traits. My problem is that these variables seams to be strongly influenced by selection, something that would violate the brownian-motion model. I tested various models for character evolution using the 'ouch' package and my best model was fairly complex, with various optima and selection regimes based on the fossil record. I've read somewhere that the hansen( ) function reconstruct the root's state (which is my main interest) but I could not find the output for it. My questions are: - is there an output for the ancestral state for the root for a given fitted model with 'ouch'? - if not, is there an output for the phylogenetic var/covar matrix for a given model, so that I can reconstruct the ancestral trait with least-squares? I would really appreciate any help. cheers, -- Fabio de Andrade Machado Laboratorio de Herpetologia/Morfometria Museu de Zoologia da USP Av. Nazaré, 481, Ipiranga São Paulo, SP, 04263-000 Brazil +55 11 61658120 +55 11 82631029 ___ R-sig-phylo mailing list R-sig-phylo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-phylo ___ R-sig-phylo mailing list R-sig-phylo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
[R-sig-phylo] ancestral trait reconstruction and OU model
Dear all, I'm trying to reconstruct the ancestral state of a small set of morphometric traits. My problem is that these variables seams to be strongly influenced by selection, something that would violate the brownian-motion model. I tested various models for character evolution using the 'ouch' package and my best model was fairly complex, with various optima and selection regimes based on the fossil record. I've read somewhere that the hansen( ) function reconstruct the root's state (which is my main interest) but I could not find the output for it. My questions are: - is there an output for the ancestral state for the root for a given fitted model with 'ouch'? - if not, is there an output for the phylogenetic var/covar matrix for a given model, so that I can reconstruct the ancestral trait with least-squares? I would really appreciate any help. cheers, -- Fabio de Andrade Machado Laboratorio de Herpetologia/Morfometria Museu de Zoologia da USP Av. Nazaré, 481, Ipiranga São Paulo, SP, 04263-000 Brazil +55 11 61658120 +55 11 82631029 ___ R-sig-phylo mailing list R-sig-phylo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-phylo