Repository navigation
Update the simulation scripts in exper/ for DiffPrecTest 0.2 - #3
Merged
Merged
Conversation
Environment and cluster jobs - exper/Project.toml with DiffPrecTest from the repository and CovSel from GitHub, and exper/README.md describing the simulations - JLD2 replaces JLD, Plots replaces PyPlot, and each script loads only the packages it uses; data are generated as matrices - The sbatch files take JULIA and SCRATCH from the environment instead of Midway2 paths, run Julia with --project, precompile once before the workers start, and use one BLAS thread per worker; the start scripts pass their arguments to sbatch (for the partition) and give the estimated and oracle runs of sims 8-11 different job names, so that their GNU parallel job logs do not collide - collect.sh loops over the coverage simulations and collect_results.jl skips missing repetitions Fixes - The oracle scripts of sims 8-12 passed supports as Bool matrices, which bootstrap no longer accepts; they now pass svec indices, one copy per entry - sim8.jl and sim10.jl were switched to oracle supports when the _o copies were made; they use estimated supports again, like sim9.jl and sim11.jl, and sim8.jl uses the dimensions its start script ran - sim8_YinXia.jl looped over four dimensions with three defined, and sim12_YinXia_power.jl skipped α = 1 - The coverage tables threw an InexactError when coverage * 1000 was not an integer; they are written with MultiRow cells, which LaTeXTabulars 1.0 no longer accepts as raw strings - sim5/summarize.jl rebuilt a p = 20 model that matched neither sim5a nor sim5b; it now reads the results of either and plots ROC curves, with the model shared in sim5/model.jl - The summaries of sims 1-4, 6 and 7 share summary.jl - Remove sim1/test.jl, sim2/sim2_test.jl and sim3/test.jl, scratch scripts that called functions that no longer exist Co-Authored-By: Claude Opus 5.5 <[email protected]>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3 +/- ##
=======================================
Coverage 98.64% 98.64%
=======================================
Files 12 12
Lines 1403 1403
=======================================
Hits 1384 1384
Misses 19 19 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The simulation scripts in
exper/were written for Julia 1.5, JLD, PyPlot and an older package API, and several no longer ran. This updates all of them for the current package and adds an environment and a README forexper/. Package code is unchanged.Environment and cluster jobs
exper/Project.toml: DiffPrecTest from this repository and CovSel from GitHub via[sources](Julia 1.11+; the README gives the Julia 1.10 steps)exper/README.md: the simulations, and how to run, collect and summarize themsbatch_*:JULIAandSCRATCHcome from the environment instead of Midway2 paths. Julia runs with--project, the environment is instantiated and precompiled once before the workers start, and BLAS uses one thread per worker. The partition is no longer hard-coded:./start_sbatch.sh -p <partition>passes its arguments tosbatchstart_sbatch.shfor sims 8–11 submits both estimated (simN) and oracle (simN_o) runs, with different job names so their GNU parallel job logs don't collidecollect.shloops over the coverage simulations;collect_results.jlandaggregate_results.jlskip missing repetitions with a warningsimN_YinXia*.jlreadNUM_REPfrom the environment for short runsFixes
bootstrapno longer accepts; they now passsvecindices, one copy per entry (bootstrapreorders each support)sim8_YinXia.jllooped over four dimensions with three defined;sim12_YinXia_power.jlskipped α = 1InexactErrorwhenever coverage × 1000 was not an exact integer, and LaTeXTabulars 1.0 escapes raw\multirowstrings; the tables now useMultiRowcellssim5/summarize.jlrebuilt a p = 20 model that matched neither sim5a (p = 60) nor sim5b (p = 100) and read from a hard-coded home folder. It now takes the results folder and variant, averages ROC curves for the normal, bootstrap and D-trace methods, and reports the D-trace rates at the validated penalties. The model is shared withsim5a.jlandsim5b.jlinsim5/model.jlsummary.jlChanges to review
sim8.jlandsim10.jluse estimated supports again. The 2019 "oracle sim" commit, which created the_ocopies, also switched these two to oracle supports, whilesim9.jlandsim11.jlkept estimated ones.sim8.jlnow uses p = 50, 100, 150, the dimensions its start script ransim1/test.jl,sim2/sim2_test.jlandsim3/test.jl: scratch scripts that called functions that no longer exist or used undefined variablesTesting
YinXiascripts at p = 20collect.sh, all summaries,plot_results.jland the sim8 coverage scripts ran on those resultssbatch,srunandparallelcommands, which checked the script names, arguments and output folders of all 93 submissionsJulia's default random number generator changed in Julia 1.7, so the same seeds give different data than the 2019–2020 runs.
🤖 Generated with Claude Code