-
Notifications
You must be signed in to change notification settings - Fork 13
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
Make MCMCDiagnosticTools an optional dependency #42
Comments
Even without the MCMCDiagnosticTools dependency this package is far from being lightweight: Lines 7 to 24 in 425404f
Maybe this could/should be changed but since I haven't used ParetoSmooth and don't plan to in the near future, others should discuss and decide this. |
Yes, this is one of several dependency-related issues, see #44 |
Actually, I think it is not a heavy dependency: #44 (comment) |
Hm, I seem to recall it taking longer to load in the past. I wonder if invalidations were recently fixed in a dependency. |
PSIS is generally useful for diagnosing importance sampling, but importance weights are not always generated with MCMC. Since MCMCDiagnosticTools is a somewhat heavy dependency, it's a shame it makes this package less lightweight for non-MCMC applications.
We could instead make MCMCDT a conditional dependency using Requires. I propose something like the following methods:
psis(log_ratios; kwargs...)
: computes PSIS assumingr_eff=1
psis(log_ratios, r_eff; kwargs...)
: computes PSIS using the user-providedr_eff
.psis(log_ratios; ess_method::MCMCDiagnosticTools.AbstractESSMethod, kwargs...)
: defined if MCMCDiagnosticTools.jl is loaded using Requires; computesr_eff
using the provided ESS method and callspsis(log_ratios, r_eff; kwargs...)
The text was updated successfully, but these errors were encountered: