# 8.3: Using Maximum likelihood to Estimate Parameters of the Mk model

- Page ID
- 21623

The algorithm in the appendix below gives the likelihood for any particular discrete-state Markov model on a tree, but requires us to specify a value of the rate parameter *q*. In the example given, this rate parameter *q* = 1.0 corresponds to a lnL of -6.5. But is this the best value of *q* to use for our Mk model? Probably not. We can use maximum likelihood to find a better estimate of this parameter.

If we apply the pruning algorithm across a range of different values of *q*, the likelihood changes. To find the ML estimate of *q*, we can again use numerical optimization methods, calculating the likelihood by pruning for many values of *q* and finding the maximum.

Applying this method to the lizard data, we obtain a maximum liklihood estimate of *q* = 0.001850204 corresponding to *l**n**L* = −80.487176.

The example above considers maximization of a single parameter, which is a relatively simple problem. When we extend this to a multi-parameter model – for example, the extended Mk model will all rates different (ARD) – maximizing the likelihood becomes much more difficult. R packages solve this problem by using sophisticated algorithms and applying them multiple times to make sure that the value found is actually a maximum.