Sigmoid function with separate control of derivative at 0 and sharpness of bend.

748 Views Asked by At

For a physical relationship, $f(x)$, I'm trying to model, i have a fairly good determination of some of the boundaries, such that

$ f(0) = 0$

$f'(0) = B$

$ \lim_{x\to\infty} f = A $

So far, what I have is:

$ f(x) = A \tanh(b x)$

This fulfills the requirements listed. But one thing that is not known until data becomes available, is how fast f approaches A. So I have narrowed my needs down to that I need a Sigmoid function, that will allow me to vary the rate of convergence to the upper asymptote independently of the derivative at zero.

Wikipedia has an illustration of what I need - but rather than a discrete set of functions, I need to vary the curvature with a parameter.

Please give suggestions for closed form solutions that satisfy these requirements.

/AdamAL - an engineer with a math problem

Edit The function does not need to be true Sigmoid. Fulfilling the requirements for $x>0 $ is sufficient. However, sharpness of bend parameter $c\to\infty$, the solution should tend to the piecewise linear given by, f=$Bx$ and $f=A$, respectively

1

There are 1 best solutions below

3
On

Not sure I am the best to answer something like this.

Will you need the function to be symmetrical for negative $x$ values, because you don't give any conditions for that? In oher words, must this be a sigmoid function?

Otherwise, maybe you can multiply the function you have by some factor, like:

$$f(x) = A \tanh (bx)(1-xe^{-cx})$$

It should be OK at the boundaries $x=0$ and $x=+\infty$ because:

  • the extra factor cannot change the fact that $f(0)=0$,
  • the rule for the derivative of a product gives an unchanged $f'(0)$ value compared to that of your function since the new factor evaluated at $x=0$ is $1$, and the second term from the product rule (Leibniz) is already $0$ because $\tanh$ is zero.
  • $f(+\infty)$ is still $A$ because the new factor converges to $1$ as $x\to+\infty$.

Then you can use the new parameter $c$ to control how fast the convergence towards the horizontal asymptote is.

However, I cannot "justify" just why I chose this specific "correction" factor, and other approaches would certainly have worked too.

And as I indicated, now $f$ is no longer a sigmoid function if you consider also the domain $x<0$.

Maybe someone else will come up with a more "motivated" or even simpler family of functions? Depending on the physics, some other function might be more natural, I don't know.

Edit: If you want nice behavior for negative $x$, I guess you can just make the new factor an even function of $x$, so:

$$f(x) = A \tanh (bx)(1-x^2e^{-cx^2})$$