THIS IS THE CHANGELOG OF THE "frontier" PACKAGE
Please note that only the most significant changes are reported here.
A full ChangeLog is available in the log messages of the SVN repository
on R-Forge.
CHANGES IN VERSION 1.1-6 (2019-12-09)
* added argument "path" to front41WriteInput()
* internal improvements to make this package compatible with R 4.0.0
CHANGES IN VERSION 1.1-2 (2017-03-17)
* added function resettestFrontier() that applies Ramsey's RESET test to
stochastic frontier models
* added argument "lrTests" to frontierQuad(): if this argument is TRUE,
likelihood ratio tests are conducted for each X variable
* made this package compatible with future versions of the 'plm' package, e.g.
users can now use pdata.frame() (in addition to plm.data()) to specify the
panel structure of (panel) data sets
* a more informative error message is issued if coefficients estimated by OLS
are NA
* several internal (not user-visible) enhancements
CHANGES IN VERSION 1.1-0 (2013-08-20)
* stochastic frontier models can be estimated without an intercept
* added fitted() method for objects of class "frontier" for obtaining the
fitted/predicted frontier values of each observation
* added argument "extraPar" to the coef(), vcov(), and summary() methods for
frontier models: if this argument is set to TRUE, further parameters are
calculated (based on the estimated parameters) and returned
* removed unused argument "multErr" of sfa(), because this feature probably
will not be implemented in the near future
* frontierTranslogRay() now makes sure that the ratios (arcs) are in the
interval [-1,1] before it takes the arc-cosine of the ratio, because small
rouding errors can make that a few ratios are around 1+1e-8 or -1-1e-8
(suggested by Tomasz Czekaj)
CHANGES IN VERSION 1.0-2 (2013-07-06)
* added argument "minusU" to efficiencies.frontier() and argument "effMinusU"
to summary.frontier() that will replace argument "farrell" in the future
* added a CITATION file
* added a start-up message
CHANGES IN VERSION 0.997-14 (2012-12-04)
* fixed a bug in the Fortran code that could result in a segmentation fault
error when an efficiency effects frontier model with intercept is estimated
(many thanks to Simon Urbanek and Berend Hasselman for pointing this bug
out to me!)
CHANGES IN VERSION 0.997-12 (2012-06-03)
* further arguments to print.summary.frontier() are forwarded to printCoefmat()
* if the likelihood value of the ML estimation is less than that obtained using
OLS, there is no longer a warning issued if argument maxit is set to 0
* minor improvements of the examples in the documentation
CHANGES IN VERSION 0.997-10 (2012-06-02)
* added nobs() method for objects of class "frontier"
CHANGES IN VERSION 0.997-8 (2012-03-04)
* sfa() now issues a warning message if the covariance matrix of the ML estimates
is not positive semi-definite, singular, or not invertible for other reasons
* sfa() now issues a warning message if the parameter "gamma" is close to the
boundaries of the parameter space [0,1]
CHANGES IN VERSION 0.997-6 (2012-01-15)
* corrected documentation of the argument "farrell" of the
efficiencies() method for objects of class "frontier"
CHANGES IN VERSION 0.997-4 (2011-12-28)
* the function frontierTranslogRay() now can estimate models with
more than two outputs
* replaced all "write" commands in the Fortran code by "intpr" or
"dblepr" commands so that messages from the Fortran code (e.g. when
using argument "printIter") should also appear on R GUIs now
* removed all "stop" commands in the Fortran code so that the Fortran
code should no longer terminate the R session if a problem occurs
* improved Fortran code (e.g. fixed possible problems indicated by
"ftnchek")
* fixed bug: argument "restartMax" of sfa() was previously ignored
(the maximum number of restarts was always 10)
* sfa() now checks whether a firm has more than one observation
in a specific time period
CHANGES IN VERSION 0.997-2 (2011-03-04)
* improved documentation of the calculation of the marginal effects
of the z variables in efficiencies.frontier()
* some internal not user-visible improvements
CHANGES IN VERSION 0.997-0 (2010-12-26)
* methods efficiencies() and summary() for objects of class "frontier" have
an additional argument "farrell" now that indicates whether Farrell-type
efficiencies (that have values between 0 and 1) or efficiencies with values
equal to or larger than one should be returned and used for calculating
mean efficiencies, respectively;
WARNING: as the default value of "farrell" is always TRUE, the type of
efficiencies returned by default for models, where inefficiency decreases
the dependent variable, has changed!
* the efficiencies() method for objects of class "frontier" has an additional
argument "margEff" (defaults to FALSE) now: if it is TRUE, the marginal effects
of the z variables (of an Efficiency Effects Frontier, EEF) on the efficiency
measure are returned as an 'attribute' to the returned object (i.e. the
efficiency estimates). Currently, this feature is implemented only for models
with logged dependent variables.
* the efficiencies() method for objects of class "frontier" calculates
some efficiency estimates in a way that is numerically more stable now
(similar to the second item in the list for changes in version 0.991-2)
CHANGES IN VERSION 0.996-10
* bug fix: it now possible to estimate stochastic frontier models
with cross-sectional data sets that have NA or infinite values
* bug fix: it now possible to estimate stochastic frontier models
with panel data sets, where some firms have NA or infinite values
in all time periods
* bug fix: it now possible to estimate stochastic frontier models
with panel data sets, where some time periods have NA or infinite
values for all firms
CHANGES IN VERSION 0.996-8
* function sfa() (and hence, all functions that are based on sfa()) now return
additionally a component "code" that indicates the reason why the iterated
ML estimation terminated (see documentation)
* the tolerance limit in the unidimensional search procedure to determine
the optimal step length now can be reduced 10 times (rather than 5 times)
before the algorithm gives up
* if the search procedure cannot find a parameter vector that result in a
larger likelihood value than the initial values, the initial values
(provided by the user or obtained by the grid search) are multiplied
by a numeric scalar (specified by argument "restartFactor") and the search
procedure is re-started (the maximum number of restarts is specified by
argument "restartMax")
* removed argument "quadHalf" of frontierQuad(), as this argument is confusing,
not really helpful, and has been removed also from many functions of the
"micEcon" package
CHANGES IN VERSION 0.996-6
* frontierTranslogRay() no longer uses the function .micEconLogData() from
package "micEcon" (removed in version 0.6-1) but the function logDataSet()
from package "miscTools" (added in version 0.6-1); hence, this package now
depends on "micEcon" version >= 0.6-1, which further depends on "miscTools"
version >= 0.6-1.
CHANGES IN VERSION 0.996-4
* updated NEWS (changelog) file
CHANGES IN VERSION 0.996-2
* the frontier package works with version 0.6-0 of the micEcon package now
CHANGES IN VERSION 0.996-0
* observations with values that are not available (NA + NaN) or infinite (Inf)
are automatically excluded from the estimation now
* a warning is given now, if the OLS residuals have the wrong skewness (the
skewness is calculated by the function skewness() of the package "moments")
* added method lrtest.frontier (based on the generic function lrtest() of the
"lmtest" package) that can test parameter restriction using LR tests: it can
be used to compare different stochastic frontier models (estimated by ML)
and to test the (one-sided) inefficiency term (i.e. MLE vs. OLS)
* the object returned by logLik.frontier() is of class "logLik" now and has two
attributes: "nobs" (number of observations) and "df" (number of free parameters)
* improved and added some warning messages so that they are (hopefully)
more helpful now
* reduced output printed by print.summary.frontier()
* the OLS estimation in done inside R using lm() now
* added some further tests in the /tests/ subdirectory
* minor improvements in the documentation of some functions/methods
CHANGES IN VERSION 0.995-8
* the P values of the parameters estimated by ML are calculated using a
standard normal distribution (instead of a t distribution) now, because
the "t values" do not follow a t distribution but asymptotically follow
a standard normal distribution
* renamed the "t values" of the parameters estimated by ML (and returned
by the "summary" method) as "z values" (see above)
* print.frontier() prints the estimation results in a way that is much more
similar (almost identical) to the output of print.lm() now
* removed variable "time" from the data set "front41Data", because it is
a cross-section data set
CHANGES IN VERSION 0.995-6
* modified sfa() so that it works with version 0.2-0 of the "Formula" package
CHANGES IN VERSION 0.995-4
* added data set "telecom" that contains data on telecommunications
providers in 21 countries in 1990
CHANGES IN VERSION 0.995-0
* added new user interface: function "sfa" (instead of "frontier") should be
used for Stochastic Frontier Analysis (SFA) now; its user interface is much
more similar to the standard regression tool in R "lm"; function "frontier",
which is a wrapper to "sfa" now, is kept for compatibility with older versions
* functions "sfa" (and hence also "frontier", "frontierQuad" etc.) no longer
calculate and return efficiency estimates
* function "sfa" no longer has argument "logDepVar", because this information
is irrelevant for the estimation
* method "efficiencies" for objects of class "frontier" calculates
efficiency estimates now (instead of just extracting them)
* method "efficiencies" for objects of class "frontier" has the argument
"logDepVar" now, which indicates whether the dependent variable is logged
(this information is required to calculate the efficiency estimates)
* method "summary" for objects of class "frontier" calculates and returns
the efficiency estimates now (the calculation is done by the "efficiencies"
method, see above)
* method "summary" for objects of class "frontier" has the argument
"logDepVar" now, which indicates whether the dependent variable is logged
(this information is required to calculate the efficiency estimates)
* added "residuals" method for objects of class "frontier" to obtain the
residuals
* fixed bug in the Fortran subroutine "der1" that calculates the derivatives
of the likelihood function of the "Error Components Frontier" (ECF): in case
of unbalanced panel data, uninitialized values (for unobserved observations)
were used in the calculation so that the derivatives were wrong
* fixed bug in the Fortran code: in case of unbalanced panel data, the
efficiency estimates of the missing observations were set to the previously
calculated efficiency estimate (mostly the efficiency estimate of the
previous firm in the same year)
* added further tests in /tests/frontierTest.R
CHANGES IN VERSION 0.991-2
* fixed bug #469: it is possible (again) now to estimate frontiers
with argument "ineffDecrease" set to FALSE (e.g. cost frontiers)
* the ratio between the density function and the cumulative distribution
function ("den(a)/dis(a)") is calculated by "dexp(denlog(a)-dislog(a))"
now, because the new approach is capable to calculate this ratio even
if "a" is smaller than -37.5
CHANGES IN VERSION 0.991-0
* removed argument "modelType": the model type is derived from argument
"zNames" (NULL or not NULL) now
* the C function "pnorm", which is included in the R software, is used instead
of the Fortran function "dis", which is included in the Frontier 4.1 software,
to calculate the cumulative distribution of the standard normal distribution
* the C function "dnorm", which is included in the R software, is used instead
of the Fortran function "den", which is included in the Frontier 4.1 software,
to calculate the density of the standard normal distribution
* the logarithm of the density function of the standard normal distribution
is calculated directly with the C function "pnorm" with argument "give_log"
equal to 1 (TRUE) now
* the parameters of the X variables are no longer named "beta_0", "beta_1",
"beta_2" etc. but "(Intercept)", "", "" etc.
(as returned by lm())
* the parameters of the Z variables are no longer named "delta_0", "delta_1",
"delta_2" etc. but "Z_(Intercept)", "Z_", "Z_" etc.
* the "logLik" method for objects of class "frontier" has a new argument
"newParam" now: if this argument is provided by the user, the log-likelihood
value of the model 'object' is calculated with these (new) parameters
* added argument "muBound": in case of an Error Components Frontier (ECF)
with the inefficiency terms "u" following a truncated normal distribution
with mean "mu", argument "muBound" can be used to restrict "mu" to be in
the interval "+/- muBound * sigma_u", where "sigma_u" is the standard
deviation of "u".
CHANGES IN VERSION 0.99-2
* argument 'maxit' can be zero now
CHANGES IN VERSION 0.99-0
* corrected and considerably improved documentation of function "fontier"
* changed order of arguments of function "frontier"
* removed arguments "crossSectionName" and "timePeriodName" from function
"frontier": in case of cross-section data, these variables (information) are
not needed, and in case of panel data, the information on the panel structure
has to be added to the data set by the function "plm.data" of the "plm" package
* argument "modelType" of function "frontier" must be "ECF" or "EEF" now
* replaced argument "funtionType" of function "frontier"
by argument "ineffDecrease"
* renamed argument "eta" of function "frontier" as "timeEffect"
* split argument "mu" of function "frontier" into "truncNorm"
and "zIntercept"
* increased default value of argument "maxit" of function "frontier" to 1000
* renamed argument "step1" of function "frontier" as "searchStep"
* renamed argument "tol2" of function "frontier" as "searchTol"
* replaced argument "indic" of function "frontier" by "searchScale"
* renamed argument "gridno" of function "frontier" as "gridSize"
* renamed argument "igrid2" of function "frontier" as "gridDouble"
* renamed argument "iprint" of function "frontier" as "printIter"
* removed arguments "qxNames" and "quadHalf" from function "frontier",
because quadratic or translog frontiers can be estimated with function
"frontierQuad" now
* added "logLik" method for objects of class "frontier"
* added function "frontierQuad" for estimating quadratic and translog frontiers
* added function "frontierTranslogRay" for estimating stochastic ray
translog frontier functions
* added the generic function "efficiencies" and corresponding methods
for default objects and objects of class "frontier"
* added "elas" method for objects of class "frontierQuad"
* function frontier() and frontierQuad() return the (matched) call now
* the matrix of efficiency estimates returned by "frontier" has row names
(cross section units) and possibly column names (time period) now
CHANGES IN VERSION 0.9-9 AND BEFORE
* please take a look at the log messages of the SVN repository on R-Forge