EAT {eat}R Documentation

Efficiency Analysis Trees

Description

This function estimates a stepped production frontier through regression trees.

Usage

EAT(
  data,
  x,
  y,
  numStop = 5,
  fold = 5,
  max.depth = NULL,
  max.leaves = NULL,
  na.rm = TRUE
)

Arguments

data

data.frame or matrix containing the variables in the model.

x

Column input indexes in data.

y

Column output indexes in data.

numStop

Minimum number of observations in a node for a split to be attempted.

fold

Set of number of folds in which the dataset to apply cross-validation during the pruning is divided.

max.depth

Depth of the tree.

max.leaves

Maximum number of leaf nodes.

na.rm

logical. If TRUE, NA rows are omitted.

Details

The EAT function generates a regression tree model based on CART (Breiman et al. 1984) under a new approach that guarantees obtaining a stepped production frontier that fulfills the property of free disposability. This frontier shares the aforementioned aspects with the FDH frontier (Deprins and Simar 1984) but enhances some of its disadvantages such as the overfitting problem or the underestimation of technical inefficiency. More details in Esteve et al. (2020).

Value

An EAT object containing:

References

Breiman L, Friedman J, Stone CJ, Olshen RA (1984). Classification and regression trees. CRC press.

Deprins D, Simar L (1984). “Measuring labor efficiency in post offices, The Performance of Public Enterprises: Concepts and Measurements, M. Marchand, P. Pestieau and H. Tulkens.”

Esteve M, Aparicio J, Rabasa A, Rodriguez-Sala JJ (2020). “Efficiency analysis trees: A new methodology for estimating production frontiers through decision trees.” Expert Systems with Applications, 162, 113783.

Examples

# ====================== #
# Single output scenario #
# ====================== #

simulated <- Y1.sim(N = 50, nX = 3)
EAT(data = simulated, x = c(1, 2, 3), y = 4, numStop = 10, fold = 5, max.leaves = 6)

# ====================== #
#  Multi output scenario #
# ====================== #

simulated <- X2Y2.sim(N = 50, border = 0.1)
EAT(data = simulated, x = c(1,2), y = c(3, 4), numStop = 10, fold = 7, max.depth = 7)


[Package eat version 0.1.4 Index]