Package 'rMOST'

Title: Estimates Pareto-Optimal Solution for Hiring with 3 Objectives
Description: Estimates Pareto-optimal solution for personnel selection with 3 objectives using Normal Boundary Intersection (NBI) algorithm introduced by Das and Dennis (1998) <doi:10.1137/S1052623496307510>. Takes predictor intercorrelations and predictor-objective relations as input and generates a series of solutions containing predictor weights as output. Accepts between 3 and 10 selection predictors. Maximum 2 objectives could be adverse impact objectives. Partially modeled after De Corte (2006) TROFSS Fortran program <https://users.ugent.be/~wdecorte/trofss.pdf> and updated from 'ParetoR' package described in Song et al. (2017) <doi:10.1037/apl0000240>. For details, see Study 3 of Zhang et al. (2023).
Authors: Chelsea Song [aut, cre] , Yesuel Kim [ctb]
Maintainer: Chelsea Song <[email protected]>
License: MIT + file LICENSE
Version: 1.0.1
Built: 2025-02-01 03:27:13 UTC
Source: https://github.com/cran/rMOST

Help Index


MOST

Description

Optimizes 3 objectives with normal boundary intersection algorithm

Usage

MOST(optProb, Rx, Rxy1, Rxy2, Rxy3, sr, prop1, prop2, d1, d2, Spac = 10)

Arguments

optProb

Optimization problem. "3C" = no adverse impact objectives and three non-adverse impact objectives; "2C_1AI" = one adverse impact objective and two non-adverse impact objectives; "1C_2AI" = two adverse impact objectives and one non-adverse impact objective.

Rx

Predictor intercorrelation matrix

Rxy1

Needs to specify for all three types of optimization problems (optProb). Predictor criterion-related validity for non-adverse impact objective 1 (i.e., correlation between each predictor and non-adverse impact objective 1)

Rxy2

Only specify if optimization problem is "3C" or "2C_1AI". Predictor criterion-related validity for non-adverse impact objective 2 (i.e., correlation between each predictor and non-adverse impact objective 2)

Rxy3

Only specify if optimization problem is "3C". Predictor criterion-related validity for non-adverse impact objective 3 (i.e., correlation between each predictor and non-adverse impact objective 3)

sr

Only specify if optimization problem is "2C_1AI" or "1C_2AI". Overall selection ratio.

prop1

