![]() |
primarycensored
|
Helper function to compute the log CDF for the delay distribution. More...

Functions | |
| real | gengamma_lcdf (real y, real shape, real scale, real k) |
| int | dist_has_positive_support (data int dist_id) |
| int | lognormal_lcdf_underflows (real y, real mu, real sigma) |
| real | dist_lcdf (real delay, array[] real params, int dist_id) |
Helper function to compute the log CDF for the delay distribution.
| int dist_has_positive_support | ( | data int | dist_id | ) |
Test whether a delay distribution has support only on the non-negative reals
Used internally to decide whether to short-circuit dist_lcdf at delay <= 0 and whether the ODE / nested CDF calls need to integrate over negative arguments. Returns 1 for distributions with strictly non-negative support, 0 otherwise. IDs match pcd_distributions$stan_id in R.
| dist_id | Distribution identifier |
Definition at line 33 of file primarycensored_ode.stan.

| real dist_lcdf | ( | real | delay, |
| array[]real | params, | ||
| int | dist_id ) |
Compute the log CDF of the delay distribution
| delay | Time delay |
| params | Distribution parameters |
| dist_id | Distribution identifier matching pcd_distributions in R: 1: Lognormal, 2: Gamma, 3: Weibull, 4: Exponential, 5: Generalised gamma, 9: Beta, 12: Cauchy, 13: Chi-square, 15: Gumbel, 16: Inverse Gamma, 17: Logistic, 18: Normal, 19: Inverse Chi-square, 20: Double Exponential, 21: Pareto, 22: Scaled Inverse Chi-square, 23: Student's t, 24: Uniform, 25: von Mises, 26: Non-parametric step (params = [boundaries (K+1), pmf (K)], length 2*K + 1), 27/28: Non-parametric discrete hazard (params = [boundaries (K+1), hazards (K)], length 2*K + 1; hazards[K] must equal 1). 27 and 28 share this likelihood and only differ in the prior on the hazards (random walk for 27, IID random effect for 28). |
Definition at line 107 of file primarycensored_ode.stan.


| real gengamma_lcdf | ( | real | y, |
| real | shape, | ||
| real | scale, | ||
| real | k ) |
Compute the log CDF of the generalised gamma distribution
Uses the Stacy parameterisation of flexsurv::pgengamma.orig() in R. The CDF is the regularised lower incomplete gamma function P(k, (y / scale)^shape), so the Gamma (shape = 1) and Weibull (k = 1) distributions are special cases.
| y | Value at which to evaluate the log CDF (y > 0) |
| shape | Shape (power) parameter |
| scale | Scale parameter |
| k | Shape parameter of the underlying Gamma distribution |
Definition at line 17 of file primarycensored_ode.stan.

| int lognormal_lcdf_underflows | ( | real | y, |
| real | mu, | ||
| real | sigma ) |
Test whether lognormal_lcdf underflows to -inf at these arguments
Underflow makes the autodiff partial 0 / 0, and Stan's reverse pass chains that NaN into mu and sigma whatever weight the term is later given. Callers must therefore test this before calling lognormal_lcdf, rather than checking its result.
The threshold is -38 on the standardised scale (log(y) - mu) / sigma, inside the region where the CDF is still representable: log F(y) is below -726 there, so a term dropped on this test cannot change a result at double precision.
| y | Value at which the log CDF would be evaluated |
| mu | Location parameter on the log scale |
| sigma | Scale parameter on the log scale |
lognormal_lcdf would underflow or y is non-positive, 0 otherwise Definition at line 69 of file primarycensored_ode.stan.
