@@ -13,7 +13,7 @@ if (on_cran) {
1313 test_cases = expand.grid(
1414 learner = c(" regr.lm" , " regr.cv_glmnet" ),
1515 dml_procedure = c(" dml1" , " dml2" ),
16- score = c( " IV-type" ) ,
16+ score = " IV-type" ,
1717 stringsAsFactors = FALSE )
1818}
1919test_cases [" .test_name" ] = apply(test_cases , 1 , paste , collapse = " _" )
@@ -24,67 +24,40 @@ patrick::with_parameters_test_that("Unit tests for PLIV (partialX functional ini
2424 df = data_pliv $ df
2525 Xnames = names(df )[names(df ) %in% c(" y" , " d" , " z" , " z2" ) == FALSE ]
2626 data_ml = double_ml_data_from_data_frame(df ,
27- y_col = " y" ,
28- d_cols = " d" , x_cols = Xnames , z_cols = " z" )
29-
30- if (score == " partialling out" ) {
31- # Partial out X (default PLIV)
32- set.seed(3141 )
33- double_mlpliv_obj = DoubleMLPLIV $ new(data_ml ,
34- n_folds = 5 ,
35- ml_l = learner_pars $ ml_l $ clone(),
36- ml_m = learner_pars $ ml_m $ clone(),
37- ml_r = learner_pars $ ml_r $ clone(),
38- dml_procedure = dml_procedure ,
39- score = score )
40-
41- double_mlpliv_obj $ fit()
42- theta_obj = double_mlpliv_obj $ coef
43- se_obj = double_mlpliv_obj $ se
44-
45- # Partial out X
46- set.seed(3141 )
47- double_mlpliv_partX = DoubleMLPLIV.partialX(data_ml ,
48- n_folds = 5 ,
49- ml_l = learner_pars $ ml_l $ clone(),
50- ml_m = learner_pars $ ml_m $ clone(),
51- ml_r = learner_pars $ ml_r $ clone(),
52- dml_procedure = dml_procedure ,
53- score = score )
54- } else if (score == " IV-type" ) {
55- # Partial out X (default PLIV)
56- set.seed(3141 )
57- double_mlpliv_obj = DoubleMLPLIV $ new(data_ml ,
58- n_folds = 5 ,
59- ml_l = learner_pars $ ml_l $ clone(),
60- ml_m = learner_pars $ ml_m $ clone(),
61- ml_r = learner_pars $ ml_r $ clone(),
62- ml_g = learner_pars $ ml_g $ clone(),
63- dml_procedure = dml_procedure ,
64- score = score )
65-
66- double_mlpliv_obj $ fit()
67- theta_obj = double_mlpliv_obj $ coef
68- se_obj = double_mlpliv_obj $ se
69-
70- # Partial out X
71- set.seed(3141 )
72- double_mlpliv_partX = DoubleMLPLIV.partialX(data_ml ,
73- n_folds = 5 ,
74- ml_l = learner_pars $ ml_l $ clone(),
75- ml_m = learner_pars $ ml_m $ clone(),
76- ml_r = learner_pars $ ml_r $ clone(),
77- ml_g = learner_pars $ ml_g $ clone(),
78- dml_procedure = dml_procedure ,
79- score = score )
80-
81- }
82-
83- double_mlpliv_partX $ fit()
84- theta_partX = double_mlpliv_partX $ coef
85- se_partX = double_mlpliv_partX $ se
86-
87- expect_equal(theta_partX , theta_obj , tolerance = 1e-8 )
88- expect_equal(se_partX , se_obj , tolerance = 1e-8 )
27+ y_col = " y" ,
28+ d_cols = " d" , x_cols = Xnames , z_cols = " z" )
29+
30+ # Partial out X (default PLIV)
31+ set.seed(3141 )
32+ double_mlpliv_obj = DoubleMLPLIV $ new(data_ml ,
33+ n_folds = 5 ,
34+ ml_l = learner_pars $ ml_l $ clone(),
35+ ml_m = learner_pars $ ml_m $ clone(),
36+ ml_r = learner_pars $ ml_r $ clone(),
37+ ml_g = learner_pars $ ml_g $ clone(),
38+ dml_procedure = dml_procedure ,
39+ score = score )
40+
41+ double_mlpliv_obj $ fit()
42+ theta_obj = double_mlpliv_obj $ coef
43+ se_obj = double_mlpliv_obj $ se
44+
45+ # Partial out X
46+ set.seed(3141 )
47+ double_mlpliv_partX = DoubleMLPLIV.partialX(data_ml ,
48+ n_folds = 5 ,
49+ ml_l = learner_pars $ ml_l $ clone(),
50+ ml_m = learner_pars $ ml_m $ clone(),
51+ ml_r = learner_pars $ ml_r $ clone(),
52+ ml_g = learner_pars $ ml_g $ clone(),
53+ dml_procedure = dml_procedure ,
54+ score = score )
55+
56+ double_mlpliv_partX $ fit()
57+ theta_partX = double_mlpliv_partX $ coef
58+ se_partX = double_mlpliv_partX $ se
59+
60+ expect_equal(theta_partX , theta_obj , tolerance = 1e-8 )
61+ expect_equal(se_partX , se_obj , tolerance = 1e-8 )
8962 }
9063)
0 commit comments