Only specify if optimization problem is "2C_1AI" or "1C_2AI". Proportion of minority1 in the applicant pool; prop1 = (# of minority1 applicants)/(total # of applicants)

prop2

Only specify if optimization problem is "1C_2AI". Proportion of minority2 in the applicant pool; prop2 = (# of minority2 applicants)/(total # of applicants)

d1

Only specify if optimization problem is "2C_1AI" or "1C_2AI". Vector of standardized group-mean differences between majority and minority 1 for each predictor; d1 = avg_majority - avg_minority1

d2

Only specify if optimization problem is "1C_2AI". Vector of standardized group-mean differences between majority and minority 2 for each predictor; d2 = avg_majority - avg_minority2

Spac

Determines the number of solutions.

Details

# Inputs required by optimization problems Different types of optimization problems require different input parameters: * optProb = "3C": MOST(optProb, Rx, Rxy1, Rxy2, Rxy3) * optProb = "2C_1AI": MOST(optProb, Rx, Rxy1, Rxy2, sr, prop1, d1) * optProb = "1C_2AI": MOST(optProb, Rx, Rxy1, sr, prop1, d1, prop2, d2)

# Notes regarding the inputs * For personnel selection applications, all predictor-intercorrelations and criterion-related validity inputs should be corrected for range restriction and criterion unreliability to reflect the relations in the applicant sample. * For optimization problems with 2 adverse impact objectives (i.e., optProb = "1C_2AI"), d1 and d2 should be the standardized mean difference between a minority group and the same reference group (e.g., Black-White and Hispanic-White, not Black-White and female-male)

# Optimization * Optimization may take several minutes to run. * Optimization may fail in some applications due to non-convergence.

For more details, please consult the vignette.

Value

Pareto-Optimal solutions with objective values (e.g., C1, AI1) and the corresponding predictor weights (e.g., P1, P2)

Examples

# A sample optimization problem with 3 non-adverse impact objectives and 3 predictors
# For more examples, please consult the vignette.

# Specify inputs
# Predictor inter-correlation matrix (Rx)
Rx <- matrix(c(1,  .50, .50,
               .50,  1, .50,
               .50, .50,  1), 3, 3)

# Predictor-objective relation vectors (Rxy1, Rxy2, Rxy3)
# Criterion-related validities
## Criterion 1
Rxy1 <- c(-.30, 0, .30)
## Criterion 2
Rxy2 <- c(0, .30, -.30)
## Criterion 3
Rxy3 <- c(.30, -.30, 0)

# Get Pareto-optimal solutions

out <- MOST(optProb = "3C", Rx = Rx, Rxy1 = Rxy1, Rxy2 = Rxy2, Rxy3 = Rxy3, Spac = 10)
out

ParetoR_1C_2AIR

Description

Command function to optimize 1 non-adverse impact objective and 2 adverse impact objectives via NBI algorithm

Usage

ParetoR_1C_2AIR(sr, prop1, prop2, Rx, Rxy1, d1, d2, Spac = 10)

Arguments

sr

Selection ratio in the full applicant pool

prop1

Proportion of minority1 applicants in the full applicant pool

prop2

Proportion of minority2 applicants in the full applicant pool

Rx

Matrix with intercorrelations among predictors

Rxy1

Vector with correlation between each predictor and the non-adverse impact objective

d1

Subgroup difference 1; standardized mean differences between minority1 and majority subgroups on each predictor in full applicant pool

d2

Subgroup difference 2; standardized mean differences between minority2 and majority subgroups on each predictor in full applicant pool

Spac

Number of solutions

Value

out Pareto-Optimal solution with objective outcome values (Criterion) and predictor weights (ParetoWeights)


ParetoR_2C

Description

Command function to optimize 2 non-adverse impact objectives via NBI algorithm

Usage

ParetoR_2C(Rx, Rxy1, Rxy2, Spac = 10, graph = TRUE)

Arguments

Rx

Matrix with intercorrelations among predictors

Rxy1

Vector with correlation between each predictor and non-adverse impact objective 1

Rxy2

Vector with correlation between each predictor and non-adverse impact objective 2

Spac

Number of Pareto points

graph

If TRUE, plots will be generated for Pareto-optimal curve and predictor weights

Value

out Pareto-Optimal solution with objective outcome values (Criterion) and predictor weights (ParetoWeights)


ParetoR_2C_1AIR

Description

Command function to optimize 2 non-adverse impact objectives and 1 adverse impact objective via NBI algorithm

Usage

ParetoR_2C_1AIR(Rx, Rxy1, Rxy2, sr, prop1, d1, Spac = 10)

Arguments

Rx

Matrix with intercorrelations among predictors

Rxy1

Vector with correlation between each predictor and non-adverse impact objective 1

Rxy2

Vector with correlation between each predictor and non-adverse impact objective 2

sr

Selection ratio in full applicant pool

prop1

Proportion of minority applicants in full applicant pool

d1

Subgroup difference; standardized mean differences between minority and majority subgroups on each predictor in full applicant pool

Spac

Number of Pareto points

Value

out Pareto-Optimal solution with objective outcome values (Criterion) and predictor weights (ParetoWeights)


ParetoR_3C

Description

Command function to optimize 3 non-adverse impact objectives via NBI algorithm

Usage

ParetoR_3C(Rx, Rxy1, Rxy2, Rxy3, Spac = 10)

Arguments

Rx

Matrix with intercorrelations among predictors

Rxy1

Vector with correlation between each predictor and non-adverse impact objective 1

Rxy2

Vector with correlation between each predictor and non-adverse impact objective 2

Rxy3

Vector with correlation between each predictor and non-adverse impact objective 3

Spac

Number of solutions

Value

out Pareto-Optimal solution with objective outcome values (Criterion) and predictor weights (ParetoWeights)