DALEX icon indicating copy to clipboard operation
DALEX copied to clipboard

Option to specify random effects?

Open Jeffrothschild opened this issue 1 year ago • 1 comments

Hi, I'm wondering if it would be possible (or even make sense) to have the option to specify random effects in the model explainer?

I thought about this because when looking at feature importance, the full model RMSE is quite different to one that accounts for random effects. For example...

library(tidyverse)
library(tidymodels)
library(lme4)
library(DALEXtra)

df <- nlme::Oxboys 
df

# model using lmer

lmr_mod <- lme4::lmer(height ~ age + Occasion + (1|Subject), df)
sjstats::rmse(lmr_mod)
# RMSE is 1.2

# model with tidymodels
mixed_model_spec <- linear_reg() %>% set_engine("lmer")

mixed_model_wf <- workflow() %>%
  add_model(mixed_model_spec, formula = height ~ age + Occasion + (1|Subject)) %>%
  add_variables(outcomes = height, predictors = c(age, Occasion, Subject))

fit <- fit(mixed_model_wf, df)

explainer <- 
  explain_tidymodels(
    fit, 
    data = dplyr::select(df, c(age, Occasion, Subject)),
    y = df$height,
    label = "lmm",
    verbose = T)


var_imp <- 
  feature_importance(explainer)

# full model RMSE is 8.0

Jeffrothschild avatar Jun 25 '23 07:06 Jeffrothschild