declaration_to_condition_pr_mat: Builds a condition probaability matrix for Horvitz-Thompson...

Description Usage Arguments Details Examples

View source: R/helper_condition_pr_matrix.R

Description

Builds a condition probaability matrix for Horvitz-Thompson estimation from randomizr declaration

Usage

1

Arguments

declaration

An object of class 'ra_declaration' that contains the experimental design

Details

This function takes a 'ra_declaration' from the declare_ra function in randomizr and returns a 2n*2n matrix that can be used to fully specify the design for horvitz_thompson estimation. This is done by passing this matrix to the condition_pr_mat argument of horvitz_thompson.

Currently, this function can learn the condition probability matrix for a wide variety of randomizations: simple, complete, simple clustered, complete clustered, blocked, block-clustered.

This matrix is made up of four-submatrices, each of which corresponds to the joint and marginal probability that each observation is in one of the two treatment conditions.

The upper-left quadrant is an n*n matrix. On the diagonal is the marginal probability of being in condition 1, often control, for every unit (Pr(Z_i = Condition1) where Z represents the vector of treatment conditions). The off-diagonal elements are the joint probabilities of each unit being in condition 1 with each other unit, Pr(Z_i = Condition1, Z_j = Condition1) where i indexes the rows and j indexes the columns.

The upper-right quadrant is also an n*n matrix. On the diagonal is the joint probability of a unit being in condition 1 and condition 2, often the treatment, and thus is always 0. The off-diagonal elements are the joint probability of unit i being in condition 1 and unit j being in condition 2, Pr(Z_i = Condition1, Z_j = Condition2).

The lower-left quadrant is also an n*n matrix. On the diagonal is the joint probability of a unit being in condition 1 and condition 2, and thus is always 0. The off-diagonal elements are the joint probability of unit i being in condition 2 and unit j being in condition 1, Pr(Z_i = Condition2, Z_j = Condition1).

The lower-right quadrant is an n*n matrix. On the diagonal is the marginal probability of being in condition 2, often treatment, for every unit (Pr(Z_i = Condition2)). The off-diagonal elements are the joint probability of each unit being in condition 2 together, Pr(Z_i = Condition2, Z_j = Condition2).

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# Learn condition probability matrix from complete clustered design
library(randomizr)
n <- 100
dat <- data.frame(
  clusts = sample(letters[1:10], size = n, replace = TRUE),
  y = rnorm(n)
)

# Declare complete clustered randomization
cl_declaration <- declare_ra(clusters = dat$clusts, prob = 0.4, simple = FALSE)
# Get probabilities
clust_pr_mat <- declaration_to_condition_pr_mat(cl_declaration)
# Do randomiztion
dat$z <- cl_declaration$ra_function()

horvitz_thompson(y ~ z, data = dat, condition_pr_mat = clust_pr_mat)

# When you pass a declaration to horvitz_thompson, this function is called
horvitz_thompson(y ~ z, data = dat, declaration = cl_declaration)

DeclareDesign/DDestimate documentation built on Jan. 23, 2018, 7:01 a.m.