-
Notifications
You must be signed in to change notification settings - Fork 33
Open
Labels
enhancementNew feature or requestNew feature or request
Description
In emcee
I added a PR for having named parameters (proposal, and the PR). This allows for dict-like access to the parameters rather than positional references. Example:
x = np.random.randn(100) # 100 samples ~ N(0, 1)
def lnpdf(self, params: Dict[str, float]) -> np.float64:
# A gaussian PDF with named parameters
mean = params["mean"]
var = params["var"]
if var <= 0:
return -np.inf
return (
-0.5 * ((mean - self.x) ** 2 / var + np.log(2 * np.pi * var)).sum()
)
The main benefit is this allows one to build hierarchical models without having to remember "oh the first parameter for the N-th submodel is at position XYZ" (a common source of bugs).
Since zeus
has the same API, I'd be happy to add it here too.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request