The curve fitting platform allows you to select from a library of model types.

In this post I take a closer look at the different model types that are available to support curve fitting.

Each of the model categories contain a variety of models with differing numbers of parameters:

#### Polynomial Models

If you use linear regression (standard least squares) you will be familiar with this type of model:

[latex size=”1″]y=\ \beta_0+\ \beta_1\ x+\ \beta_2\ x^2+\ \beta_3\ x^3\ \ + [/latex] . . .

Whilst gradient descent algorithms can be used to estimate these parameters, the primary role of curve fitting is to fit parameters that form part of a nonlinear equation – typically representing some mechanistic model relating to a scientific application. All other model types fall into this category of nonlinear models.

#### Sigmoid / Logistic Curves

The basic sigmoid function takes the following form:

[latex size=”1″]y = [/latex] [latex size=”2″]\frac{1}{1 + e^{-x}}[/latex]

It characterises the case where an unbounded x variable is transformed into a y variable that is contained within a range 0 to 1. It is therefore particularly useful for modelling a response that represents a proportion.

The logistic function introduces one or more parameters to generalise the behaviour of this S-curve. For example, a parameter can be introduced to control the growth rate:

[latex size=”1″]y = [/latex] [latex size=”2″]\frac{1}{1 + e^{-a \cdot x}}[/latex]

The curve has a point of inflection at x=0. The introduction of a second parameter allows the location of this inflection point to be adjusted:

[latex size=”1″]y = [/latex] [latex size=”2″]\frac{1}{1 + e^{-a \cdot (x-b)}}[/latex]

This is the formula for the *Logistic 2P* model.

Whilst y is a continuous response, these types of model are often used to model a binary outcome (0 or 1). In this case the y value is interpreted as the probability of an outcome of 1 given a specified value of x.

The *Logistic 3P* model introduces a third parameter allowing the curve to have an upper asymptote other than 1:

[latex size=”1″]y = [/latex] [latex size=”2″]\frac{c}{1 + e^{-a \cdot (x-b)}}[/latex]

And the *Logistic 4P* model provides a description of both upper and lower asymptotes with parameters c and d:

[latex size=”1″]y = d + [/latex] [latex size=”2″]\frac{c-d}{1 + e^{-a \cdot (x-b)}}[/latex]

There is also a *Logistic 5P* model that allows the curve to be asymmetric about the inflection point:

[latex size=”1″]y = d + [/latex] [latex size=”2″]\frac{c-d}{[{1 + e^{-a \cdot (x-b)}}]^f}[/latex]

#### Sigmoid/Probit Curves

The logistic functions described earlier typically represent the case where the response is derived from the probability of a binary outcome. Alternatively, we can model the S-curve on the basis that it represents the cumulative distribution function Φ of a Normal distribution:

[latex size=”1″]y = \Phi [/latex][latex size=”2″](\frac{x-b}{a})[/latex]

where the parameter *a* represents the growth rate and *b* is the point of inflection. This is the *Probit 2P* model.

The *Probit 4P* model introduces parameters to control the lower and upper asymptotes:

[latex size=”1″]y = c+(d-c)\cdot\Phi [/latex][latex size=”2″](\frac{x-b}{a})[/latex]

#### Sigmoid/Gompertz Curves

The 5-parameter logistic model describes an S-shaped curve that is asymmetric about the inflection point. A Gompertz curve can be considered to be a special case of this model. As described in Wikipedia the model was first proposed as a description of human mortality.

[latex size=”2″]y = a\cdot e^{-e^{-b(x-c)}} [/latex]

A four-parameter model is also available that provides parameters for both lower and upper asymptotes.

#### Sigmoid/Weibull Growth Curve

Another S-shaped curve is the *Weibull Growth* model, often used in reliability engineering:

[latex size=”2″]y = a[1-e^{-(x/c)^b} ][/latex]

Where *a* is the upper asymptote, *b* is the growth rate, and *c* is the inflection point.

#### Exponential Growth and Decay

*Exponential 2P* is the basic exponential model:

[latex size=”2″]y = b\cdot e^{\lambda \cdot x}[/latex]

The parameter *b* is a scaling parameter and λ represents the growth rate. If λ is negative, then it represents the rate of decay.

The *Exponential 3P* model adds an additive term to control the asymptote of the curve:

[latex size=”2″]y = a+b\cdot e^{\lambda \cdot x}[/latex]

An alternative parameterisation is the mechanistic growth model:

[latex size=”2″]y = a(1-b\cdot e^{\lambda \cdot x})[/latex]

JMP also supports bi-exponential models. These models are the sum of two exponentials and appear as 4-parameter and 5-parameter models:

[latex size=”2″]y = a\cdot e^{-b \cdot x}+c\cdot e^{-d \cdot x}[/latex]

[latex size=”2″]y = a+b\cdot e^{-c \cdot x}+d\cdot e^{-e \cdot x}[/latex]

#### Cell Growth

Growth of cells in a bioreactor can be characterised by a number of phases:

JMP’s *Cell Growth 4P* model takes the form:

[latex size=”2″]y = \frac{ab}{(a-b) e^{-c \cdot x}+b e^{d \cdot x}}[/latex]

where:

a = peak value if mortality rate is zero

b = response at time zero

c = cell division rate

d = cell mortality rate

#### Peak Models

The bell-shaped curve associated with a Normal distribution is more generically described by a *Gaussian* function of the form:

[latex size=”2″]y = ae^{\frac{(x-b)^2}{2c^2}}[/latex]

The Lorentzian curve is superficially similar to the Gaussian bell-shape, but has heavier tails:

[latex size=”2″]y = \frac{ab^2}{(x-c)^2+b^2}[/latex]

Peak curves are used, for example, to model spectroscopic peaks.

For both models the parameter *a* corresponds to the maximum value of the peak; *b* represents the growth rate, and *c* is the critical point: the value of x where the curve reaches its maximum value.

#### Pharmacokinetic Models

Pharmocokinetic models seek to describe the kinetics of a drug once it has been administered into the body. The *One Compartment Oral Dose* model has the following parameterisation:

[latex size=”2″]y = \frac{abc}{c-b}(e^{-b\cdot x}-e^{-c\cdot x})[/latex]

where:

a = area under the curve

b = elimination rate

c = absorption rate

JMP also supports a *Two Compartment IV Bolus Dose* model, but that is beyond my latex skills!

#### Michaelis-Menten Model

Named after the biochemists Leonor Michaelis (1875-1949) and Maud Menten (1879-1960), this model is used to describe enzyme kinetics:

[latex size=”2″]y = \frac{ax}{b+x}[/latex]

The parameter *a* represents the maximum reaction rate (in literature often referred to as V_{max}), and the *b* parameter (in literature often referred to as the Michaelis constant K_{m}) is the value of x such that the response is half V_{max} ; it is an inverse measure of the substrates affinity for the enzyme.

#### And There Is More

We are not limited to selecting from a pre-defined library of curve types. Any nonlinear function can be expressed as a column formula and fitted using the *Nonlinear Platform*. In fact it is one of my most frequently used platforms. But that is a topic for another day.