| COMMA_EM | R Documentation |
Jointly estimate \beta, \gamma, and \theta parameters from
the true mediator, observed mediator, and outcome mechanisms, respectively,
in a binary mediator misclassification model.
COMMA_EM(
Mstar,
outcome,
outcome_distribution,
interaction_indicator,
x_matrix,
z_matrix,
c_matrix,
beta_start,
gamma_start,
theta_start,
sigma_start = NULL,
tolerance = 1e-07,
max_em_iterations = 1500,
em_method = "squarem"
)
Mstar |
A numeric vector of indicator variables (1, 2) for the observed
mediator |
outcome |
A vector containing the outcome variables of interest. There
should be no |
outcome_distribution |
A character string specifying the distribution of
the outcome variable. Options are |
interaction_indicator |
A logical value indicating if an interaction between
|
x_matrix |
A numeric matrix of predictors in the true mediator and outcome mechanisms.
|
z_matrix |
A numeric matrix of covariates in the observation mechanism.
|
c_matrix |
A numeric matrix of covariates in the true mediator and outcome mechanisms.
|
beta_start |
A numeric vector or column matrix of starting values for the |
gamma_start |
A numeric vector or matrix of starting values for the |
theta_start |
A numeric vector or column matrix of starting values for the |
sigma_start |
A numeric value specifying the starting value for the
standard deviation. This value is only required if |
tolerance |
A numeric value specifying when to stop estimation, based on
the difference of subsequent log-likelihood estimates. The default is |
max_em_iterations |
A numeric value specifying when to stop estimation, based on
the difference of subsequent log-likelihood estimates. The default is |
em_method |
A character string specifying which EM algorithm will be applied.
Options are |
COMMA_EM returns a data frame containing four columns. The first
column, Parameter, represents a unique parameter value for each row.
The next column contains the parameter Estimates, followed by the standard
error estimates, SE. The final column, Convergence, reports
whether or not the algorithm converged for a given parameter estimate.
set.seed(20240709)
sample_size <- 2000
n_cat <- 2 # Number of categories in the binary mediator
# Data generation settings
x_mu <- 0
x_sigma <- 1
z_shape <- 1
c_shape <- 1
# True parameter values (gamma terms set the misclassification rate)
true_beta <- matrix(c(1, -2, .5), ncol = 1)
true_gamma <- matrix(c(1, 1, -.5, -1.5), nrow = 2, byrow = FALSE)
true_theta <- matrix(c(1, 1.5, -2, -.2), ncol = 1)
example_data <- COMMA_data(sample_size, x_mu, x_sigma, z_shape, c_shape,
interaction_indicator = FALSE,
outcome_distribution = "Bernoulli",
true_beta, true_gamma, true_theta)
beta_start <- matrix(rep(1, 3), ncol = 1)
gamma_start <- matrix(rep(1, 4), nrow = 2, ncol = 2)
theta_start <- matrix(rep(1, 4), ncol = 1)
Mstar = example_data[["obs_mediator"]]
outcome = example_data[["outcome"]]
x_matrix = example_data[["x"]]
z_matrix = example_data[["z"]]
c_matrix = example_data[["c"]]
EM_results <- COMMA_EM(Mstar, outcome, "Bernoulli", FALSE,
x_matrix, z_matrix, c_matrix,
beta_start, gamma_start, theta_start)
EM_results
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.