The Ornstein--Uhlenbeck (OU) process can be seen as a generalization
  of the Brownian motion process. In the latter, characters are assumed
  to evolve randomly under a random walk, that is change is equally
  likely in any direction. In the OU model, change is more likely
  towards the direction of an optimum (denoted \(\theta\)) with
  a strength controlled by a parameter denoted \(\alpha\).
The present function fits a model where the optimum parameter
  \(\theta\), is allowed to vary throughout the tree. This is
  specified with the argument node: \(\theta\) changes
  after each node whose number is given there. Note that the optimum
  changes only for the lineages which are descendants of this
  node.
Hansen (1997) recommends to not estimate \(\alpha\) together
  with the other parameters. The present function allows this by giving
  a numeric value to the argument alpha. By default, this
  parameter is estimated, but this seems to yield very large
  standard-errors, thus validating Hansen's recommendation. In practice,
  a ``poor man estimation'' of \(\alpha\) can be done by
  repeating the function call with different values of alpha, and
  selecting the one that minimizes the deviance (see Hansen 1997 for an
  example).
If x has names, its values are matched to the tip labels of
  phy, otherwise its values are taken to be in the same order
  than the tip labels of phy.
The user must be careful here since the function requires that both
  series of names perfectly match, so this operation may fail if there
  is a typing or syntax error. If both series of names do not match, the
  values in the x are taken to be in the same order than the tip
  labels of phy, and a warning message is issued.