I need to model a logistic curve that approximately fits three values (0, 0), (p, 0.9), (q, 1.0) where p, q are known positive integer constants. Actually I don't need exactly 0.9 on p. However I need sudden growth since p to q.

My plan is to first model a logistic curve f(x) that spans [0, q] and then add another logistic function h(x) with it that spans [p, q]

Then use $g(x) = \frac{1}{2}(f(x)+h(x))$ as the logistic weight function.

(p, q) is constant for one problem. But there are multiple such problem instances. So the necessary parameters of the logistic curve has to be calculated for each (p, q) combination computationally. I am trying to use the generalized logistic function, I can control the mid point of the curve but how can I model the steepness such that it spans the desired range ?


I have derived the values of $b$ and $c$ for two values that fits two points $(x_{1}, y_{1}), (x_{2}, y_{2})$ using Gompertz function.

$$y = ae^{-be^{-cx}} \Rightarrow log(y) = log(a)-be^{-cx} \Rightarrow e^{-cx} =\frac{log(a)-log(y)}{b} \Rightarrow c = \frac{log\Big(\frac{log(a)-log(y)}{b}\Big)}{-x}$$

Assuming the higher asymptote $a=1$ yields

$$c = \frac{log\Big(\frac{-log(y)}{b}\Big)}{-x} \dots (i)$$

Now the curve must fit both $(x_{1}, y_{1}), (x_{2}, y_{2})$

$$\therefore c = \frac{log\Big(\frac{-log(y_{1})}{b}\Big)}{-x_{1}} = \frac{log\Big(\frac{-log(y_{2})}{b}\Big)}{-x_{2}} \Rightarrow \frac{log(-log(y_{1}))-log(b)}{x_{1}} = \frac{log(-log(y_{2}))-log(b)}{x_{2}}$$ $$\Rightarrow x_{2}log(-log(y_{1}))-x_{2}log(b) =x_{1}log(-log(y2)) - x_{1}log(b)$$ $$\Rightarrow (x_{1}-x_{2})log(b) = x_{1}log(-log(y_{2}))-x_{2}log(-log(y_{1}))$$ $$b = e^\frac{x_{1}log(-log(y_{2}))-x_{2}log(-log(y_{1}))}{x_{1}-x2} \dots (ii)$$

Now substituting the value of $(x_{1}, y_{1})$ or $(x_{2}, y_{2})$ in place of $x, y$ and substituting $b$ from (ii) in (i) yields the value of c.

Currently I am modeling the first curve to fit $(0.1, 0.01), (p, 0.9)$ and yield $b_{1}, c_{1}$. Similarly the second curve is fitted to $(lp, 0.01), (p, 0.9)$ where $l$ is a multiplier $0< l < 1$. The green curve is teh actual weight function I want.

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.