adea_hierarchical: Selection of an optimal subset of variables for DEA analysis

View source: R/adea_hierarchical.R

adea_hierarchicalR Documentation

Selection of an optimal subset of variables for DEA analysis

Description

This function returns a list of DEA models by systematically eliminating one variable at a time, following ADEA methodology.

Usage

adea_hierarchical(
  input,
  output,
  orientation = c("input", "output"),
  load.orientation = c("inoutput", "input", "output"),
  name = "",
  direction = c("backward", "backward/input", "backward/output"),
  solver = "auto",
  verbose = 0
)

Arguments

input

A matrix or a data frame containing the inputs of the units to be evaluated, with one row for each DMU and one column for each input.

output

A matrix or a data frame containing the outputs of the units to be evaluated, with one row for each DMU and one column for each output.

orientation

Use "input" for input orientation or "output" for output orientation in DEA model. The default is "input".

load.orientation

This parameter allows the selection of variables to be included in load analysis. The default is "inoutput" which means that all input and output variables will be included. Use "input" or "output" to include only input or output variables in load analysis.

name

An optional descriptive name for the model. The default is an empty string. This name will be displayed in printed and summarized results.

direction

The direction in which the variables enter or exit the model. Currently, only the "backward" option is implemented.

solver

The solver used by ROI to solve the DEA optimization problem. The default is "auto." The solver must be installed and capable of solving linear programming problems. Use ROI_installed_solvers() to list them.

verbose

Use 0 for minimal output, displaying only the final model. Use 1 or higher values to get detailed information for each step. The default is 0. This option affects only the printed output and not the result.

Details

This procedure provides a list of all DEA models for all nested sets of variables. In each model, the variable with lowest load is dropped. It's important to note that the load of the new model can be lower than that of the previous one. For more details, please refer to the examples section.

Value

The function returns an object of the adeaparametric class with the following named members:

  • name: A label of the model.

  • orientation: DEA model orientation ('input' or 'output').

  • load.orientation: load DEA model orientation ('input', 'output', or 'inoutput').

  • loads: Load of each model.

  • models: List of all adea models.

  • ninputs: Number of input variables in each model.

  • noutputs: Number of output variables in each model.

  • nvariables: Number of variables in each model.

  • inputnames: Names of input variables in each model.

  • outputnames: Names of output variables in each model.

  • out: Variable dropped at each step.

  • solver: The solver used for resolving the optimization problem.

See Also

adea_parametric

Examples

# Load data
data('cardealers4')

# Define input and output
input <- cardealers4[, c('Employees', 'Depreciation')]
output <- cardealers4[, c('CarsSold', 'WorkOrders')]

# Compute all dea models in hierarchical manner
sol.ah <- adea_hierarchical(input, output)

# Print the result
sol.ah
#       Loads nEfficients nVariables nInputs nOutputs                  Inputs              Outputs
# 4 0.6666667           2          4       2        2 Employees, Depreciation CarsSold, WorkOrders
# 3 0.9575672           2          3       1        2            Depreciation CarsSold, WorkOrders
# 2 1.0000000           1          2       1        1            Depreciation             CarsSold 

# Summary the model with 3 variables
summary(sol.ah$models[[3]])
# Model name                                 
# Orientation                           input
# Load orientation                   inoutput
# Model load                0.957567163474156
# Input load.Depreciation                   1
# Output load.CarsSold       1.04243283652584
# Output load.WorkOrders    0.957567163474156
# Inputs                         Depreciation
# Outputs                 CarsSold WorkOrders
# nInputs                                   1
# nOutputs                                  2
# nVariables                                3
# nEfficients                               2
# Eff. Mean                  0.90022318389575
# Eff. sd                   0.135194867030839
# Eff. Min.                 0.651504424778761
# Eff. 1st Qu.              0.872252747252747
# Eff. Median               0.942225031605563
# Eff. 3rd Qu.              0.997898230088496
# Eff. Max.                                 1

# Get efficiencies for the model with 3 variables
sol.ah$models[[3]]$eff
# Dealer A  Dealer B  Dealer C  Dealer D  Dealer E  Dealer F
# 0.9915929 1.0000000 0.8928571 0.8653846 1.0000000 0.6515044 

adea documentation built on Nov. 24, 2023, 5:10 p.m.