Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Single ESS value as min(ess_bulk, ess_tail) #261

Open
paul-buerkner opened this issue Nov 29, 2022 · 4 comments
Open

Single ESS value as min(ess_bulk, ess_tail) #261

paul-buerkner opened this issue Nov 29, 2022 · 4 comments
Labels
feature New feature or request interface Interface improvements or changes

Comments

@paul-buerkner
Copy link
Collaborator

Currently, we have one rhat value as default (worst case of rhat_bulk and rhat_tail) but always two ESS values, ess_bulk and ess_tail, without a single ess generic. Could it make sense to add such an ess generic and make the default min(ess_bulk, ess_tail)?

Specifically, @avehtari what would you think about this?

@paul-buerkner paul-buerkner added feature New feature or request interface Interface improvements or changes labels Nov 29, 2022
@jgabry
Copy link
Member

jgabry commented Dec 2, 2022

I like this idea! Curious what @avehtari thinks.

@avehtari
Copy link
Collaborator

A more natural single ESS would be the minimum of all possible quantile ESSs, but that would increase the computation cost. If we anyway compute ess_bulk and ess_tail, minimum of those would be cheap, but the explanation of the value is longer. Rhat is inherently more abstract and thus I think someone not understanding details of the underlying min(rhat_bulk, rhat_tail) is not a big issue, but I'm worried that a single ESS might be interpreted as ESS for any expectation (or quantile) (and maybe even interpreted as the number of effective draws). ESS is somewhere between Rhat and MCSE, and it's clear we wouldn't report just one MCSE. So I'm worried, how a single ESS would be interpreted and it would require care how it's displayed and documented.

@paul-buerkner
Copy link
Collaborator Author

I understand. That makes sense to me. Perhaps, we still want to define an ess generic with default, even if we do not display it by default. For how many and which quantiles shall we try to compute the ESS before taking the minimum?

@avehtari
Copy link
Collaborator

As $summary() is often by default computed for every variable, I'm worried about the increased computational cost of computing minimum ESS over many quantiles in such default operation. Minimum of Bulk-ESS and Tail-ESS could be justified as an approximation of ESS over many quantiles. We could have also a function that would compute minimum over e.g. 5, 7 or 9 quantiles that users could call explicitly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request interface Interface improvements or changes
Projects
None yet
Development

No branches or pull requests

3 participants