X-Git-Url: https://code.communitydata.science/ml_measurement_error_public.git/blobdiff_plain/588bdd7ed74cf8fe8fd0f15df58a6a40c26ebae5..8ac33c14d7e7874bf283aa9c252fa06566dc8b15:/simulations/Makefile diff --git a/simulations/Makefile b/simulations/Makefile index 01c34fc..e6a3bbe 100644 --- a/simulations/Makefile +++ b/simulations/Makefile @@ -1,56 +1,178 @@ SHELL=bash -Ns=[500,1000,10000,25000] -ms=[50, 100, 250, 500] -seeds=[$(shell seq -s, 1 250)] -all:remembr.RDS +Ns=[1000, 5000, 10000] +ms=[100, 200, 400] +seeds=[$(shell seq -s, 1 500)] +explained_variances=[0.1] -srun=srun -A comdata -p compute-bigmem --time=10:00:00 --mem 4G -c 1 +all:remembr.RDS remember_irr.RDS +supplement: remember_robustness_misspec.RDS -example_1_jobs: 01_two_covariates.R simulation_base.R grid_sweep.py - grid_sweep.py --command "Rscript 01_two_covariates.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_1.feather"]}' --outfile example_1_jobs +srun=sbatch --wait --verbose run_job.sbatch -example_1.feather: example_1_jobs + +joblists:example_1_jobs example_2_jobs example_3_jobs + +# test_true_z_jobs: test_true_z.R simulation_base.R +# sbatch --wait --verbose run_job.sbatch grid_sweep.py --command "Rscript test_true_z.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["test_true_z.feather"], "y_explained_variancevari":${explained_variances}, "Bzx":${Bzx}}' --outfile test_true_z_jobsb + +# test_true_z.feather: test_true_z_jobs +# rm -f test_true_z.feather +# sbatch --wait --verbose --array=1-3000 run_simulation.sbatch 0 test_true_z_jobs +# sbatch --wait --verbose --array=3001-6001 run_simulation.sbatch 0 test_true_z_jobs + + +example_1_jobs: 01_two_covariates.R simulation_base.R grid_sweep.py pl_methods.R + sbatch --wait --verbose run_job.sbatch grid_sweep.py --command "Rscript 01_two_covariates.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_1.feather"], "y_explained_variance":${explained_variances}, "Bzx":[1]}' --outfile example_1_jobs + +example_1.feather: example_1_jobs rm -f example_1.feather - sbatch --wait --verbose --array=1-3000 run_simulation.sbatch 0 example_1_jobs - sbatch --wait --verbose --array=3001-6001 run_simulation.sbatch 0 example_1_jobs + sbatch --wait --verbose --array=1-1000 run_simulation.sbatch 0 example_1_jobs + sbatch --wait --verbose --array=1001-2000 run_simulation.sbatch 0 example_1_jobs + sbatch --wait --verbose --array=2001-3000 run_simulation.sbatch 0 example_1_jobs + sbatch --wait --verbose --array=3001-4000 run_simulation.sbatch 0 example_1_jobs + sbatch --wait --verbose --array=4001-$(shell cat example_1_jobs | wc -l) run_simulation.sbatch 0 example_1_jobs -example_2_jobs: example_2.R - grid_sweep.py --command "Rscript 02_indep_differential.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_2.feather"]}' --outfile example_2_jobs +example_2_jobs: 02_indep_differential.R simulation_base.R grid_sweep.py pl_methods.R + sbatch --wait --verbose run_job.sbatch grid_sweep.py --command "Rscript 02_indep_differential.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_2.feather"],"y_explained_variance":${explained_variances}, "Bzy":[-0.3],"Bxy":[0.3],"Bzx":[1], "outcome_formula":["y~x+z"], "proxy_formula":["w_pred~y*z*x"]}' --outfile example_2_jobs -example_2.feather: example_2_jobs +example_2.feather: example_2_jobs rm -f example_2.feather - sbatch --wait --verbose --array=1-3000 run_simulation.sbatch 0 example_2_jobs - sbatch --wait --verbose --array=3001-6001 run_simulation.sbatch 0 example_2_jobs + sbatch --wait --verbose --array=1-1000 run_simulation.sbatch 0 example_2_jobs + sbatch --wait --verbose --array=1001-2000 run_simulation.sbatch 0 example_2_jobs + sbatch --wait --verbose --array=2001-3000 run_simulation.sbatch 0 example_2_jobs + sbatch --wait --verbose --array=3001-4000 run_simulation.sbatch 0 example_2_jobs + sbatch --wait --verbose --array=4001-$(shell cat example_2_jobs | wc -l) run_simulation.sbatch 0 example_2_jobs + -example_2_B_jobs: example_2_B.R - grid_sweep.py --command "Rscript example_2_B.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_2_B.feather"]}' --outfile example_2_B_jobs +# example_2_B_jobs: example_2_B.R +# sbatch --wait --verbose run_job.sbatch grid_sweep.py --command "Rscript example_2_B.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_2_B.feather"]}' --outfile example_2_B_jobs -example_2_B.feather: example_2_B_jobs - rm -f example_2_B.feather - sbatch --wait --verbose --array=1-3000 run_simulation.sbatch 0 example_2_B_jobs +# example_2_B.feather: example_2_B_jobs +# rm -f example_2_B.feather +# sbatch --wait --verbose --array=1-3000 run_simulation.sbatch 0 example_2_B_jobs -example_3_jobs: example_3.R - grid_sweep.py --command "Rscript example_3.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_3.feather"]}' --outfile example_3_jobs +example_3_jobs: 03_depvar.R simulation_base.R grid_sweep.py pl_methods.R + sbatch --wait --verbose run_job.sbatch grid_sweep.py --command "Rscript 03_depvar.R" --arg_dict '{"N":${Ns},"m":${ms}, "Bxy":[0.7],"Bzy":[-0.7],"seed":${seeds}, "outfile":["example_3.feather"], "y_explained_variance":${explained_variances}}' --outfile example_3_jobs example_3.feather: example_3_jobs - rm -f example_3.feather - sbatch --wait --verbose --array=1-3000 run_simulation.sbatch 0 example_3_jobs + rm -f example_3.feather + sbatch --wait --verbose --array=1-1000 run_simulation.sbatch 0 example_3_jobs + sbatch --wait --verbose --array=1001-2000 run_simulation.sbatch 0 example_3_jobs + sbatch --wait --verbose --array=2001-3000 run_simulation.sbatch 0 example_3_jobs + sbatch --wait --verbose --array=3001-4000 run_simulation.sbatch 0 example_3_jobs + sbatch --wait --verbose --array=4001-$(shell cat example_3_jobs | wc -l) run_simulation.sbatch 0 example_3_jobs + +example_4_jobs: 04_depvar_differential.R simulation_base.R grid_sweep.py pl_methods.R + sbatch --wait --verbose run_job.sbatch grid_sweep.py --command "Rscript 04_depvar_differential.R" --arg_dict '{"N":${Ns},"Bxy":[0.7],"Bzy":[-0.7],"m":${ms}, "seed":${seeds}, "outfile":["example_4.feather"], "z_bias":[0.5]}' --outfile example_4_jobs + +example_4.feather: example_4_jobs + rm -f example_4.feather + sbatch --wait --verbose --array=1-1000 run_simulation.sbatch 0 example_4_jobs + sbatch --wait --verbose --array=1001-2000 run_simulation.sbatch 0 example_4_jobs + sbatch --wait --verbose --array=2001-3000 run_simulation.sbatch 0 example_4_jobs + sbatch --wait --verbose --array=3001-4000 run_simulation.sbatch 0 example_4_jobs + sbatch --wait --verbose --array=4001-$(shell cat example_4_jobs | wc -l) run_simulation.sbatch 0 example_4_jobs -remembr.RDS:example_2_B.feather example_1.feather example_2.feather example_3.feather + +remembr.RDS:example_1.feather example_2.feather example_3.feather example_4.feather plot_example.R plot_dv_example.R summarize_estimator.R + rm -f remembr.RDS ${srun} Rscript plot_example.R --infile example_1.feather --name "plot.df.example.1" ${srun} Rscript plot_example.R --infile example_2.feather --name "plot.df.example.2" - ${srun} Rscript plot_example.R --infile example_2_B.feather --name "plot.df.example.2B" - ${srun} Rscript plot_example.R --infile example_3.feather --name "plot.df.example.3" + ${srun} Rscript plot_dv_example.R --infile example_3.feather --name "plot.df.example.3" + ${srun} Rscript plot_dv_example.R --infile example_4.feather --name "plot.df.example.4" + + +irr_Ns = [1000] +irr_ms = [150,300,600] +irr_seeds=${seeds} +irr_explained_variances=${explained_variances} +irr_coder_accuracy=[0.80] + +example_5_jobs: 05_irr_indep.R irr_simulation_base.R grid_sweep.py pl_methods.R measerr_methods.R + sbatch --wait --verbose run_job.sbatch grid_sweep.py --command "Rscript 05_irr_indep.R" --arg_dict '{"N":${irr_Ns},"m":${irr_ms}, "seed":${irr_seeds}, "outfile":["example_5.feather"], "y_explained_variance":${irr_explained_variances}, "coder_accuracy":${irr_coder_accuracy}}' --outfile example_5_jobs + +example_5.feather:example_5_jobs + rm -f example_5.feather + sbatch --wait --verbose --array=1-1000 run_simulation.sbatch 0 example_5_jobs + sbatch --wait --verbose --array=1001-$(shell cat example_5_jobs | wc -l) run_simulation.sbatch 1000 example_5_jobs + # sbatch --wait --verbose --array=2001-3000 run_simulation.sbatch 2000 example_5_jobs + # sbatch --wait --verbose --array=3001-4000 run_simulation.sbatch 3000 example_5_jobs + # sbatch --wait --verbose --array=2001-$(shell cat example_5_jobs | wc -l) run_simulation.sbatch 4000 example_5_jobs + + + +# example_6_jobs: 06_irr_dv.R irr_dv_simulation_base.R grid_sweep.py pl_methods.R +# sbatch --wait --verbose run_job.sbatch grid_sweep.py --command "Rscript 06_irr_dv.R" --arg_dict '{"N":${irr_Ns},"m":${irr_ms}, "seed":${irr_seeds}, "outfile":["example_6.feather"], "y_explained_variance":${irr_explained_variances},"coder_accuracy":${irr_coder_accuracy}}' --outfile example_6_jobs + +# example_6.feather:example_6_jobs +# rm -f example_6.feather +# sbatch --wait --verbose --array=1-1000 run_simulation.sbatch 0 example_6_jobs +# sbatch --wait --verbose --array=1001-2000 run_simulation.sbatch 1000 example_6_jobs +# sbatch --wait --verbose --array=2001-$(shell cat example_6_jobs | wc -l) run_simulation.sbatch 2000 example_6_jobs + + +remember_irr.RDS: example_5.feather plot_irr_example.R plot_irr_dv_example.R summarize_estimator.R + rm -f remember_irr.RDS + sbatch --wait --verbose run_job.sbatch Rscript plot_irr_example.R --infile example_5.feather --name "plot.df.example.5" +# sbatch --wait --verbose run_job.sbatch Rscript plot_irr_dv_example.R --infile example_6.feather --name "plot.df.example.6" + + +robustness_1_jobs: 02_indep_differential.R simulation_base.R grid_sweep.py + sbatch --wait --verbose run_job.sbatch grid_sweep.py --command "Rscript 02_indep_differential.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["robustness_1.feather"],"y_explained_variance":${explained_variances}, "Bzy":[-0.3],"Bxy":[0.3],"Bzx":[0.3], "outcome_formula":["y~x+z"], "proxy_formula":["w_pred~y+x"], "truth_formula":["x~1"]}' --outfile robustness_1_jobs + + +robustness_1.feather: robustness_1_jobs + rm -f robustness_1.feather + sbatch --wait --verbose --array=1-1000 run_simulation.sbatch 0 robustness_1_jobs + sbatch --wait --verbose --array=1001-2000 run_simulation.sbatch 0 robustness_1_jobs + sbatch --wait --verbose --array=2001-3000 run_simulation.sbatch 0 robustness_1_jobs + sbatch --wait --verbose --array=3001-4000 run_simulation.sbatch 0 robustness_1_jobs + sbatch --wait --verbose --array=4001-$(shell cat robustness_1_jobs | wc -l) run_simulation.sbatch 0 robustness_1_jobs + +robustness_1.RDS: robustness_1.feather + rm -f robustness_1.RDS + ${srun} Rscript plot_example.R --infile $< --name "robustness_1" --remember-file $@ + +robustness_1_dv_jobs: simulation_base.R 04_depvar_differential.R grid_sweep.py + ${srun} bash -c "source ~/.bashrc && grid_sweep.py --command 'Rscript 04_depvar_differential.R' --arg_dict \"{'N':${Ns},'m':${ms}, 'seed':${seeds}, 'outfile':['robustness_1_dv.feather'], 'y_explained_variance':${explained_variances}, 'proxy_formula':['w_pred~y']}\" --outfile robustness_1_dv_jobs" + + +robustness_1_dv.feather: robustness_1_dv_jobs + rm -f robustness_1_dv.feather + sbatch --wait --verbose --array=1-$(shell cat example_3_jobs | wc -l) run_simulation.sbatch 0 robustness_1_dv_jobs + + +robustness_1_dv.RDS: robustness_1_dv.feather + rm -f $@ + ${srun} Rscript plot_dv_example.R --infile $< --name "robustness_1_dv" --outfile $@ + + +robustness_2_jobs: grid_sweep.py 01_two_covariates.R simulation_base.R grid_sweep.py + rm -f $@ + ${srun} $< --command 'Rscript 01_two_covariates.R' --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["robustness_2.feather"],"y_explained_variance":${explained_variances}, "Bzy":[-0.3],"Bxy":[0.3],"Bzx":[0.3], "outcome_formula":["y~x+z"], "proxy_formula":["w_pred~y+x"], "truth_formula":["x~z"], "prediction_accuracy":[0.6,0.73,0.8,0.85,0.9,0.95]}' --outfile $@ + + +START=1 +END=$(shell cat robustness_2_jobs | wc -l) +STEP=1000 +ITEMS=$(shell seq $(START) $(STEP) $(END)) +robustness_2.feather: robustness_2_jobs + $(foreach item,$(ITEMS),sbatch --wait --verbose --array=$(shell expr $(item))-$(shell expr $(item) + $(STEP)) run_simulation.sbatch 0 $<) +# +clean: + rm *.feather + rm -f remembr.RDS + rm -f example_*_jobs # sbatch --wait --verbose --array=3001-6001 run_simulation.sbatch 0 example_2_B_jobs # example_2_B_mecor_jobs: -# grid_sweep.py --command "Rscript example_2_B_mecor.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_2_B_mecor.feather"]}' --outfile example_2_B_mecor_jobs +# sbatch --wait --verbose run_job.sbatch grid_sweep.py --command "Rscript example_2_B_mecor.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_2_B_mecor.feather"]}' --outfile example_2_B_mecor_jobs # example_2_B_mecor.feather:example_2_B_mecor.R example_2_B_mecor_jobs # rm -f example_2_B_mecor.feather @@ -59,3 +181,4 @@ remembr.RDS:example_2_B.feather example_1.feather example_2.feather example_3.fe +.PHONY: supplement