Skip to content

Commit 39eef38

Browse files
update Readme information
1 parent c250255 commit 39eef38

File tree

3 files changed

+68
-5
lines changed

3 files changed

+68
-5
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
<!--- --8<-- [start:description] -->
2-
# PyMC elicito
3-
4-
Learning prior distributions for parameters in a Bayesian model based on expert information.
5-
2+
# PyMC elicito: A Python package for expert prior elicitation using PyMC
63
**Key info :**
74
[![Docs](https://readthedocs.org/projects/pymc-elicito/badge/?version=latest)](https://pymc-elicito.readthedocs.io)
85
[![Main branch: supported Python versions](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fpymc-devs%2Fpymc-elicito%2Fmain%2Fpyproject.toml)](https://github.com/pymc-devs/pymc-elicito/blob/main/pyproject.toml)
@@ -50,10 +47,13 @@ Some suggested options:
5047
and we won't reply to any issues
5148
-->
5249

53-
**Prototype**:
50+
**Prototype**:
5451
This project is just starting up and the code is all prototype.
5552
Pymc-elicito re-implements the Python package [`elicito`](https://github.com/florence-bockting/elicito) using pymc instead of tensorflow(-probability) as dependency.
5653

54+
## Description
55+
**Expert prior elicitation** aims to define prior distributions for parameters within a Bayesian model that accurately incorporate the expectations of a domain expert. The `elicito` computational framework supports the modular implementation of diverse expert prior elicitation methods.
56+
5757
<!--- --8<-- [end:description] -->
5858

5959
Full documentation can be found at:
423 KB
Loading

docs/index.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,64 @@
11
---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+
![conceptual workflow](figures/conceptual-workflow.png)
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

Comments
 (0)