adea_hierarchical {adea} | R 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 |
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
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