How to approximate a sigmoid by an exponential

1.4k Views Asked by At

Assume we have a sigmoid function: $$y=\frac{a}{1+\exp(-b(x-c))} \qquad (a,b,c>0)$$ Assume we are interested in the "positive first part": $0\leq{x}\leq{c}$, where the curve "looks" exponential.

From the equation of $y$, is there any method for calculating an exponential approximation of $y$?

I mean, could we derive some $\alpha$ and some $\beta$ from parameters $a,b,c$ so that $y \approxeq \alpha \exp(\beta x)$ when $0\leq{x}\leq{c}$?

Didn't find anything about the subject. I'm interested in this question for the following reason: suppose we know that the evolution of a certain phenomenon is described by a sigmoid curve (parameters are known); during the first part of growth $(0\leq{x}\leq{c})$, we want to estimate the doubling time $\delta$ (assume $x$ is $time$) of the phenomenon: $(y(x+\delta)=2y(x))$; of course, from the equation of the sigmoid curve itself, the doubling time is not constant; but, if we could give an exponential approximation (assuming it's a "good" approximation) such as $\alpha \exp(\beta x)$, then we could estimate the doubling time by $\delta=\ln(2) / \beta$...

I hope the question is clear enough... Any ideas appreciated.

3

There are 3 best solutions below

7
On

Your sigmoid behaves like an exponential when $y$ is small, which means that $e^{-b(x-c)}$ is big (namely $x\ll c$). If this is the case ($x\ll c$), then you can kill the $1$ in the denominator (because the $\exp$ term is much bigger than unity) and you are left with $$ y \approx a e^{ b(x-c)} $$ that is an increasing exponential (as expected).

EDIT: in the range $0<x<c$ you can find the tangent exponential function to a point of your curve (like the tangent line), but this does not guarantees that you are actually doing a good approximation away from the selected point: in general you cannot achieve what you are asking (I mean, for a general value of $c$ and $b$). You can try with $$ y = \frac{a}{2} e^{b(x-c)/2} $$ that is the exponential tangent to your curve in $x=c$ and see if this curves looks good for your particular application. Other "tangent exponential" for points between $0$ and $c$ are difficult to find analytically (but easy to find numerically).

0
On

Sorry but I guess that your request is a little flawed. When you reach the saturated zone, the doubling time varies to infinity and no approximation will work. Past the inflection point, doubling is even impossible.

In the unsaturated zone, the term $1$ is neglectable and you have the exponential

$$ae^{b(x-c)}.$$

enter image description here

If you want to cheat anyway, compute two points on the curve at arbitrary $x$, undo $a$, take the logarithm and compute the equation of the line by these two points. This gives you an "equivalent" $b$.

enter image description here

1
On

For homogeneity reasons, let me consider that we want to approximate as well as possible $$f(x)=\frac{a}{1+\exp(-b(x-c))} \qquad \text{by} \qquad g(x)=\alpha\exp(\beta(x-c)) $$ for $0 \leq x \leq c$.

The ideal would be to compute $$\Phi(\alpha,\beta)=\int_0^c \big[f(x)-g(x)\big]^2 \,dx$$ and to minimize the result with respect to $\alpha$ and $\beta$. This would have given a formal solution. However, this is impossible since we cannot compute the required integrals.

Equivalent would be to generate a series of $n$ data points $(x_i,f(x_i))$ and perform an exponential fit which would give, by a nonlinear regression, the "best" $\alpha$ and $\beta$. This is very simple to do since, after linearization (taking logarithms) a linear regression would provide good estimates to start with. But, here again, no formal solution.

However, we could skip the nonlinear regression using the trick given here. Let $t_i=x_i-c$ and $y_i=f(x_i)$ and use formulae $(9)$ and $(10)$ in the linked page (do not forget to replace the $x_i$ of the formulae by $t_i$).

The minimum you could to is to match the values at the end points $$f(0)=g(0) \implies \frac{a}{1+e^{b c}}=\alpha e^{-\beta c}$$ $$f(c)=g(c) \implies \frac{a}{2}=\alpha$$ leading to $$\alpha =\frac{a}{2} \qquad \text{and} \qquad \beta=\frac{\log \left(\frac{1}{2} \left(1+e^{b c}\right)\right)}{c}$$

At the midpoint, we have now to compare $$f\left(\frac{c}{2}\right)=\frac{a}{1+e^{\frac{b c}{2}}}\qquad \text{and} \qquad g\left(\frac{c}{2}\right)=\frac{a}{ \sqrt{2(1+e^{b c}})}$$ that is to say $$1+e^{\frac{k}{2}}\qquad \text{and} \qquad \sqrt{2(1+e^{k}})$$ If $k$ is small, they are not very different since $$1+e^{\frac{k}{2}}=2+\frac{k}{2}+\frac{2k^2}{16}+O\left(k^3\right)\qquad \text{and} \qquad \sqrt{2(1+e^{k}})=2+\frac{k}{2}+\frac{3 k^2}{16}+O\left(k^3\right)$$