Skip to main content
`Ctrl`+`K`

# skbio.diversity.alpha.michaelis_menten_fit

skbio.diversity.alpha.michaelis_menten_fit(counts, num_repeats=1, params_guess=None)

  Calculate Michaelis-Menten fit to rarefaction curve of observed taxa.

  The Michaelis-Menten equation estimates the asymptote of the rarefaction curve. It is an estimator of the true richness of a community given the observation. It is defined as:

  \[S = \frac{nS_{max}}{n+B}\]

  where \(n\) is the number of individuals and \(S\) is the number of taxa. This function estimates the \(S_{max}\) parameter.

  The fit is made to datapoints for \(n=1,2,...,N\), where \(N\) is the total number of individuals (sum of abundances for all taxa). \(S\) is the number of taxa represented in a random sample of \(n\) individuals.

  Parameters:
    counts 1-D array_like, int

      Vector of counts.

    num_repeats int, optional

      The number of times to perform rarefaction (subsampling without replacement) at each value of \(n\).

    params_guess tuple, optional

      Initial guess of \(S_{max}\) and \(B\). If `None`, default guess for \(S_{max}\) is \(S\) (as \(S_{max}\) should be >= \(S\)) and default guess for \(B\) is `round(N / 2)`.

  Returns:
    float

      Estimate of the \(S_{max}\) parameter in the Michaelis-Menten equation.

  See also

  `skbio.stats.subsample_counts`

  Notes

  There is some controversy about how to do the fitting. The ML model given in [1] is based on the assumption that error is roughly proportional to magnitude of observation, reasonable for enzyme kinetics but not reasonable for rarefaction data. Here we just do a nonlinear curve fit for the parameters using least-squares.

  References

  [1]

  Raaijmakers, J. G. W. 1987 Statistical analysis of the Michaelis-Menten equation. Biometrics 43, 793-803.