Skip to content

Commit 03c291e

Browse files
committed
Updated BCF
1 parent 91c9614 commit 03c291e

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

R/bcf.R

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1762,7 +1762,7 @@ predict.bcfmodel <- function(object, X, Z, propensity = NULL, rfx_group_ids = NU
17621762
tau_num_obs <- tau_dim[1]
17631763
tau_num_samples <- tau_dim[3]
17641764
treatment_term <- matrix(NA_real_, nrow = tau_num_obs, tau_num_samples)
1765-
for (i in 1:nrow(Z_train)) {
1765+
for (i in 1:nrow(Z)) {
17661766
treatment_term[i,] <- colSums(tau_hat[i,,] * Z[i,])
17671767
}
17681768
} else {
@@ -2020,6 +2020,7 @@ saveBCFModelToJson <- function(object){
20202020
jsonobj$add_boolean("has_rfx", object$model_params$has_rfx)
20212021
jsonobj$add_boolean("has_rfx_basis", object$model_params$has_rfx_basis)
20222022
jsonobj$add_scalar("num_rfx_basis", object$model_params$num_rfx_basis)
2023+
jsonobj$add_boolean("multivariate_treatment", object$model_params$multivariate_treatment)
20232024
jsonobj$add_boolean("adaptive_coding", object$model_params$adaptive_coding)
20242025
jsonobj$add_boolean("internal_propensity_model", object$model_params$internal_propensity_model)
20252026
jsonobj$add_scalar("num_gfr", object$model_params$num_gfr)
@@ -2351,6 +2352,7 @@ createBCFModelFromJson <- function(json_object){
23512352
model_params[["has_rfx_basis"]] <- json_object$get_boolean("has_rfx_basis")
23522353
model_params[["num_rfx_basis"]] <- json_object$get_scalar("num_rfx_basis")
23532354
model_params[["adaptive_coding"]] <- json_object$get_boolean("adaptive_coding")
2355+
model_params[["multivariate_treatment"]] <- json_object$get_boolean("multivariate_treatment")
23542356
model_params[["internal_propensity_model"]] <- json_object$get_boolean("internal_propensity_model")
23552357
model_params[["num_gfr"]] <- json_object$get_scalar("num_gfr")
23562358
model_params[["num_burnin"]] <- json_object$get_scalar("num_burnin")
@@ -2690,6 +2692,7 @@ createBCFModelFromCombinedJson <- function(json_object_list){
26902692
model_params[["num_chains"]] <- json_object_default$get_scalar("num_chains")
26912693
model_params[["keep_every"]] <- json_object_default$get_scalar("keep_every")
26922694
model_params[["adaptive_coding"]] <- json_object_default$get_boolean("adaptive_coding")
2695+
model_params[["multivariate_treatment"]] <- json_object_default$get_boolean("multivariate_treatment")
26932696
model_params[["internal_propensity_model"]] <- json_object_default$get_boolean("internal_propensity_model")
26942697
model_params[["probit_outcome_model"]] <- json_object_default$get_boolean("probit_outcome_model")
26952698

@@ -2916,6 +2919,7 @@ createBCFModelFromCombinedJsonString <- function(json_string_list){
29162919
model_params[["num_covariates"]] <- json_object_default$get_scalar("num_covariates")
29172920
model_params[["num_chains"]] <- json_object_default$get_scalar("num_chains")
29182921
model_params[["keep_every"]] <- json_object_default$get_scalar("keep_every")
2922+
model_params[["multivariate_treatment"]] <- json_object_default$get_boolean("multivariate_treatment")
29192923
model_params[["adaptive_coding"]] <- json_object_default$get_boolean("adaptive_coding")
29202924
model_params[["internal_propensity_model"]] <- json_object_default$get_boolean("internal_propensity_model")
29212925
model_params[["probit_outcome_model"]] <- json_object_default$get_boolean("probit_outcome_model")

test/R/testthat/test-bcf.R

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -419,13 +419,14 @@ test_that("Multivariate Treatment MCMC BCF", {
419419
y_train <- y[train_inds]
420420

421421
# 1 chain, no thinning
422-
general_param_list <- list(num_chains = 1, keep_every = 1)
423-
expect_error(
422+
general_param_list <- list(num_chains = 1, keep_every = 1, adaptive_coding = F)
423+
expect_no_error({
424424
bcf_model <- bcf(X_train = X_train, y_train = y_train, Z_train = Z_train,
425425
propensity_train = pi_train, X_test = X_test, Z_test = Z_test,
426426
propensity_test = pi_test, num_gfr = 0, num_burnin = 10,
427427
num_mcmc = 10, general_params = general_param_list)
428-
)
428+
predict(bcf_model, X = X_test, Z = Z_test, propensity = pi_test)
429+
})
429430
})
430431

431432
test_that("BCF Predictions", {

0 commit comments

Comments
 (0)