Learn R Programming

GreedyExperimentalDesign (version 1.5.6.1)

Greedy Experimental Design Construction

Description

Computes experimental designs for a two-arm experiment with covariates via a number of methods: (0) complete randomization and randomization with forced-balance, (1) Greedily optimizing a balance objective function via pairwise switching. This optimization provides lower variance for the treatment effect estimator (and higher power) while preserving a design that is close to complete randomization. We return all iterations of the designs for use in a permutation test, (2) The second is via numerical optimization (via 'gurobi' which must be installed, see ) a la Bertsimas and Kallus, (3) rerandomization, (4) Karp's method for one covariate, (5) exhaustive enumeration to find the optimal solution (only for small sample sizes), (6) Binary pair matching using the 'nbpMatching' library, (7) Binary pair matching plus design number (1) to further optimize balance, (8) Binary pair matching plus design number (3) to further optimize balance, (9) Hadamard designs, (10) Simultaneous Multiple Kernels. In (1-9) we allow for three objective functions: Mahalanobis distance, Sum of absolute differences standardized and Kernel distances via the 'kernlab' library. This package is the result of a stream of research that can be found in Krieger, A, Azriel, D and Kapelner, A "Nearly Random Designs with Greatly Improved Balance" (2016) , Krieger, A, Azriel, D and Kapelner, A "Better Experimental Design by Hybridizing Binary Matching with Imbalance Optimization" (2021) .

Copy Link

Version

Install

install.packages('GreedyExperimentalDesign')

Monthly Downloads

278

Version

1.5.6.1

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

July 12th, 2023

Functions in GreedyExperimentalDesign (1.5.6.1)

initBinaryMatchFollowedByRerandomizationDesignSearch

Begin a Search for Binary Matching Followed by Rerandomization
initGreedyMultipleKernelExperimentalDesignObject

Begin A Greedy Pair Multiple Kernel Switching Search
initBinaryMatchFollowedByGreedyExperimentalDesignSearch

Begin a Search for Binary Matching Followed by Greedy Switch Designs
imbalanced_block_designs

Implements unequally allocated block designs
imbalanced_complete_randomization

Implements unequally allocated complete randomization
initKarpExperimentalDesignObject

Begin Karp Search
initBinaryMatchExperimentalDesignSearch

Begin a Binary Match Search
hadamardExperimentalDesign

Create a Hadamard Design
initGreedyExperimentalDesignObject

Begin A Greedy Pair Switching Search
initOptimalExperimentalDesignObject

Begin a Search for the Optimal Solution
print.binary_then_rerandomization_experimental_design

Prints a summary of a binary_then_rerandomization_experimental_design object
print.binary_then_greedy_experimental_design

Prints a summary of a binary_then_greedy_experimental_design object
optimize_asymmetric_treatment_assignment

Compute Optimal Number of Treatments/Controls
resultsBinaryMatchSearch

Binary Pair Match Search
resultsBinaryMatchThenGreedySearch

Returns unique allocation vectors that are binary matched
print.karp_experimental_design_search

Prints a summary of a karp_experimental_design_search object
plot.greedy_experimental_design_search

Plots a summary of a greedy search object object
print.optimal_experimental_design_search

Prints a summary of a optimal_experimental_design_search object
resultsKarpSearch

Returns the results (thus far) of the karp design search
resultsMultipleKernelGreedySearch

Returns the results (thus far) of the greedy design search for multiple kernels
initRerandomizationExperimentalDesignObject

Begin a Rerandomization Search
resultsBinaryMatchThenRerandomizationSearch

Returns unique allocation vectors that are binary matched
resultsGreedySearch

Returns the results (thus far) of the greedy design search
resultsRerandomizationSearch

Returns the results (thus far) of the rerandomization design search
resultsOptimalSearch

Returns the results (thus far) of the optimal design search
print.pairwise_matching_experimental_design_search

Prints a summary of a pairwise_matching_experimental_design_search object
print.rerandomization_experimental_design_search

Prints a summary of a rerandomization_experimental_design_search object
plot_obj_val_order_statistic

Plots an order statistic of the object value as a function of number of searches
standardize_data_matrix

Standardizes the columns of a data matrix.
summary.greedy_multiple_kernel_experimental_design

Prints a summary of a greedy_multiple_kernel_experimental_design object
summary.optimal_experimental_design_search

Prints a summary of a optimal_experimental_design_search object
print.binary_match_structure

Prints a summary of a binary_match_structure object
searchTimeElapsed

Returns the amount of time elapsed
startSearch

Starts the parallelized greedy design search.
summary.pairwise_matching_experimental_design_search

Prints a summary of a pairwise_matching_experimental_design_search object
summary.binary_then_rerandomization_experimental_design

Prints a summary of a binary_then_rerandomization_experimental_design object
summary.rerandomization_experimental_design_search

Prints a summary of a rerandomization_experimental_design_search object
stopSearch

Stops the parallelized greedy design search.
summary.karp_experimental_design_search

Prints a summary of a karp_experimental_design_search object
summary.greedy_experimental_design_search

Prints a summary of a greedy_experimental_design_search object
print.greedy_multiple_kernel_experimental_design

Prints a summary of a greedy_multiple_kernel_experimental_design object
print.greedy_experimental_design_search

Prints a summary of a greedy_experimental_design_search object
summary.binary_then_greedy_experimental_design

Prints a summary of a binary_then_greedy_experimental_design object
plot_obj_val_by_iter

Plots the objective value by iteration
summary.binary_match_structure

Prints a summary of a binary_match_structure object
plot.greedy_multiple_kernel_experimental_design

Plots a summary of a greedy_multiple_kernel_experimental_design object
GreedyExperimentalDesign

Greedy Experimental Design Search
complete_randomization

Implements complete randomization (without forced balance)
compute_gram_matrix

Gram Matrix Computation
compute_objective_val

Computes Objective Value From Allocation Vector
greedy_orthogonalization_curation

Curate More Orthogonal Vectors Greedily
computeBinaryMatchStructure

Compute Binary Matching Strcuture
generate_stdzied_design_matrix

Generates a design matrix with standardized predictors.
complete_randomization_with_forced_balanced

Implements forced balanced randomization
compute_randomization_metrics

Computes Randomization Metrics (explained in paper) about a design algorithm
automobile

Data concerning automobile prices.
greedy_orthogonalization_curation2

Curate More Orthogonal Vectors Greedily