stan-dev / stan

Stan development repository. The master branch contains the current release. The develop branch contains the latest stable development. See the Developer Process Wiki for details.
https://mc-stan.org
BSD 3-Clause "New" or "Revised" License
2.59k stars 368 forks source link

interval CDF differences for interval censoring/truncation #1154

Open bob-carpenter opened 9 years ago

bob-carpenter commented 9 years ago

It'd be useful for both efficiency and ease of notation if we had a function defined by:

foo_cdf_diff_log(U,L,theta) 

  =def=  log(foo_cdf(U,theta) - foo_cdf(L,theta)) 

  =  log_diff_exp(foo_cdf_log(U,theta), foo_cdf_log(L,theta))

The negation of this is what gets added when T[L,U] is added to probability function foo.

Then we'd use those for censoring and truncation instead of the expression the right, which we're using now. It should be done with a log-sum-exp type operation. Even a utility implementation that just used Stan's existing log_diff_exp function would be useful.

syclik commented 7 years ago

We should wait on stan-dev/math#320 before implementing this.

syclik commented 7 years ago

We'll also need to add functions in math.