malm: Malmquist productivity index

Description Usage Arguments Details Value Warning Note Author(s) References See Also Examples

View source: R/malm.R

Description

Using Data Envelopment Analysis (DEA), this function measures productivity with Malmquist index.

Usage

1
2
3
4
5
6
malm(data, id.var, time.var, x.vars, y.vars, tech.reg = TRUE, rts = c("vrs", "crs", 
  "nirs", "ndrs"), orientation = c("out", "in"), parallel = FALSE, cores = max(1, 
  detectCores() - 1), scaled = TRUE)

## S3 method for class 'Malmquist'
print(x, digits = NULL, ...)

Arguments

data

A dataframe containing the required information for measuring productivity.

id.var

Firms' ID variable. Can be an integer or a text string.

time.var

Time period variable. Can be an integer or a text string.

x.vars

Input quantity variables. Can be a vector of text strings or integers.

y.vars

Output quantity variables. Can be a vector of text strings or integers.

tech.reg

Logical. If TRUE (default), the model allows for negative technological change (i.e. technological regress). If FALSE, only positive technological change (i.e. technological progress) is allowed. See also the Details section.

rts

Character string specifying the returns to scale assumption. The default value is "vrs" (variable returns to scale). Other possible options are "crs" (constant returns to scale), "nirs" (non-increasing returns to scale), or "ndrs" (non-decreasing returns to scale).

orientation

Character string specifying the orientation. The default value is "out" (output-orientation). The other possible option is "in" (input-orientation).

parallel

Logical. Allows parallel computation. If FALSE (default) the estimation is conducted in sequential mode. If TRUE, parallel mode is activated using the number of cores specified in cores. When the sample size is small, it is recommended to keep the parallel option to its default value (FALSE).

cores

Integer. Used only if parallel = TRUE. It specifies the number of cores to be used for parallel computation. By default, cores = max(1, detectCores() - 1).

scaled

Logical. If TRUE (default), input and output quantities are rescaled. If FALSE, a warning message is displayed when very large (>1e5) and/or very small (<1e-4) values are present in the input and output quantity variables.

x

An object of class 'Malmquist'.

digits

The minimum number of significant digits to be printed in values. Default = max(3, getOption("digits") - 3).

...

Currently not used.

Details

Distance functions required for computing the Malmquist index are radial measures which verify the translation invariance property. Hence, unless very large or very small values are present, the Malmquist index is insensitive to the rescaling option (scaled).

Value

malm() returns a list of class 'Malmquist' for which a summary of productivity measures in levels and changes is printed.

This list contains the following items:

Levels

It contains the Shephard distance function estimates, useful to compute and decompose the Malmquist productivity index. These distance functions use input and output quantities for period 1 and period 0.

In addition to the id.var variable and periods 1 and 0, the dataframe therefore contains, depending on the orientation: c111o, c100o, c011o, c000o, c110o, c010o, or c111i, c100i, c011i, c000i, c110i, c010i. When the returns to scale option (rts) is different from "crs", then v111o and v000o, or v111i and v000i (depending on the orientation) are returned in addition to the distance function estimated under constant returns to scale ("crs"). The prefix "c" stands for constant returns to scale ("crs") and "v" for all other types of returns to scale (i.e. "vrs", "nirs", or "ndrs"). The suffix "o" means output-oriented while "i" refers to input-oriented.

The distance function names are displayed with three digits: (i) the first digit represents the period of the reference technology, (ii) the second digit represents the period of the inputs, and (iii) the third digit represents the period of the outputs. For instance c010o means output-oriented efficiency under constant returns to scale ("crs"), with the reference technology of period 0, inputs of period 1 and outputs of period 0.

Changes

Malmquist productivity index and its components are provided, depending on the orientation.

malmquist Malmquist productivity index
effch Efficiency change
tech Technological change
obtech Output-biased technological change
ibtech Input-biased technological change
matech Magnitude component
pure.out.effch Pure output efficiency change
(when rts != "crs" and orientation = "out")
out.scalech Output scale efficiency change
(when rts != "crs" and orientation = "out")
pure.inp.effch Pure input efficiency change
(when rts != "crs" and orientation = "in")
inp.scalech Input scale efficiency change
(when rts != "crs" and orientation = "in")

Note that:

  1. obtech (Output-biased technological change), ibtech (Input-biased technological change), and matech (Magnitude component) are components of technological change (tech).

  2. pure.out.effch (Pure output efficiency change) and out.scalech (Output scale efficiency change) are components of efficiency change (effch).

  3. pure.inp.effch (Pure input efficiency change), and inp.scalech (Input scale efficiency change) are components of efficiency change (effch).

From an object of class 'Malmquist' obtained from malm(), the

Warning

The malm() function will not work with unbalanced panel data.

Note

The Malmquist productivity index and components are computed such that both orientation's results provide the same information: growth when index greater than one and decline when index lower than one. Moreover under rts = "crs", both orientation options (i.e. "out" and "in") yield the same results.

Author(s)

K Herv<c3><a9> Dakpo, Yann Desjeux, Laure Latruffe

References

F<c3><a4>re R., and Grosskopf S. (1996), Intertemporal Production Frontiers: With Dynamic DEA. Springer Eds.

See Also

See Levels to retrieve a data frame with Shephard distance function estimates.
See Changes to retrieve a data frame with Malmquist productivity index and components.

Examples

1
2
3
4
5
6
7
8
9
## Malmquist productivity index compares each observation in period 1 to the same 
## observation in period 0
## Not run: 
  Malmquist <- malm(data = usagri, id.var = "States", time.var = "Years", 
  x.vars = c("q.capital", "q.land","q.labor","q.materials"), 
  y.vars = c("q.livestock", "q.crop", "q.other"), rts = "nirs")
  Malmquist

## End(Not run)

productivity documentation built on May 1, 2019, 8:19 p.m.