Skip to contents

Helper functions for shared-control multi-arm variance objectives, oracle values, Neyman allocations, regret, and rectangle vertices.

Usage

multiarm_variance_objective(pi, variances)

multiarm_oracle_variance(variances)

assign_multiarm_neyman(variances)

multiarm_regret(pi, variances)

multiarm_rectangle_vertices(rectangle, max_vertices = 65536L)

Arguments

pi

Named assignment-share vector over all arms, including control arm "0".

variances

Named variance vector over all arms, including control arm "0".

rectangle

Multi-arm variance rectangle, either a matrix/data frame with lower and upper columns or a named vector with entries like v_l0, v_u0, v_l1, v_u1.

max_vertices

Maximum number of hyperrectangle vertices to enumerate.

Value

Numeric objective/regret values, named assignment vectors, or a vertex matrix. assign_multiarm_neyman() returns total assignment shares over control and all treatment arms. multiarm_rectangle_vertices() returns one row per variance-rectangle vertex.

Examples

variances <- c("0" = 0.05, "1" = 0.10, "2" = 0.04)
pi <- assign_multiarm_neyman(variances)
multiarm_variance_objective(pi, variances)
#> [1] 0.6929822
multiarm_regret(pi, variances)
#> [1] -1.110223e-16