-
Notifications
You must be signed in to change notification settings - Fork 7
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
Package name #2
Comments
Just found the following package with the name |
The name was suggested and motivated in TuringLang/MCMCChains.jl#266 (the discussion also mentioned MCMCDiagnostics). |
BTW this package (ie the code in MCMCChains) contains strictly more general implementations of the statistics in MCMCDiagnostics (eg three different algorithms for estimating the ESS). |
I'd prefer merging all the code (i.e. diagnostics code in MCMCChains, and MCMCDiagnostics) into a new |
The intention of this package is to contain all the diagnostic code of MCMCChains. I don't think there's anything in MCMCDiagnostics that is missing and could be merged. |
I see - let's still make an effort at merging these packages to reduce redundancy in the Julia MCMC ecosystem. If there is no code to merge, we can simply ask the current |
The motivation for RE merging with |
How should we proceed? It would be nice to be able to finish TuringLang/MCMCChains.jl#310 and to clean MCMCChains, so it would be good to start the registration process. Is the plan to discuss a merge (or rather replacement) of MCMCDiagnostics? The package seems to be very lightweight compared with InferenceDiagnostics, I wonder if this might be a problem. We can also rename the package at a later time point (technically register a new package with a different name: https://github.com/JuliaRegistries/General#how-do-i-rename-an-existing-registered-package) or e.g. only use it as an umbrella package for smaller subpackages such as VIDiagnostics etc. |
I kind of like a more specific name than Re VI related diagnostics, it's a bit unclear what diagnostics one can offer in general. The literature on such diagnostics is less mature than those for MCMC in my view. Thus I'm slightly worried to include such diagnostics together with |
Giving my own two cents -- |
I think that makes some sense, but we could just add a warning for using those diagnostics if we feel like they're on shaky ground. |
I imagined these belong here as well. Not all them have to be defined in this package necessarily (some belong to or might even exist in StatsBase, and some are eg implemented in StatsModelComparisons) but I think it would be useful to at least reexport them and to make sure they use a consistent API. |
ArviZ lists WAIC and R^2 as statistics, not diagnostics, but I agree, these should probably be in this package or a more general package like StatsBase. To summarize our discussions, all of the diagnostics we are immediately planning to add are applicable to samples generated with MCMC, and that is currently out main focus. I am okay with renaming this package as |
@ColCarroll explained to me on Slack that the distinction between statistics and diagnostics in ArviZ is:
I think this distinction is useful in that it keeps us from implementing every tool for posterior analysis here. By that distinction, we would probably not want WAIC and R^2 in this package and instead might consider instead a package for generic utilities for posterior analysis to hold them. The scope of this package would be diagnostics of the quality of the samples generated by some MCMC method. |
My suggestion for a name is I would suggest a separate package for posterior goodness-of-fit measures, with a name like |
Since the author wants to keep the existing MCMCDiagnostics.jl lightweight and separate, we have to reconsider if and how the package should be renamed. |
Are there any objections to |
|
|
I think MCMCDiagnosticTools is a good alternative to MCMCDiagnostics (which is not available since a package of the same name exists and its author does not want to merge additional diagnostics and dependencies @ParadaCarleton). Users and downstream developers can always introduce an alias if they think the name is too long, so the additional 5 characters shouldn't matter. I also agree that Sampling is quite generic, this was already a sentiment in the discussion in MCMCChains IIRC. What do you think about MCMCDiagnosticTools @sethaxen? |
What I don't like: If one tries to tab-complete the package name, they'll get both package names and need to remember which is our package. What I do like: it's descriptive of what the current scope of the package is. I agree SamplingDiagnostics and InferenceDiagnostics are too generic for the current scope. So I'm happy with the name change to MCMCDiagnosticTools.jl. |
Maybe AdvancedMCMCDiagnostics would be an alternative (following the AdvancedMH/AdvancedHMC etc theme in the Turing ecosystem 😄)? |
Sadly I can only dislike that once. |
How about MCChecks? This solves the tab-complete, too specific, and "Too long" problems at once:
|
IMO MCChecks is too generic (and I think MonteCarloChecks/MonteCarloDiagnostics would be clearer if we want to widen the aim of the package). If there are no other suggestions, I'll rename the package and update all links to MCMCDiagnosticTools tomorrow so we can start the registration process. |
If MCChecks is considered too generic, I would have no objections to any of MCMCChecks, MonteCarloChecks, or MonteCarloDiagnostics. |
(Or, alternatively, AdvancedChecks/AdvancedDiagnostics. Even InferenceDiagnostics is better -- I just don't like MCMCDiagnosticTools, since it's going to be confused with MCMCDiagnostics. That being said, this really isn't important enough to keep holding up the package.) |
Since MCMCDiagnosticTools seemed to be the name most of us agreed on I renamed the package accordingly and started the registration process: JuliaRegistries/General#40583 We can always refactor or rename later if it turns out that it was a suboptimal decision. |
InferenceDiagnostics
sounds rather generic IMO. Does it make sense to narrow down a bit, e.g.MCMCDiagnostics
orMCMCTools
?The text was updated successfully, but these errors were encountered: