stan
stan copied to clipboard
vector-output log density functions
Idea from Aki Vehtari on stan-dev:
In Stan 2.8, log density functions like normal_log() output the sum of the densities of their components (with appropriate broadcasting of scalars).
It would be nice to allow them to be specified to return a vector, for instance for WAIC or LOO calculations. Aki suggests somethign roughly like
log_lik <- normal_ld<norm=true, sum=false>(y | X * b, sigma);
or maybe with vec=true instead of sum=false.
The result of #1683 will help with implementation.
Just found this, this would be really useful in many situations.
+1. There have been more and more cases where I've wanted to do this. It shouldn't be too hard by decorating the log density functions with one more layer of suffix.
Yes I think it's very doable as laid out above, mostly need to find time do it. There's a few places we need to be careful but for the most part a couple template tricks should handle everything
For me I think my question is whether the <> syntax is the right choice for this? The alternative that comes to my mind is if we add a keyword argument syntax