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

distributed and reduced precision bootstrap #694

Merged
merged 33 commits into from
Jul 6, 2023
Merged

distributed and reduced precision bootstrap #694

merged 33 commits into from
Jul 6, 2023

Conversation

palday
Copy link
Member

@palday palday commented Jun 4, 2023

The idea for the reduced precision bootstrap came out of my work looking at the optimizer/convergence behavior.

  • add entry in NEWS.md
  • after opening this PR, add a reference and run docs/NEWS-update.jl to update the cross-references.
  • I've bumped the version appropriately

@codecov
Copy link

codecov bot commented Jun 4, 2023

Codecov Report

Patch coverage: 100.00% and project coverage change: +0.04 🎉

Comparison is base (491f7a7) 95.64% compared to head (92d0177) 95.68%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #694      +/-   ##
==========================================
+ Coverage   95.64%   95.68%   +0.04%     
==========================================
  Files          35       35              
  Lines        3190     3225      +35     
==========================================
+ Hits         3051     3086      +35     
  Misses        139      139              
Flag Coverage Δ
current 95.68% <100.00%> (+0.04%) ⬆️
minimum 95.58% <100.00%> (+0.04%) ⬆️
nightly ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/MixedModels.jl 100.00% <ø> (ø)
src/bootstrap.jl 94.87% <100.00%> (+0.93%) ⬆️
src/optsummary.jl 100.00% <100.00%> (ø)

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@palday palday marked this pull request as ready for review July 5, 2023 01:40
src/bootstrap.jl Outdated Show resolved Hide resolved
palday and others added 4 commits July 5, 2023 01:43
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@palday palday requested a review from dmbates July 5, 2023 02:09
@dmbates
Copy link
Collaborator

dmbates commented Jul 6, 2023

The example of changing ftol_rel on the parametric bootstrap for the "maximal" kb07 model is most impressive! On my computer it took 33 minutes to generate 1000 samples with the default tolerance, 1 minute with 1e-3 tolerance and 6 minutes with 1e-6. And the conclusions from each of these samples are substantively the same.

@dmbates
Copy link
Collaborator

dmbates commented Jul 6, 2023

@palday Is there anything in particular that you would like me to concentrate on when reviewing this PR?

@palday
Copy link
Member Author

palday commented Jul 6, 2023

@dmbates whether the general reduced precision approach is valid statistically.

@dmbates
Copy link
Collaborator

dmbates commented Jul 6, 2023

@palday Sorry for making commits to your branch rather than creating suggestions. I used to know how to create a suggestion that would just require you to click on a button to accept it but I can't seem to work out how to do that now. After flailing around for far too long, I eventually just made the commits.

@dmbates
Copy link
Collaborator

dmbates commented Jul 6, 2023

Regarding the validity of allowing more slack in ftol_abs, the whole rationale of the parametric bootstrap is that of drawing a sample from a population of possible parameter values. In everything that we have seen the progress of the iterations is to make big gains initially then settle down to a long, drawn-out validation of being at a local optimum. If we are just generating a sample, a high level of precision of the estimates is unnecessary because it is just one result of several simulated results.

@dmbates
Copy link
Collaborator

dmbates commented Jul 6, 2023

The check on the nightly version failed to compile some of the dependencies of BSplineKit.jl I saw that on a locally compiled nightly too and I don't think we will need to take action on it.

Copy link
Collaborator

@dmbates dmbates left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing this. I think the optsum_overrides will be very useful.

@palday
Copy link
Member Author

palday commented Jul 6, 2023

Regarding the validity of allowing more slack in ftol_abs, the whole rationale of the parametric bootstrap is that of drawing a sample from a population of possible parameter values. In everything that we have seen the progress of the iterations is to make big gains initially then settle down to a long, drawn-out validation of being at a local optimum. If we are just generating a sample, a high level of precision of the estimates is unnecessary because it is just one result of several simulated results.

@dmbates Exactly my thoughts! I just wanted a sanity check.

Thanks for the other edits. 😄

@palday palday merged commit 8d71961 into main Jul 6, 2023
8 of 9 checks passed
@palday palday deleted the pa/bootinit branch July 6, 2023 20:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants