Gompertz function


Purpose

Gompertz function is used to approximate growth up to limit. It is the most popular function to estimate growth, probability, and proportion along with logit function. It is more general type than logit of Sigmoid function class.

Definition

Gompertz function is defined as;

G(x) = ae^{be^{cx}}

where a ~ (0, ∞), b ~ (-∞, 0), and c ~ (-∞, 0).

The 3 coefficients control the shape of the function as below;

  • a: upper limit
  • b: growth rate
  • c: acceleration rate

Here is a graph of Gompertz function.

Standard Gompertz

Gompertz function with a = 1, and b = c = -1. You can see quick jump from bottom and slow approach to top. This asymmetry property is very useful for approximation.

 

Details

For more understanding, here is a brief summary about the effect of 3 coefficients.

  • a is just upper limit. It holds speed and acceleration. Thus, for fixed b and c, relative value of G(x) to upper limit a is always same.
  • b controls speed; note it holds convergence to upper limit, significantly moving initial bounce from lower limit; e.g. given a = 1 and c = –1, it always converges to a at around x = 8 for any value of b.
  • c controls acceleration; note it holds (0, G(x)); e.g. given a = 1 and b = –1, Gompertz always passes through (0, 0.367879) for any value of c.

Here are 3 graphs for various numbers of 3 parameters.

Gompertz A

Gompertz function for a = 0.5, 1, and 3 with b = c = –1. You can see all 3 curves pass (0.37, a/2) approximately. As mentioned earlier, a holds convergence speed.

Gompertz B

Gompertz function for b = –0.5, –1, and –3 with a = 1 and c = –1. All curves converge to a at around x = 8, while passing (-2.62, 0.001), (-1.93, 0.001), and (-1.12, 0.001) approximately; b affects convergence to bottom.

Gompertz C

Gompertz function for c = –0.5, –1, and –3 with a = 1 and b = –1. All 3 curves pass (0, 0.367879) approximately; c moves convergence to both top and bottom, holding (0, G(0)).

 

Notes

For more understanding, here is a brief note about b and c.

  • Given fixed a and c, if b = –1 for G1(x) and b = –3 for G2(x), then it holds;

3ln( \frac{G_1(x_{i+1})}{G_1(x_i)} ) = ln( \frac{G_2(x_{i+1})}{G_2(x_i)} )

  • Given fixed a and b, if c = –1 for G1(x) and c = –3 for G2(x), then it holds;

3ln( ln( \frac{G_1(x_{i+2})}{G_1(x_{i+1})}) - ln( \frac{G_1(x_{i+1})}{G_1(x_i)})) = ln( ln( \frac{G_2(x_{i+2})}{G_2(x_{i+1})}) - ln( \frac{G_2(x_{i+1})}{G_2(x_i)}))

Leave a comment