Giter VIP home page Giter VIP logo

opinion_pooling's Introduction

Opinion pooling and log-linear mixtures (logarithmic pooling)

Bits and pieces on (logarithmic) opinion pooling.

Bayesian inference for the weights in logarithmic pooling

Luiz Max de Carvalho1, Daniel Villela2, Flavio Coelho1 and Leonardo Bastos 2

1 School of Applied Mathematics, Getulio Vargas Foundation (FGV), Rio de Janeiro -- RJ, Brazil.

2 Program for Scientific Computing, Oswaldo Cruz Foundation, Rio de Janeiro -- RJ, Brazil.

Abstract

Combining distributions is an important issue in decision theory and Bayesian inference. Logarithmic pooling is a popular method to aggregate expert opinions by using a set of weights that reflect the reliability of each information source. However, the resulting pooled distribution depends heavily on set of weights given to each opinion/prior and thus careful consideration must be given to the choice of weights. In this paper we review and extend the statistical theory of logarithmic pooling, focusing on the assignment of the weights using a hierarchical prior distribution. We explore several statistical applications, such as the estimation of survival probabilities, meta-analysis and Bayesian melding of deterministic models of population growth and epidemics. We show that it is possible learn the weights from data, although identifiability issues may arise for some configurations of priors and data. Furthermore, we show how the hierarchical approach leads to posterior distributions that are able to accommodate prior-data conflict in complex models. [ArXiV]

See logPoolR for the core R routines employed here.

opinion_pooling's People

Contributors

dvmath avatar fccoelho avatar lsbastos avatar maxbiostat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

opinion_pooling's Issues

How to compare the priors?

Professor Raftery suggested using integrated likelihoods. Problem is: once we calculate them, what are going to do with them? Calculate prior odds?

Mrs @lsbastos and @fccoelho, o poder e' de voces!

Ass. Capitao Planeta

background

define LP before the section on its properties

check exponential family calculations are correct

Given in the appendix.
They seem correct, but it'd be nice to work out a simple example, like Beta or Gaussian to see whether the formulae lead to the right answer. Should do for entropy and KL.

Move Appendix to a separate file

After the writing is concluded, just move the Appendix to a different file [as per BA guidelines], taking care of preserving the cross-referencing.

describe SpIR for `alpha`

We extended the algorithm in Poole & Raftery to include a variable alpha. Need to describe that in the manuscript.

Examples

  • Meta analysis;
  • Savchuk;
  • Simulated Savchuk: (i) simulated (ii) more data (ii) higher variance/lower variance;
  • Bowhead: (i) modified SpIR (ii) simulation study;

KL order is wrong

We talk about KL(pi || f_i) everywhere but we need KL(f_i || pi).

MCMC sampler

If we have any hope for the hierarchical prior to be applicable in the real-world, we will need to devise a sampler that can incorporate the alphas and sample the model at the same time.

Currently we have working implementations in Stan, but that is just because the pooled prior happens to have a closed-form solution. The sampler has to be able to sample from the pooled prior even when it does not have a closed-form solution [which is the vast majority of interesting cases].

This article contains some useful information on a potential clog in this engine, the IMIS algorithm, that could be used to construct the pooled prior [or posterior, thanks to external Bayesianity].

Format

@maxbiostat, what is the size limit of this abstract? is is and extended abstract or a short paper?

KL divergence needs to be re-written..

...and re-implemented.

Reason: Rufo et al, 2012, propose to minimise KL(pool || expert_i), which I think makes more sense than what we propose, that is KL(expert_i || pool).

change family to set

When we say family we may be implying some sort of connection between the experts' opinions, where none need exist. So the right name for $F(\boldsymbol\theta)$ is 'set of distributions'

study frequentist properties of the posterior of weights

Following the suggestions of Eduardo Mendes (FGV), we should improve the experiments in the simulated example section to include draws from the generating process.

Claudio Struchiner (FGV/Fiocruz) also suggested doing something similar for the melding examples, specially the boarding school one.

Pooling or stacking?

For background, see this discussion. I proposed LP could be a way of combining many posteriors. Aki Vehtari points to his paper on stacking distributions.

My question is: should someone look into comparing a choice of the weights in LP that minimises, say, the KL distance to the true model, a bit like Rufo, Martin & Perez did? My idea would be to take the examples from Aki's paper and directly compare LP and stacking.

Not something for now, just maybe a project to keep in mind for the future, @fccoelho @lsbastos @DVMath

fix "normal" examples

Currently some of the normal (Gaussian) examples are just copy-paste from the binomial ones. Gotta fix that.

Dominance analysis

For all of the examples considered so far (Beta, Gamma, Normal) the entropy (and sometimes the KL too) optimisation problem is quite unstable, tending to one of the "corners" of the simplex. This happens because the entropy function is "dominated" by a parameter and thus any solution that assigns alpha_j = 1 for some j such that parameter_j = max(parameters) will be the best one.

To see this, consider the normal example. Since the entropy depends only on the variance, the distribution with larger variance will tend to dominate the optimisation problem, leading to the trivial solution (0, ..., 1, 0, ...). where the j-th position is a 1 and everybody else gets weight 0.

It would thus be interesting to analyse the entropy functions for the distributions considered to get insight into how much a parameter dominates the entropy.

The final solution, I think, is propose a constrained optimisation problem, where, for example, one would obtain the maximum entropy distribution with a given mean.

reparametrisation of the log-pool

As previously noted, neither the max_ent nor the KL(pool | expert_i) approaches lead to unique solutions.
In a future study, we could look into some of the ideas here (about linear mixtures) to create a unique mapping between the component distributions and the weights.

interpret results

We need to look at the two tables and the figure and tell a consistent story about the differences/similarities between them.
@DVMath and @fccoelho are invited to give their pitacos as well.

fix references

See Professor Genest's corrections to LC note. We're missing volume and edition numbers, stuff like that.

dynamic model example

@fccoelho , @lsbastos and @DVMath :

I propose to use the model in Carvalho, Bastos & Struchiner (2015)

It has three levels:

    1. The hyperparameters of the thermodynamic functions;
    1. The thermodynamic functions r(T) and K(T);
    1. The population size P(t, T)

Problems:
Figure out a sensible propagation strategy: it probably doesn't make any sense to propagate the uncertainty on the hyperparameters caused by uncertainty on P(t,T), although it is certainly desirable to study how the uncertainty about the hyperparameters influences the uncertainty on P(t,T).

An initial idea, thus, is to study only the prior on P(t,T) obtained by combining:

Induced prior on P(t,T) from the hyperparameters + induced prior on P(t,T) from the priors on the functions r(T) and K(T) and the actual prior on P(t,T).
This would be nice because we would be combining uncertainty from three levels and also because we could in principle apply our automatic methods to choose the weights (alpha).

As a bonus, we could look into the combined prior for r(T) and K(T) combining only:
(i) the induced priors from the hyperparameters and (ii) the actual priors on r(T) and K(T).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.