DominanceAnalysis
Dominance Analysis (Azen and Bodescu), for multiple regression models: OLS (univariate, multivariate), beta regression, Dynamic Linear Models, GLM and HLM
Install / Use
/learn @clbustos/DominanceAnalysisREADME
dominanceanalysis <img src='logo/dominance_analysis_logo.png' align="right" height="139" />
Dominance Analysis (Azen and Budescu, 2003, 2006; Azen and Traxel, 2009; Budescu, 1993; Luo and Azen, 2013), for multiple regression models: Ordinary Least Squares, Generalized Linear Models, Dynamic Linear Models and Hierarchical Linear Models.
Features:
- Provides complete, conditional and general dominance analysis for lm (univariate and multivariate), clm, dynlm, lmer, betareg and glm (family=binomial) models.
- Covariance / correlation matrixes could be used as input for OLS
dominance analysis, using
lmWithCov()andmlmWithCov()methods, respectively. - Multiple criteria can be used as fit indices, which is useful especially for HLM.
Examples
Linear regression
We could apply dominance analysis directly on the data, using lm (see Azen and Budescu, 2003).
The attitude data is composed of six predictors of the overall rating
of 35 clerical employees of a large financial organization: complaints,
privileges, learning, raises, critical and advancement. The method
dominanceAnalysis() can retrieve all necessary information directly
from a lm model.
library(dominanceanalysis)
lm.attitude<-lm(rating~.,attitude)
da.attitude<-dominanceAnalysis(lm.attitude)
Using print() method on the dominanceAnalysis object, we can see
that complaints completely dominates all other predictors, followed by
learning (lrnn). The remaining 4 variables (prvl,rass,crtc,advn) don’t
show a consistent pattern for complete and conditional dominance. The
average contribution of each predictor is also presented, that defines
defines general dominance.
The print() method uses abbreviate, to allow complex models to be
visualized at a glance.
print(da.attitude)
#>
#> Dominance analysis
#> Predictors: complaints, privileges, learning, raises, critical, advance
#> Fit-indices: r2
#>
#> * Fit index: r2
#> complete conditional
#> complaints prvl,lrnn,rass,crtc,advn prvl,lrnn,rass,crtc,advn
#> privileges crtc crtc
#> learning prvl,rass,crtc,advn prvl,rass,crtc,advn
#> raises crtc crtc
#> critical
#> advance
#> general
#> complaints prvl,lrnn,rass,crtc,advn
#> privileges crtc,advn
#> learning prvl,rass,crtc,advn
#> raises prvl,crtc,advn
#> critical
#> advance crtc
#>
#> Average contribution:
#> complaints learning raises privileges advance critical
#> 0.371 0.156 0.120 0.051 0.028 0.007
The dominance brief and average contribution of each predictor could be
retrieved separately using dominanceBriefing() and
averageContribution() methods, respectively.
dominanceBriefing(da.attitude, abbrev = TRUE)$r2
#> complete conditional
#> complaints prvl,lrnn,rass,crtc,advn prvl,lrnn,rass,crtc,advn
#> privileges crtc crtc
#> learning prvl,rass,crtc,advn prvl,rass,crtc,advn
#> raises crtc crtc
#> critical
#> advance
#> general
#> complaints prvl,lrnn,rass,crtc,advn
#> privileges crtc,advn
#> learning prvl,rass,crtc,advn
#> raises prvl,crtc,advn
#> critical
#> advance crtc
averageContribution(da.attitude)
#>
#> Average Contribution by predictor
#> complaints privileges learning raises critical advance
#> r2 0.371 0.051 0.156 0.12 0.007 0.028
The summary() method shows the complete dominance analysis matrix,
that presents all fit differences between levels. Also, provides the
average contribution of each variable.
summary(da.attitude)
#>
#> * Fit index: r2
#>
#> Average contribution of each variable:
#>
#> complaints learning raises privileges advance critical
#> 0.371 0.156 0.120 0.051 0.028 0.007
#>
#> Dominance Analysis matrix:
#> model level fit complaints
#> 1 0 0 0.681
#> complaints 1 0.681
#> privileges 1 0.182 0.501
#> learning 1 0.389 0.319
#> raises 1 0.348 0.336
#> critical 1 0.024 0.657
#> advance 1 0.024 0.658
#> Average level 1 1 0.494
#> complaints+privileges 2 0.683
#> complaints+learning 2 0.708
#> complaints+raises 2 0.684
#> complaints+critical 2 0.681
#> complaints+advance 2 0.682
#> privileges+learning 2 0.408 0.307
#> privileges+raises 2 0.382 0.305
#> privileges+critical 2 0.191 0.493
#> privileges+advance 2 0.182 0.502
#> learning+raises 2 0.451 0.258
#> learning+critical 2 0.396 0.312
#> learning+advance 2 0.432 0.293
#> raises+critical 2 0.353 0.331
#> raises+advance 2 0.399 0.291
#> critical+advance 2 0.038 0.645
#> Average level 2 2 0.374
#> complaints+privileges+learning 3 0.715
#> complaints+privileges+raises 3 0.686
#> complaints+privileges+critical 3 0.683
#> complaints+privileges+advance 3 0.683
#> complaints+learning+raises 3 0.708
#> complaints+learning+critical 3 0.708
#> complaints+learning+advance 3 0.726
#> complaints+raises+critical 3 0.684
#> complaints+raises+advance 3 0.69
#> complaints+critical+advance 3 0.682
#> privileges+learning+raises 3 0.459 0.257
#> privileges+learning+critical 3 0.413 0.302
#> privileges+learning+advance 3 0.458 0.271
#> privileges+raises+critical 3 0.386 0.301
#> privileges+raises+advance 3 0.443 0.247
#> privileges+critical+advance 3 0.191 0.493
#> learning+raises+critical 3 0.451 0.257
#> learning+raises+advance 3 0.552 0.176
#> learning+critical+advance 3 0.453 0.274
#> raises+critical+advance 3 0.401 0.288
#> Average level 3 3 0.287
#> complaints+privileges+learning+raises 4 0.715
#> complaints+privileges+learning+critical 4 0.715
#> complaints+privileges+learning+advance 4 0.729
#> complaints+privileges+raises+critical 4 0.686
#> complaints+privileges+raises+advance 4 0.69
#> complaints+privileges+critical+advance 4 0.684
#> complaints+learning+raises+critical 4 0.708
#> complaints+learning+raises+advance 4 0.729
#> complaints+learning+critical+advance 4 0.727
#> complaints+raises+critical+advance 4 0.69
#> privileges+learning+raises+critical 4 0.459 0.256
#> privileges+learning+raises+advance 4 0.563 0.169
#> privileges+learning+critical+advance 4 0.476 0.255
#> privileges+raises+critical+advance 4 0.445 0.246
#> learning+raises+critical+advance 4 0.553 0.176
#>
Related Skills
node-connect
349.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
