-
Notifications
You must be signed in to change notification settings - Fork 1
Development plan
The majority of code is to be within Python modules and structured by using classes corresponding to the main concepts :
- density estimator
- optimization via cross-validation
- uncertainty estimation via bootstrap iteration
- reweighting of input measurement samples
Most basic element, can give a density estimate at any point in physical parameter space.
Information required: Physical parameter values for observations/events (n-dimensional), bandwidths (n-dimensional)
- The bandwidths should either be fixed (1 bw per dimension) or general/adaptive, ie 1 bw per dimension for each observation
Auxiliary information: Parameter names, log parameter flags (is the parameter the log of a physical quantity), units
Initialization: Train base density estimator with the given parameter points and bandwidths
Attributes: Aux information, parameter values, bandwidths, base estimator (ie how the KDE is actually evaluated)
Method: Evaluate density at any parameter point or array of points
Method: Set bandwidths/alpha & retrain
(Method: Get analytic error estimate as in first awKDE pop paper?)
Subclass of the basic KDE which makes an initial pilot estimate with fixed bw (but still different over each dimension), evaluates it at the observed points and applies an adaptive factor using the adaptive alpha parameter
Additional information: adaptive parameter ('alpha')
Method: Train initial KDE with fixed (non-adaptive) bw
Method: Evaluate/set adaptive bw for each event
Method: Train adaptive KDE
Method: Evaluate adaptive density at any point or array of points