1
$\begingroup$

I am looking for an alternative to shapely regression for dominance analysis. I have recently heard about relative weights for dominance analysis and was curious if there was a way to compute this for linear mixed effects models in R? Due to its factorial nature, the domir package for dominance analysis takes far too long to compute when you have 20+ variables in your model.

I am using the lme4 package for my linear mixed effects model.

Any help at all would be greatly appreciated!

$\endgroup$

2 Answers 2

1
$\begingroup$

The method relative weights uses to avoid the all subsets models doesn't extend in a straightforward way to (generalized) linear mixed modeling and, to date, I have not seen research that has attempted such an extension.

20+ predictors is prohibitive for the current build of domir::domin but there might be a few workarounds with it's current build.

  1. Use predicted values

This would involve building a wrapper program that refers to a pre-estimated, full model and asks for predicted values for subsets of predictors (setting those that are not selected to all 0's to remove them from the predicted values).

Would then have to use a fit statistic that works with predicted values and not model estimated log-likelihood changes (as most do).

This approach differs from traditional dominance analysis in that the model won't be re-fit and, as a result, the fit metrics (especially at smaller subsets) may differ in noteworthy ways from the approach as re-fit. That said, avoiding refitting potentially millions of models, and only collecting predicted values, should speed up the computation substantially.

  1. Grouping strategically

Another approach would be to use a hierarchical dominance analysis using the sets argument. For example, constructing 3 or 4 sets of the 20+ predictors and running a traditional dominance analysis on that small number of sets. A rank ordering is then produced for those sets. You could then follow-up with a series of dominance analysis within each of the 3-4 sets (using all the variables not in each set as variables in the all argument to control for their effects). Then you could get both a between- and within-set series of ranks to get a sense of relative importance for all the predictors.

This approach would fail to be able to definitely compare specific predictors across sets (i.e., there will be at least some ambiguity about between-set comparisons in terms of dominance designations) but would far more feasible (with 20 predictors, 4 between sets with 5 variables within a set would be a total of 5 separate dominance analyses and a total 139 models run across all 5 [i.e., $(2^4-1)+(2^5-1)*4$] as opposed to 1,048,575 without any grouping) and allow for use of the traditional dominance analysis approach.

$\endgroup$
1
  • $\begingroup$ Masterful write-up, thank you! $\endgroup$
    – Detr4
    Apr 15, 2022 at 19:41
1
$\begingroup$

The dominanceanalysis::dominanceAnalysis function is what you need.

Please see this: https://github.com/clbustos/dominanceAnalysis/

$\endgroup$

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.