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

[REVIEW]: VBLinLogit: Variational Bayesian linear and logistic regression #1359

Closed
36 tasks done
whedon opened this issue Apr 1, 2019 · 84 comments
Closed
36 tasks done
Assignees
Labels
accepted published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review

Comments

@whedon
Copy link

whedon commented Apr 1, 2019

Submitting author: @jdrugo (Jan Drugowitsch)
Repository: https://github.com/DrugowitschLab/VBLinLogit
Version: v0.3
Editor: @usethedata
Reviewers: @ManuelaS, @usethedata
Archive: 10.5281/zenodo.3255135

Status

status

Status badge code:

HTML: <a href="http://joss.theoj.org/papers/bb46a75b7cd9df52feb9e630ef367ff2"><img src="http://joss.theoj.org/papers/bb46a75b7cd9df52feb9e630ef367ff2/status.svg"></a>
Markdown: [![status](http://joss.theoj.org/papers/bb46a75b7cd9df52feb9e630ef367ff2/status.svg)](http://joss.theoj.org/papers/bb46a75b7cd9df52feb9e630ef367ff2)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@ManuelaS, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @usethedata know.

Please try and complete your review in the next two weeks

Review checklist for @ManuelaS

Conflict of interest

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Version: v0.3
  • Authorship: Has the submitting author (@jdrugo) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Authors: Does the paper.md file include a list of authors with their affiliations?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?

@ManuelaS, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @usethedata know.

Please try and complete your review in the next two weeks

Review checklist for @usethedata

Conflict of interest

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Version: v0.3
  • Authorship: Has the submitting author (@jdrugo) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Authors: Does the paper.md file include a list of authors with their affiliations?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
@whedon
Copy link
Author

whedon commented Apr 1, 2019

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @ManuelaS it looks like you're currently assigned as the reviewer for this paper 🎉.

⭐ Important ⭐

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

For a list of things I can do to help you, just type:

@whedon commands

@whedon
Copy link
Author

whedon commented Apr 1, 2019

Attempting PDF compilation. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Apr 1, 2019

@ManuelaS
Copy link

ManuelaS commented May 2, 2019

@whedon check references

@whedon
Copy link
Author

whedon commented May 2, 2019

Attempting to check references...

@whedon
Copy link
Author

whedon commented May 2, 2019


OK DOIs

- 10.1214/06-ba126 is OK
- 10.1007/978-0-387-84858-7 is OK
- 10.7551/mitpress/7503.001.0001 is OK
- 10.1111/j.2517-6161.1996.tb02080.x is OK
- 10.1162/neco.1992.4.3.415 is OK
- 10.1080/01621459.1993.10476353 is OK
- 10.1007/978-1-4612-0745-0 is OK
- 10.1109/icdm.2012.58 is OK
- 10.1371/journal.pcbi.1004218 is OK
- 10.1037/xlm0000284 is OK
- 10.1101/234732 is OK
- 10.3846/tede.2018.6736 is OK

MISSING DOIs

- https://doi.org/10.1201/b14835 may be missing for title: Markov Chain Monte Carlo in Practice
- https://doi.org/10.1080/09332480.2014.914768 may be missing for title: Machine Learning: A Probabilistic Perspective

INVALID DOIs

- None

@ManuelaS
Copy link

ManuelaS commented May 2, 2019

Hi @jdrugo,

I have started to review VBLinLogit. I really enjoyed reviewing this library, I like its simplicity and I will definitely try it out on some of my work in the future!
Based on JOSS reviewing criteria, I have the following comments so far:

Software:

  • Installation: Installation steps should be documented in the ReadMe as some potential users may have never used 3rd party code in MATLAB before (issue here).

  • Requirements: (issue here)

    • Detail MATLAB version the library was developed/tested on and expect to work on. I am using MATLAB 2014b and worked smoothly, but I believe this library would work also in versions a lot older?
    • Some examples require the Statistics toolbox to run top to bottom and it may be worthwhile highlighting what the users without the toolbox would need to do to work around it or what they would miss out on (the regress function is in the Statistics toolbox).
    • Would this package work as expected in Octave? If it did, the users base would be greatly expanded and may be worthwhile mentioning explicitly in the ReadMe.
  • Documentation API: (issue here)
    I really appreciate that each function includes the math behind the implementation in the doc string! Though I would strive to also document inputs and outputs of the function from a "software perspective" (data types, etc.) so that users can quickly look up how to use the functions (without necessarily need to understand the theory behind it).

  • Example usage: (issue here)
    Examples are included and bundled in vb_examples.m (though only 6 out of the 8 examples included in the repository are called?). Examples ran as expected and produced the figures as shown in arxiv:1310.5438. I would suggest:

    • Adding instructions on how to run the set of examples explicitly in the ReadMe;
    • Selecting a couple of examples and including them directly in the ReadMe. I think it would help the reader assess what the library can do and whether or not it would suit their needs. Additionally, I would strive to expand the descriptions for the examples that is a bit "thin" at the moment bearing in mind a non-specialised audience.
  • Automated tests: I did not find any unit tests. I would suggest (issue here):

    • Adding automated tests that cover each regression implementations and bundle them in a unit test suite;
    • Adding instructions on how to run the tests in the ReadMe, so that users can verify that the installation was successful and can use those tests as base if they decide to implement additional methods.
  • Contributing guidelines: (issue here)
    While the ReadMe remains the readers to get in touch via GitHub for bug reports and contributions, I would suggest:

    • Adding explicitly a CONTRIBUTING.md file (see for example https://www.contributor-covenant.org/) to encourage users to participate with PR requests to further develop the library;
    • Adding instructions on how to get in touch to seek support (and not necessarily report bugs/request features as per point 3 in the "Contributing guidelines" section).

Paper

  • I really enjoyed reading this manuscript and its extended version in arxiv. Though I wonder if the second part of the paper could be made more accessible to distill the advantages/disadvantages of this particular implementation geared towards a non-specialized audience and maybe just
    remind the more mathematically-oriented readers to the arxiv paper?
    Feel free to ignore this comment, it may be beyond scope of the JOSS submission (@usethedata: what is your take on this?) but I believe it would be beneficial to provide the reader with an easy-to-read account of how VBLinLogit fits in the Bayesian linear/logistic
    regression ecosystem (including non-MATLAB based implementations). I believe a simple description would go a long way to clarify to the reader whether this library would fit their use case/research. I would also suggest including this information quite prominently on the ReadMe.
  • There are a couple of DOIs missing (see above output from @whedon check references)

@labarba
Copy link
Member

labarba commented May 12, 2019

@jdrugo 👋 — please work through the comments of the reviewer ☝️ ... and let us know when it's ready to take a new look.

@jdrugo
Copy link

jdrugo commented May 12, 2019

@ManuelaS & @labarba Thank you for the review and the heads up. I am working on the changes, and will let you know once I am done.

@labarba
Copy link
Member

labarba commented Jun 8, 2019

Hi @jdrugo — Can you give us an update? If you're not close to done, please let me know of a time period to set a reminder for you.

@usethedata
Copy link

@whedon add @usethedata as reviewer

@whedon whedon assigned ManuelaS and usethedata and unassigned usethedata and ManuelaS Jun 9, 2019
@whedon
Copy link
Author

whedon commented Jun 9, 2019

OK, @usethedata is now a reviewer

@jdrugo
Copy link

jdrugo commented Jun 9, 2019

@labarba Sorry for the delay. I'm currently working on the revisions and hope to have them done by the end of next week.

@labarba
Copy link
Member

labarba commented Jun 10, 2019

@whedon remind @jdrugo in 1 week

@whedon
Copy link
Author

whedon commented Jun 10, 2019

Reminder set for @jdrugo in 1 week

@jdrugo
Copy link

jdrugo commented Jun 15, 2019

@whedon compile

@jdrugo
Copy link

jdrugo commented Jun 15, 2019

@ManuelaS & @labarba, I hope to have addressed all the points in the review. The biggest changes are

  • restructuring the code into different folder. The addition of tests would have made the number of files in the root folder too large.
  • significantly improving README.md, adding more detailed installation instructions, requirements, API documentation.
  • improving the documentation in the headers of the various scripts in src
  • adding separate CONTRIBUTING.md.
  • adding tests.
  • Adding a couple of paragraphs to the paper to give a simpler explanation of regularization, and the difference between different regularization approaches.
  • Added one DOI. I couldn't find a DOI for the second book; the one provided by whedon is wrong (it's a review of the book).

I don't know how you handle versions, but I plan on bumping the version to v0.3 once the review is done. I will need a new version number as the script line numbers have changed, and I need to update them in the arXiv paper.

@labarba
Copy link
Member

labarba commented Jun 15, 2019

👋 @usethedata — you're handling this one... I bumped the review during my AEiC rotation, but now I'm not on duty.

@usethedata
Copy link

@jdrugo Thanks. It's not problem to update the version. I've not done a lot of papers as editor, but it's happened with most of the ones I've handled. On the DOI, that's fine. Whedon's suggestions are not always correct. I'll check out the updated code and go through my review. We had some challenges finding reviewers, so I'm doing a review as well as being the editor on this one.

@usethedata
Copy link

@whedon compile pdf

@kyleniemeyer
Copy link

Hi @jdrugo, paper looks good overall, I have just a few minor edits for you:

  • Can you add more complete affiliation information for yourself, similar to what you'd typically see in a journal article? (Department, institution, city, state, country)
  • in the third paragraph from the end (beginning with "More specifically, the models...", one of the sentences is missing something: "... where it (hyper-)parameters are tuned...". Perhaps that should be "it's (hyper-)parameters" ?
  • in the second to last paragraph, should "Neither of the variants without variable selection use and infer hyper-priors." instead be "Neither of the variants without variable selection use or infer hyper-priors" ? (bolded just to indicate the change).
  • in the same paragraph, last sentence should be "... and the advantages of either method remain to be clarified" (methods -> method)

In the references,

  • I think the Drugowitsch 2013 arXiv reference should be changed to:
@misc{Drugowitsch:2013,
  author = "Jan Drugowitsch",
  title = "Variational Bayesian inference for linear and logistic regression",
  year = 2013,
  howpublished = {\href{https://arxiv.org/abs/1310.5438}{\tt arXiv:1310.5438 [stat.ML]}},
}
  • there are also a handful of words in journal/book titles that need { } surrounding them to protect capitalization, like Gibbs, Monte Carlo, Fisher, Romanian, Bayesian (in a few places)

@jdrugo
Copy link

jdrugo commented Jun 27, 2019

Hi @kyleniemeyer , I have updated paper.md and paper.bib to fix those issues. Please let me know if there are any issues remaining.

@kyleniemeyer
Copy link

@whedon generate pdf

@whedon
Copy link
Author

whedon commented Jun 27, 2019

Attempting PDF compilation. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Jun 27, 2019

@kyleniemeyer
Copy link

@whedon accept

@whedon
Copy link
Author

whedon commented Jun 27, 2019

Attempting dry run of processing paper acceptance...

@whedon
Copy link
Author

whedon commented Jun 27, 2019


OK DOIs

- 10.1214/06-ba126 is OK
- 10.1201/b14835 is OK
- 10.1007/978-0-387-84858-7 is OK
- 10.1111/j.2517-6161.1996.tb02080.x is OK
- 10.1162/neco.1992.4.3.415 is OK
- 10.1080/01621459.1993.10476353 is OK
- 10.1007/978-1-4612-0745-0 is OK
- 10.1109/icdm.2012.58 is OK
- 10.1371/journal.pcbi.1004218 is OK
- 10.1037/xlm0000284 is OK
- 10.1101/234732 is OK
- 10.3846/tede.2018.6736 is OK

MISSING DOIs

- https://doi.org/10.1080/09332480.2014.914768 may be missing for title: Machine Learning: A Probabilistic Perspective

INVALID DOIs

- None

@whedon
Copy link
Author

whedon commented Jun 27, 2019

Check final proof 👉 openjournals/joss-papers#799

If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#799, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.

@whedon accept deposit=true

@kyleniemeyer
Copy link

@arfon, in case you didn't get/see the tag in openjournals/joss-papers#799, it looks like there is no citation list in the CrossRef XML. The paper has a good-sized list of references with DOIs, so that seems wrong...

@arfon
Copy link
Member

arfon commented Jun 27, 2019

@whedon accept

@whedon
Copy link
Author

whedon commented Jun 27, 2019

Attempting dry run of processing paper acceptance...

@whedon
Copy link
Author

whedon commented Jun 27, 2019


OK DOIs

- 10.1214/06-ba126 is OK
- 10.1201/b14835 is OK
- 10.1007/978-0-387-84858-7 is OK
- 10.1111/j.2517-6161.1996.tb02080.x is OK
- 10.1162/neco.1992.4.3.415 is OK
- 10.1080/01621459.1993.10476353 is OK
- 10.1007/978-1-4612-0745-0 is OK
- 10.1109/icdm.2012.58 is OK
- 10.1371/journal.pcbi.1004218 is OK
- 10.1037/xlm0000284 is OK
- 10.1101/234732 is OK
- 10.3846/tede.2018.6736 is OK

MISSING DOIs

- https://doi.org/10.1080/09332480.2014.914768 may be missing for title: Machine Learning: A Probabilistic Perspective

INVALID DOIs

- None

@whedon
Copy link
Author

whedon commented Jun 27, 2019

Check final proof 👉 openjournals/joss-papers#800

If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#800, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.

@whedon accept deposit=true

@kyleniemeyer
Copy link

@arfon that looks better, thanks!

@arfon
Copy link
Member

arfon commented Jun 27, 2019

OK this should be fixed now @kyleniemeyer

@kyleniemeyer
Copy link

@whedon accept deposit=true

@whedon
Copy link
Author

whedon commented Jun 27, 2019

Doing it live! Attempting automated processing of paper acceptance...

@whedon
Copy link
Author

whedon commented Jun 27, 2019

🐦🐦🐦 👉 Tweet for this paper 👈 🐦🐦🐦

@whedon
Copy link
Author

whedon commented Jun 27, 2019

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited 👉 Creating pull request for 10.21105.joss.01359 joss-papers#801
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.01359
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! 🎉🌈🦄💃👻🤘

Any issues? notify your editorial technical team...

@kyleniemeyer
Copy link

Congrats on your article's publication in JOSS, @jdrugo! Thanks to @ManuelaS for reviewing and @usethedata for editing (and reviewing)!

@whedon
Copy link
Author

whedon commented Jun 27, 2019

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

If you would like to include a link to your paper from your README use the following code snippets:

Markdown:
[![DOI](http://joss.theoj.org/papers/10.21105/joss.01359/status.svg)](https://doi.org/10.21105/joss.01359)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.01359">
  <img src="http://joss.theoj.org/papers/10.21105/joss.01359/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: http://joss.theoj.org/papers/10.21105/joss.01359/status.svg
   :target: https://doi.org/10.21105/joss.01359

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:

@jdrugo
Copy link

jdrugo commented Jun 27, 2019

Great! Indeed, thanks @ManuelaS and @usethedata for reviewing & editing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review
Projects
None yet
Development

No branches or pull requests

7 participants