bias_params
is one of two different options to represent bias assumptions for bias adjustment. The multibias_adjust()
function will apply the assumptions from these models and use them to adjust for biases in the observed data. It takes one input, a list, where each item in the list corresponds to the necessary models for bias adjustment. See below for bias models.
For each of the following bias models, the variables are defined:
X = True exposure
X* = Misclassified exposure
Y = True outcome
Y* = Misclassified outcome
C = Known confounder
j = Number of known confounders
U = Uncontrolled confounder
S = Selection indicator
logit(P(U=1)) = α0 + α1X + α2Y + α2+jCj
logit(P(X=1)) = δ0 + δ1X* + δ2Y + δ2+jCj
logit(P(Y=1)) = δ0 + δ1X + δ2Y* + δ2+jCj
logit(P(S=1)) = β0 + β1X + β2Y
logit(P(U=1)) = α0 + α1X + α2Y
logit(P(X=1)) = δ0 + δ1X* + δ2Y + δ2+jCj
log(P(X=1,U=0)/P(X=0,U=0)) = γ1,0 + γ1,1X* + γ1,2Y + γ1,2+jCj
log(P(X=0,U=1)/P(X=0,U=0)) = γ2,0 + γ2,1X* + γ2,2Y + γ2,2+jCj
log(P(X=1,U=1)/P(X=0,U=0)) = γ3,0 + γ3,1X* + γ3,2Y + γ3,2+jCj
logit(P(U=1)) = α0 + α1X + α2Y
logit(P(Y=1)) = δ0 + δ1X + δ2Y* + δ2+jCj
log(P(U=1,Y=0)/P(U=0,Y=0)) = γ1,0 + γ1,1X + γ1,2Y* + γ1,2+jCj
log(P(U=0,Y=1)/P(U=0,Y=0)) = γ2,0 + γ2,1X + γ2,2Y* + γ2,2+jCj
log(P(U=1,Y=1)/P(U=0,Y=0)) = γ3,0 + γ3,1X + γ3,2Y* + γ3,2+jCj
logit(P(U=1)) = α0 + α1X + α2Y + α2+jCj
logit(P(S=1)) = β0 + β1X + β2Y
logit(P(X=1)) = δ0 + δ1X* + δ2Y* + δ2+jCj
logit(P(Y=1)) = β0 + β1X + β2Y* + β2+jCj
log(P(X=1,Y=0) / P(X=0,Y=0)) = γ1,0 + γ1,1X* + γ1,2Y* + γ1,2+jCj
log(P(X=0,Y=1) / P(X=0,Y=0)) = γ2,0 + γ2,1X* + γ2,2Y* + γ2,2+jCj
log(P(X=1,Y=1) / P(X=0,Y=0)) = γ3,0 + γ3,1X* + γ3,2Y* + γ3,2+jCj
logit(P(X=1)) = δ0 + δ1X* + δ2Y + δ2+jCj
logit(P(S=1)) = β0 + β1X* + β2Y + β2+jCj
logit(P(Y=1)) = δ0 + δ1X + δ2Y* + δ2+jCj
logit(P(S=1)) = β0 + β1X + β2Y* + β2+jCj
logit(P(U=1)) = α0 + α1X + α2Y
logit(P(X=1)) = δ0 + δ1X* + δ2Y + δ2+jCj
logit(P(S=1)) = β0 + β1X* + β2Y + β2+jCj
log(P(X=1,U=0)/P(X=0,U=0)) = γ1,0 + γ1,1X* + γ1,2Y + γ1,2+jCj
log(P(X=0,U=1)/P(X=0,U=0)) = γ2,0 + γ2,1X* + γ2,2Y + γ2,2+jCj
log(P(X=1,U=1)/P(X=0,U=0)) = γ3,0 + γ3,1X* + γ3,2Y + γ3,2+jCj
logit(P(S=1)) = β0 + β1X* + β2Y + β2+jCj
logit(P(U=1)) = α0 + α1X + α2Y
logit(P(Y=1)) = δ0 + δ1X + δ2Y* + δ2+jCj
logit(P(S=1)) = β0 + β1X + β2Y* + β2+jCj
log(P(U=1,Y=0)/P(U=0,Y=0)) = γ1,0 + γ1,1X + γ1,2Y* + γ1,2+jCj
log(P(U=0,Y=1)/P(U=0,Y=0)) = γ2,0 + γ2,1X + γ2,2Y* + γ2,2+jCj
log(P(U=1,Y=1)/P(U=0,Y=0)) = γ3,0 + γ3,1X + γ3,2Y* + γ3,2+jCj
logit(P(S=1)) = β0 + β1X + β2Y* + β2+jCj
bias_params(coef_list)
List of coefficient values from the above options of models. Each item of the list is an equation. The left side of the equation identifies the model (i.e., "u" for the model predicting the uncontrolled confounder). For the multinomial models, specify the value here based on the numerator (i.e., "x1u0", "x0u1", "x1u1" for the three multinomial models in Uncontrolled Confounding & Exposure Misclassification, Option 2) The right side of the equation is the vector of values corresponding to the model coefficients (from left to right).
list_for_uc <- list(
u = c(-0.19, 0.61, 0.70, -0.09, 0.10, -0.15)
)
bp_uc <- bias_params(coef_list = list_for_uc)
list_for_em_om <- list(
x1y0 = c(-2.18, 1.63, 0.23, 0.36),
x0y1 = c(-3.17, 0.22, 1.60, 0.40),
x1y1 = c(-4.76, 1.82, 1.83, 0.72)
)
bp_em_om <- bias_params(coef_list = list_for_em_om)
Run the code above in your browser using DataLab