knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
library(rMOST)
This document presents the example application of the rMOST package. Please refer to Study 3 of Zhang et al. (in press) for a complete guideline on adopting multi-objective optimization for personnel selection.
Note that different input parameters are required for different types of optimization problems. Below are the inputs needed for an example multi-objective optimization problem with 5 predictors.
## Input ## # Predictor intercorrelation matrix Rx <- matrix(c( 1, .37, .51, .16, .25, .37, 1, .03, .31, .02, .51, .03, 1, .13, .34, .16, .31, .13, 1,-.02, .25, .02, .34,-.02, 1), 5, 5) # Criterion validity of the predictors Rxy1 <- c(.32, .52, .22, .48, .20) Rxy2 <- c(.30, .35, .15, .25, .10) Rxy3 <- c(.15, .25, .30, .35, .10) # Overall selection ratio sr <- 0.15 # Proportion of minority applicants prop_b <- 1/8 # Proportion of Black applicants (i.e., (# of Black applicants)/(# of all applicants)) prop_h <- 1/6 # Proportion of Hispanic applicants # Predictor subgroup d d_wb <- c(.39, .72, -.09, .39, .04) # White-Black subgroup difference d_wh <- c(.17, .79, .08, .04, -.14) # White-Hispanic subgroup difference
An example of such a MOO problem is when an organization seeks to optimize job performance, retention, and organizational commitment.
# Example: 3 non-adverse impact objectives out_3C = MOST(optProb = "3C", # predictor intercorrelations Rx = Rx, # predictor - objective relations Rxy1 = Rxy1, # non-AI objective 1 Rxy2 = Rxy2, # non-AI objective 2 Rxy3 = Rxy3, # non-AI objective 3 Spac = 10) # The first few solutions head(out_3C)
An example of such a MOO problem is when an organization seeks to optimize job performance, retention, and Black-white adverse impact ratio.
# Example: 2 non-adverse impact objectives & 1 adverse impact objective out_2C_1AI = MOST(optProb = "2C_1AI", # predictor intercorrelations Rx = Rx, # predictor - objective relations Rxy1 = Rxy1, # non-AI objective 1 Rxy2 = Rxy2, # non-AI objective 2 d1 = d_wb, # subgroup difference for minority 1 # selection ratio sr = sr, # proportion of minority prop1 = prop_b, # minority 1 Spac = 10) # The first few solutions head(out_2C_1AI)
An example of such a MOO problem is when an organization seeks to optimize job performance, Black-white adverse impact ratio, and Hispanic-white adverse impact ratio. Note that the 2 adverse-impact objectives should have the same reference group. For example, the objectives can be Black-white adverse impact ratio and Hispanic-white adverse impact ratio. The objectives cannot be Black-white adverse impact ratio and female-male adverse impact ratio.
# Example: 1 non-adverse impact objective & 2 adverse impact objectives out_1C_2AI = MOST(optProb = "1C_2AI", # predictor intercorrelations Rx = Rx, # predictor - objective relations Rxy1 = Rxy1, # non-AI objective 1 d1 = d_wb, # subgroup difference for minority 1 d2 = d_wh, # subgroup difference for minority 2 # selection ratio sr = sr, # proportion of minority prop1 = prop_b, # minority 1 prop2 = prop_h, # minority 2 Spac = 10) # The first few solutions head(out_1C_2AI)
Each row of the output corresponds to a set of predictor weights and the corresponding outcome for each of the three objectives.
Columns 3 - 5: the expected outcome values for each objective
Columns 6 - : the weights assigned to each predictor
Given the output of rMOST::MOST(), users can select a final solution (i.e., a final set of predictor weights) based on their goal. Predictor weights of the final solution could be used to create a predictor composite to be used in selection.
Take solution 1 in an optimization problem with 3 non-adverse impact objectives as an example. This solution assigns the weight of r out_3C[1, 6]
to predictor P1, r out_3C[1, 7]
to predictor P2, r out_3C[1, 8]
to predictor P3, r out_3C[1, 9]
to predictor P4, and r out_3C[1, 10]
to predictor P5.
out_3C[1, 6:ncol(out_3C)]
Assuming a top-down selection, a predictor composite created with these weights would result in the following outcomes. The predictor composite would have a validity of r out_3C[1, 3]
for objective C1, r out_3C[1, 4]
for objective C2, and r out_3C[1, 5]
for objective C3.
out_3C[1, 3:5]
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.