I'm trying to write a survival model of fossil species durations. In this case, the minimal possible duration for a species is 1. Also, the general idea in paleontology is that we are only observing a small amount of the actual species that existed. The fossil record then produces a natural form of truncation.
I have a large amount of durations. Some of these durations are right-censored because the species didn't go extinct. I'm fitting a Weibull distribution to the data.
For the uncensored observations, this is pretty easy. I increment the log probability by log Weibull at the observed duration (dur_unc) and then increment by the negative log complementary cummulative density function evaluated at the truncation point (1). This follows from page 248 in the Stan 2.5 manual. I'm using the simple T[,] method from Stan because it is much cleaner.
for(i in 1:N)
dur_unc[i] ~ weibull(alpha,sigma) T[1,];
For the censored observations I'm integrating out the censored values by incrementing the log probability by the log complementary cummulative density function evaluated at the (censored) duration (dur_cen).
increment_log_prob(weibull_ccdf_log(dur_cen,alpha,sigma));
How do I handle censored data drawn from a truncated distribution like this? The uncensored example involves just subtracting the log ccdf which was the denominator from the truncated distribution. What is the correct denominator/thing to subtract after incrementing the log probability using the log ccdf already?
Hopefully this make sense.
This is a similar question, but for BUGS. It is mostly unanswered: Is it possible to model BOTH censoring and truncation in BUGS?