*! version 1.0 3mar2011
help oaoutlier

Title

oaoutlier -- Outlier detection based on order-alpha efficiency analysis

Syntax

oaoutlier
varname [if] [in], inputs(varlist1) outputs(varlist2)
[options]

technology_definition

Model
varname identifier

inputs(varlist1) list of input variables

outputs(varlist2) list of output variables

options

Main
ort(input|output) considerinput or output oriented efficiency; default is ort(input)

nalpha(#) try # values for alpha; the maximum allowed value is N which is also the default

Detection
nobic do not suggest discontinuities based on BIC

norough do not suggest discontinuities based on rough series of difference in differences

nosmooth do not suggest discontinuities based on smoothed series of differences in differences

smoother(string) use smoother string for smoothing series of differences in differences

Reporting
noplot suppress plotting series of share of super-efficient dmus

dots display loop dots

weights are not allowed; see weight.

bootstrap, by, and svy are not allowed; see prefix.

Description

oaoutlier is an explorative tool for detecting potential outliers in data meant for non-parametric efficiency analysis, e.g. DEA.
oaoutlier applies the approach suggested by Daraio and Simar (2007). A a series of order-alpha efficiency analyses using
increasing values for the benchmark percentile alpha is run on the data. Subsequently, it is examined how the share of super-efficient dmus develops
for increasing values of alpha. A smooth decrease of the share points at the
absence of outliers. A discontinuity in the series, leading to a sharp decrease of the share, however, points at outliers being present.
Specifically, those dmus being classified as super-efficient even for values of alpha higher than the one at the point of discontinuity, are most likely
outliers. oaoutlier plots the series and tries three rules for detecting points of discontinuity. Two are local rules, based on the series of
differences in differences as a non-parametric estimate of the curvature of original series. The first looks for the minimum values of the twice
differenced series that follow a non-negative value. The second looks for negative values that persist after repeatedly smoothing the series of differences
in differences by running odd-spaced median smoothers using smooth. Up to three points of discontinuity are suggested by each local rule. oaoutlier
applies one global rule by splitting the series into two parts and fitting a linear or quadratic function to each. This rule suggest the point of split that
minimizes the BIC as point of discontinuity. The number of dmus is limited to the value of matsize. For large samples oaoutlier
requires substantial computing time. Nevertheless, using orderalpha within a loop rather than oaoutlier for generating a series of
super-efficiency shares is strongly discouraged as oaoutlier is still much faster in performing this task.

Technology Definition

Model

varname must uniquely identify dums. varname may be either a numeric or a string variable.

inputs(varlist1) specifies inputs to the analyzed production process. At least one input-variables is required.
Any variable in varlist1 needs to be numeric and strictly positive. Dmus with missing or non-positive values in
varlist1 are dropped.

outputs(varlist2) specifies outputs from the analyzed production process. At least one output-variables is required.
Any variable in varlist2 needs to be numeric and strictly positive. Dmus with missing or non-positive values in
varlist2 are dropped. varlist2 may not share any variable with varlist1.

Options

Main

ort(input|output) specifies whether input or output oriented efficiency is considered.

nalpha(#) specifies the number # of values tried for alpha. The default and maxium allowed value is N. To
reduce computing time, one may specify smaller values. However, suggested points of discontinuity are not invariate to
the choice of nalpha(#). Very small values may cause error.

Detection

nobic suppresses the global BIC based detection rule.

norough suppresses the local detection rule that is based on the rough series of differences in differences.

nosmooth suppresses the local detection rule that is based on the smoothed series of differences in differences.
If nobic, norough, and norough are simultaneously specified, oaoutlier just plots the series
of shares of super-efficient dmus.

smoother(string) uses string as smoother for smoothing the twice differenced series; see smooth
on how to specify smoothers. The default is the series 3, 3RSREH, 3RSR5REH, 3RSR5R7REH,
3RSR5R7R9REH of smoothers that is applied until the smoothed series does not include any negative value or until
the last smoother has been applied.

Reporting

noplot suppresses plotting the results to a graph.

dots invokes displaying loop dots. One dot is displayed for each dmu being analyzed.

Examples

. oaoutlier firm, inputs(capital labor energy) outputs(durables perishables) ort(output) dots

Here oaoutlier and orderalpha precede dea and already respect deas requirements for naming variables:

. oaoutlier dmu, inputs(i_capital i_labor i_energy) outputs(o_durables o_perishables) ort(output)

. orderalpha dmu, inputs(i_capital i_labor i_energy) outputs(o_durables o_perishables) ort(output) invert alpha(`r(asmooth1)') gen(oaeffi)

. dea if oaeffi <= 1, rts(vrs) ort(o)

Saved results

orderalpha saves the following in r():

Scalars

r(asmooth#) point of discontinuity suggested by local rule using smoothed series (# may take values up to 3)

r(arough#) point of discontinuity suggested by local rule using rough series (# may take values up to 3)

r(abic1) point of discontinuity suggested by global rule

r(ssmooth#) share of super-efficients dmus that corresponds to r(asmooth#)

r(srough#) share of super-efficients dmus that corresponds to r(arough#)

r(sbic1) share of super-efficients dmus that corresponds to r(abic1)

Macros

r(cmd) oaoutlier

r(cmdline) command as typed

r(title) Order-alpha based outlier detection

r(ort) either input or output

Matrices

r(oaresult) Nx2 matrix of values tried for alpha and corresponding shares of super-efficient dmus

References

Daraio, C. and L. Simar (2007). Advanced robust and nonparametric methods in efficiency analysis: Methodology and applications. Springer, New York.

Also see

Manual: [R] smooth

Help: [R] smooth

Online: dea, orderalpha, orderm

Author

Harald Tauchmann

Rheinisch-Westfälisches Institut für Wirtschaftsforschung (RWI)

Essen, Germany

E-mail: harald.tauchmann@rwi-essen.de

Disclaimer

This software is provided "as is" without warranty of any kind, either expressed or implied. The entire risk as to the quality and
performance of the program is with you. Should the program prove defective, you assume the cost of all necessary servicing, repair or
correction. In no event will the copyright holders or their employers, or any other party who may modify and/or redistribute this software,
be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to
use the program.

Acknowledgements

This work has been supported in part by the Collaborative Research Center "Statistical Modelling of
Nonlinear Dynamic Processes" (SFB 823) of the German Research Foundation (DFG).