-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
Description
ExponentialClassFamily: support for quasi-exponential families
Task
Design how ExponentialClassFamily should handle “quasi-exponential” families, where one or more parameters explicitly define the support, so that the support depends on the parameters.
These are families that are not strictly exponential-class under the usual definition (support independent of θ), but are still often treated using similar machinery.
Requirements
1. Support-dependent parameters
Extend the design so that it is possible to distinguish:
- structural (natural) parameters that enter the exponential part via
η(θ)andT(x), - support parameters that only affect the support (domain of
x) but not the exponential form.
Examples:
- uniform on
[0, θ], - shifted exponential with support
[x0, ∞).
2. API design
Propose and implement a simple mechanism in ExponentialClassFamily to:
- store which parameters define the support,
- ensure that:
T(x)andη(θ)refer only to the structural (exponential) part,- support conditions are checked during density evaluation.
Possible approaches:
- a dedicated field that describes support parameters vs natural parameters,
- an internal split of
thetainto(theta_exponential, theta_support).
3. Limitations and flags
Document and encode possible limitations:
- for quasi-exponential families, generic conjugate prior and posterior predictive formulas may not hold as-is;
- some methods (e.g.
posterior_predictive) may:- either be disabled,
- or explicitly documented as “not supported” unless additional assumptions are met.
Add a simple flag or property such as:
is_strict_exponential_classvsis_quasi_exponential_class,
so that higher-level code can make decisions based on this.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
No status