1
0

Add another robustness check for varying levels of accuracy.

This commit is contained in:
Nathan TeBlunthuis 2022-12-11 14:42:06 -08:00
parent 82fe7b0f48
commit 8ac33c14d7
2 changed files with 38 additions and 7 deletions

View File

@ -126,7 +126,15 @@ robustness_1_jobs: 02_indep_differential.R simulation_base.R grid_sweep.py
robustness_1.feather: robustness_1_jobs robustness_1.feather: robustness_1_jobs
rm -f robustness_1.feather rm -f robustness_1.feather
sbatch --wait --verbose --array=1-$(shell cat robustness_1_jobs | wc -l) run_simulation.sbatch 0 robustness_1_jobs 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 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" ${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"
@ -137,12 +145,26 @@ robustness_1_dv.feather: robustness_1_dv_jobs
sbatch --wait --verbose --array=1-$(shell cat example_3_jobs | wc -l) run_simulation.sbatch 0 robustness_1_dv_jobs sbatch --wait --verbose --array=1-$(shell cat example_3_jobs | wc -l) run_simulation.sbatch 0 robustness_1_dv_jobs
remember_robustness_misspec.RDS: robustness_1.feather robustness_1_dv.feather robustness_1_dv.RDS: robustness_1_dv.feather
rm -f remember_robustness_misspec.RDS rm -f $@
sbatch --wait --verbose run_job.sbatch Rscript plot_example.R --infile robustness_1.feather --name "plot.df.robustness.1" --remember-file "remember_robustness_misspec.RDS" ${srun} Rscript plot_dv_example.R --infile $< --name "robustness_1_dv" --outfile $@
sbatch --wait --verbose run_job.sbatch Rscript plot_dv_example.R --infile robustness_1_dv.feather --name "plot.df.robustness.1.dv" --remember-file "remember_robustness_mispec.RDS"
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: clean:
rm *.feather rm *.feather
rm -f remembr.RDS rm -f remembr.RDS

View File

@ -1,5 +1,14 @@
# robustness_1.RDS # robustness\_1.RDS
Tests how robust the MLE method is when the model for $X$ is less precise. In the main result, we include $Z$ on the right-hand-side of the `truth_formula`. Tests how robust the MLE method for independent variables with differential error is when the model for $X$ is less precise. In the main paper, we include $Z$ on the right-hand-side of the `truth_formula`.
In this robustness check, the `truth_formula` is an intercept-only model. In this robustness check, the `truth_formula` is an intercept-only model.
The stats are in the list named `robustness_1` in the `.RDS` file.
# robustness\_1\_dv.RDS
Like `robustness\_1.RDS` but with a less precise model for $w_pred$. In the main paper, we included $Z$ in the `outcome_formula`. In this robustness check, we do not.
# robustness_2.RDS
This is just example 1 with varying levels of classifier accuracy.