On 8/26/12 6:24 PM, Marcus Brubaker wrote:
>> On 8/26/12 1:49 PM, Matt Hoffman wrote:
>>>
>>> We should probably have a check somewhere that tests if any parameter
>>> goes (without rejection) to +-inf on its unconstrained scale, since
>>> the only way that can happen is if the posterior is improper.
> I'd put the check in the parameter transforms with an error message
> that suggests it may be due to an improperly specified model/prior.
> The leapfrog should probably continue assuming it's not the first step
> as it could (in theory) be a proper model.
That would be really easy and should catch any
error in untransformed parameters being infinite.
It's below the level of our C++ API, though, so
it wouldn't catch the issues in models coded up
directly in C++. I suppose we could leave that to
the C++ users, as they'll be implementing the log
prob function that takes the unconstrained params
directly.
- Bob