Code implementation in felsenstein_tree.R
- I consider a star tree and a Felsenstein tree each of N nodes; M = (N+1)/2 tips.
- I consider an uncorrelated data set of M normal random variables, such as would be generated by either BM or OU models on the star tree.
- I produce a correlated data set such as would be generated by Brownian motion on the felsenstein tree.
- I generate 8 model fits – fitting BM and OU to each tree under each data set.
- For the four fits on the star tree, the likelihood of BM and OU are identical within each dataset, as required. The likelihood of OU/BM fit is higher on the uncorrelated data set (since it is normal, not bimodal), as expected.
- On the Felsenstein tree, the OU model does better than the BM on the uncorrelated data (as expected, since the OU model produces something asymptotically normal on that tree (i.e. at least if branch lengths are long enough relative to alpha), while the BM does better than OU on the correlated data (by the same logic).
Output of these results found in revision 209 in the subversion repository.
Discussion and Future Goals
- branch lengths probably not long enough relative to alpha to allow a more powerful discrimination, or does that simply scale out? Also level of heterogeniety in the original data (i.e. are the two peaks in the correlated model far enough apart?