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.