In the paper it emphasizes:

"When the rate k is adjusted, the offset parameter m must also be adjusted to connect the endpoints of the segments. The correct adjustment at changepoint j is easily computed as:"

$$\gamma_j = \left(s_j - m - \sum_{l<j}\gamma_l \right)\left(1 - \frac{k + \sum_{l<j} \delta_l}{k + \sum_{l \leq j} \delta_l} \right)$$

My understanding is, adjustment makes sure function is still continuous.

I have 2 questions regarding this model that are not explained in the paper:

How do we come up with the result function is not continuous without the adjustment factor, and how do we compute the adjustment factor?

Link to paper: https://peerj.com/preprints/3190/


2 Answers 2


Asked a friend, for anyone interested here how to come up with adjustment factor

Computing adjustment factor


The answer has been accepted, but I just want to point out a more straightforward way to arrive there. The key to make sense of the formula is to recognize that both final growth rates and offsets are cumulative sums of respective adjustments, plus the initial rate and offset ($k$ and $m$). It's instantly clear from the code.

They model logistic growth with saturation:
$$g(t) = \frac{C}{1+exp(-k(t-b))}$$
Denote $k_i$, $b_i$ and $s_i$ values of growth rates, offsets and starting times for segment $i$. We need this relation to hold:
$$k_i(s_i - b_i) = k_{i+1}(s_i - b_{i+1})$$ where $s_i$ is a changepoint.

Assuming we already know offsets up to the current point, we need to find next offset $\gamma_{i+1}$ such that
$$k_i(s_i - b_i) = (k_i + \delta_{i+1})(s_i - b_i - \gamma_{i+1})$$ Left hand side expression gets cancelled out so we're left with $$\delta_{i+1}(s_i - b_i) = \gamma_{i+1}(k_i+\delta_{i+1})$$ $$\gamma_{i+1} = \frac{\delta_{i+1}(s_i - b_i)}{k_i+\delta_{i+1}}=\frac{(k_{i+1} - k_i)(t_i - b_i)}{k_{i+1}} = (1 - \frac{k_i}{k_{i+1}})(s_i - b_i)$$ which becomes the target expression after you expand rates and offsets as cumulative sums of adjustments.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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