library(rMOST)
#> Welcome to rMOST.
#> rMOST estimates Pareto-optimal solutions for personnel selection with 3 objectives using Normal Boundary Intersection algorithm.
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)
#>
#> Estimating Multi-Objective Optimal Solution ...
#>
#> Done.
#>
# The first few solutions
head(out_3C)
#> Solution Optimized C1 C2 C3 P1 P2 P3 P4 P5
#> 1 1 C1, C2, C3 0.658 0.400 0.407 0.030 0.399 0.094 0.346 0.161
#> 2 2 C1, C2, C3 0.658 0.404 0.406 0.049 0.406 0.098 0.343 0.153
#> 3 3 C1, C2, C3 0.657 0.407 0.404 0.069 0.413 0.100 0.340 0.146
#> 4 4 C1, C2, C3 0.656 0.410 0.401 0.088 0.421 0.100 0.338 0.141
#> 5 5 C1, C2, C3 0.654 0.412 0.397 0.106 0.430 0.098 0.335 0.136
#> 6 6 C1, C2, C3 0.653 0.414 0.394 0.125 0.439 0.095 0.333 0.133
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)
#>
#> Estimating Multi-Objective Optimal Solution ...
#>
#> Done.
#>
# The first few solutions
head(out_2C_1AI)
#> Solution Optimized C1 C2 AI1 P1 P2 P3 P4 P5
#> 1 1 C1, C2, AI1 0.220 0.150 1.147 0.000 0.000 1 0.00 0.000
#> 2 2 C1, C2, AI1 0.220 0.150 1.147 0.000 0.000 1 0.00 0.000
#> 3 3 C1, C2, AI1 0.220 0.150 1.147 0.000 0.000 1 0.00 0.000
#> 4 4 C1, C2, AI1 0.220 0.150 1.147 0.000 0.000 1 0.00 0.000
#> 5 5 C1, C2, AI1 0.220 0.150 1.147 0.000 0.000 1 0.00 0.000
#> 6 6 C1, C2, AI1 0.638 0.417 0.269 0.175 0.456 0 0.27 0.098
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)
#>
#> Estimating Multi-Objective Optimal Solution ...
#>
#> Done.
#>
# The first few solutions
head(out_1C_2AI)
#> Solution Optimized C1 AI1 AI2 P1 P2 P3 P4 P5
#> 1 1 C1, AI1, AI2 0.652 0.355 0.483 0.025 0.328 0.164 0.334 0.150
#> 2 2 C1, AI1, AI2 0.520 0.629 0.687 0.000 0.151 0.450 0.280 0.119
#> 3 3 C1, AI1, AI2 0.489 0.684 0.714 0.000 0.131 0.501 0.262 0.106
#> 4 4 C1, AI1, AI2 0.458 0.738 0.740 0.000 0.112 0.551 0.244 0.093
#> 5 5 C1, AI1, AI2 0.426 0.794 0.768 0.000 0.092 0.601 0.226 0.081
#> 6 6 C1, AI1, AI2 0.395 0.849 0.794 0.000 0.072 0.651 0.208 0.068
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 0.03 to predictor P1, 0.399 to predictor P2, 0.094 to predictor P3, 0.346 to predictor P4, and 0.161 to predictor P5.
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 0.658 for objective C1, 0.4 for objective C2, and 0.407 for objective C3.