1
$\begingroup$

I am working on analyzing the results of an observational study, a brief description of which is as follows:

X number of diabetic subjects have been recruited to collect naturalistic driving data, and subsequently model their driving behavior as a function of a bunch of predictors such as blood-glucose level, roadway and environmental characteristics, etc.

One aspect of this study that I am currently dealing with involves modeling the driver behavior at stop-controlled intersections using the following response and predictor variables:

  • Response variable: unsafe behavior (rolling stop or no stop) & safe behavior (full stop; reference level)
  • Predictor variable: Cumulative exposure to glucose episodes prior to the trip start. An episode is simply an event where the blood-glucose level stays below or above a certain threshold for a certain period of time. A trip is the movement of a car between two points from engine start to stop.

So, each row in my analysis data has a value of the response (unsafe or safe), and cumulative total duration of exposure to glucose episode at the trip start. During a trip a subject can come across multiple stop intersections, so there will be multiple rows for the response but the cumulative exposure information for those responses will be the same. I am using the lme4 R package and setting up the model formula as follows:

lme4::glmer(
  stop_beh ~ cumexp_episode_totalmins + (1|subj), # by-subj random effects
  data = my_data, 
  family = "binomial"
)

I am wondering if this is the correct way to handle cumulative exposure variables in MELR models?

Update

Based on Erik's response, I thought adding how my data is organized will add clarity to my question.

  "subj", "trip_id", "stop_encounter_id", "cumexp_episode_toatlmins",
  # start of the study period;
  # multiple stop sign encounters within a trip
  "A", 1, 1, 0,
  "A", 1, 2, 0,
  "A", 1, 3, 0,
  # driver had 15 minutes of episode before the start of trip 2;
  # notice the episode info is repeated for the trip
  "A", 2, 1, 15, 
  "A", 2, 2, 15,
  "A", 2, 3, 15,
  # no additional episode b/w trips 2 & 3
  "A", 3, 1, 15,
  "A", 3, 2, 15,
  # 15 more minutes of episode between trip 3 & 4
  "A", 4, 1, 30,
  "A", 4, 2, 30
$\endgroup$

1 Answer 1

1
$\begingroup$

Welcome to the site, Ashirwad. You can code your predictor variables however you want in a MELR. The bigger question is about whether the way you have coded it makes sense given your research question and whether it would be acceptable to substantive researchers well-versed in the topic.

Your current model treats the cumulative exposure as person-level variable having the same repeated value within subj.* This is completely acceptable, and if you keep it this way, assumes that the association is linear. You may want to consider whether there is a non-linear association between this variable and safe stopping behavior by including polynomial terms for cumulative exposure in the model.

One question I have is about whether your data is coded such that you know how much time elapsed between trip start and each instance of behavior at a stop-controlled occasion. If you do, then you could model the process as a time-varying effect. In such a model, each instance of stopping behavior is a function of how much time elapsed since injection and that occasion. The advantage of this formulation is that you can allow the effect of time elapsed to vary across persons, which seems relevant given that the rate at which the drug is metabolized likely varies across persons. This is practically accomplished in the mixed model by specifying the slope of the time elapsed variable as a random effect. This varying slope can also be investigated for non-linearity.

Edit based on updated information about trips

As noted, you have observed subjects for multiple trips. Hence, you can reformulate your current model into a 3-level model with trips nested within subjects. You can estimate this model as follows:

m1 <- glmer(
  stop_beh ~ cumexp_episode_totalmins + (1|subj/trip_id), data = my_data, 
  family = "binomial")

You can use a likelihood ratio test to see whether the addition of the third level provides a better fit to the data than your two level model (call it m0) by running anova(m0, m1). A p-value less than .05 is generally taken to mean that the more complicated three-level model provides a better fit to the data.

*Based on your comments, we now know that cumulative exposure is a trip-level variable that is consistent within trips, but different within subjects. That is fine. The model will estimate it's association with the outcome accordingly.

$\endgroup$
7
  • $\begingroup$ Thanks for your response & welcome, Erik! Also, apologies for responding late. I somehow missed the notification. $\endgroup$
    – Ashirwad
    Commented Feb 27, 2020 at 21:46
  • $\begingroup$ Now back to the question, the statement "Your current model treats the cumulative exposure as person-level variable having the same repeated value within subj" is slightly incorrect. The same values are repeated for multiple stop encounters within a trip, but it increases or stays the same with each additional trip depending on whether the person had an episode between those trips or not. $\endgroup$
    – Ashirwad
    Commented Feb 27, 2020 at 21:51
  • $\begingroup$ @Ashirwad: Does this mean that each individual took multiple trips? If so, how many? You may want to consider this as another nested random intercept (trips nested within subject). $\endgroup$
    – Erik Ruzek
    Commented Feb 27, 2020 at 22:05
  • $\begingroup$ Yes! I don't recall the number, but the number of trips varies by the subject. Yeah, that's a good idea. I will try that. $\endgroup$
    – Ashirwad
    Commented Feb 27, 2020 at 22:12
  • 1
    $\begingroup$ @Ashirwad, I updated my response. $\endgroup$
    – Erik Ruzek
    Commented Feb 28, 2020 at 2:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.