|
1 | 1 | ---8<--- "README.md:description" |
| 2 | +### Modular Capabilities of `elicito` |
| 3 | +Owing to its modular design, `elicito` accommodates key components across the entire elicitation workflow: |
| 4 | + |
| 5 | ++ **Generative Models**: Support for a wide range of generative models (i.e., the statistical models describing the data-generating process). |
| 6 | ++ **Expert Knowledge**: Flexibility in defining different types of expert knowledge (i.e., the specific information elicited from the domain expert). |
| 7 | ++ **Elicitation Techniques**: Implementation of various types of elicitation techniques (e.g., quantile-based, histogram-based, or moment-based elicitation). |
| 8 | ++ **Loss Functions**: Integration of loss functions (i.e., the criterion used to quantify the discrepancy between the expert knowledge and the simulated model quantities). |
| 9 | + |
| 10 | +### Computational Workflow |
| 11 | +The core logic of the expert prior elicitation method proposed in Bockting et al. (2024) can be summarized in a five-step workflow: |
| 12 | + |
| 13 | +/// note | Core logic of method underlying elicito |
| 14 | +1. *Define the generative model*: Specify the generative model, including the functional form |
| 15 | +of the data distribution and the parametric family of prior distributions. |
| 16 | +2. *Define target quantities and elicitation techniques*: Select the set of target quantities |
| 17 | +and determine the elicitation techniques to query the expert (cf. elicited summaries). |
| 18 | +3. *Simulate elicited summaries*: Draw samples from the generative model and compute the |
| 19 | +corresponding set of simulated elicited summaries. |
| 20 | +4. *Evaluate discrepancy between simulated and expert-elicited summaries*: Assess the |
| 21 | +discrepancy between the simulated and expert-elicited summaries using a multi-objective loss |
| 22 | +function. |
| 23 | +5. *Adjust prior hyperparameters to minimize discrepancy*: Apply an optimization scheme to |
| 24 | +update the prior hyperparameters such that the loss function is minimized. |
| 25 | +/// |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | +The core computational workflow of the expert prior elicitation method implemented in `elicito` is based on a simulation-based optimization approach: Given a generative model and a set of initial hyperparameters defining the prior distributions, the model can be run in forward mode to simulate elicited summaries by computing the predefined target quantities and summary statistics. These simulated summaries are then compared with the |
| 30 | +expert-elicited summaries obtained during the expert-elicitation stage. An iterative optimization scheme is employed to update the hyperparameters of the parametric prior distributions so as to minimize the discrepancy between simulated and expert-elicited summaries. In other words, the objective is to identify the vector of hyperparameters that yields the closest alignment between simulated and expert-elicited summaries. |
| 31 | + |
| 32 | +## Getting started |
| 33 | +ToDo |
| 34 | + |
| 35 | +### The `Elicit` class |
| 36 | +The primary user interface of **elicito** is the `Elicit` class, through which the user can specify the entire elicitation procedure. The arguments of the `Elicit` class are designed to capture all necessary information required to implement an elicitation method. |
| 37 | +A brief overview of these arguments is provided below: |
| 38 | + |
| 39 | ++ `model`: Defines the generative model used in the elicitation procedure. |
| 40 | ++ `parameters`: Specifies assumptions regarding the prior distributions over model parameters, |
| 41 | + including (hyper)parameter constraints, dimensionality, and parametric form. |
| 42 | ++ `targets`: Defines the elicited statistics in terms of target quantities and corresponding |
| 43 | + elicitation techniques. Also specifies the discrepancy measure and weight used for the |
| 44 | + associated loss component. |
| 45 | ++ `expert`: Provides the expert information that serves as the basis for the learning criterion. |
| 46 | ++ `optimizer`: Specifies the optimization algorithm to be used, along with its |
| 47 | + hyperparameters (e.g., learning rate). |
| 48 | ++ `trainer`: Configures the overall training procedure, including settings such as the random |
| 49 | + seed, number of epochs, sample size, and batch size. |
| 50 | ++ `initializer`: Defines the initialization strategy for the hyperparameters used to |
| 51 | + instantiate the simulation-based optimization process. |
| 52 | ++ `networks`: Specifies the architecture of the deep generative model; required only when |
| 53 | + using non-parametric prior distributions. |
| 54 | + |
| 55 | +By configuring these core components, **elicito** supports a wide range of elicitation methods, including both structural and predictive approaches, univariate and multivariate as well as parametric and nonparametric prior distributions. |
| 56 | + |
| 57 | +## Main References |
| 58 | + |
| 59 | ++ [Software Paper] Bockting F. & Bürkner PC (2025). elicito: A Python package for expert-prior elicitation. arXiv. |
| 60 | +[Preprint](https://arxiv.org/pdf/2506.16830) |
| 61 | ++ [Methods Paper] Bockting F., Radev ST, Bürkner PC (2024). Simulation-based prior knowledge elicitation |
| 62 | +for parametric Bayesian models. *Scientific Report, 14*(1), 17330. [PDF](https://www.nature.com/articles/s41598-024-68090-7) |
| 63 | ++ [Methods Paper] Bockting F., Radev ST, Bürkner PC (2025). Expert-elicitation method for non-parametric joint priors using |
| 64 | +normalizing flows. *Statistics and Computing*. [PDF](https://arxiv.org/abs/2411.15826) |
0 commit comments