| psfm | R Documentation |
Function to implement various panel data stochastic frontier estimators
psfm(formula, model_name = c("TRE_Z", "GTRE_Z", "TRE",
"GTRE", "TFE", "FD", "GTRE_SEQ1", "GTRE_SEQ2"), data,
maxit.bobyqa = 100, maxit.psoptim = 10, maxit.optim =
10, REPORT = 1, trace = 3, pgtol = 0, individual,
halton_num = NULL, start_val = FALSE, gamma = FALSE,
PSopt = FALSE, optHessian, inefdec= TRUE, Method = "L-BFGS-B",
verbose = FALSE,rand.gtre = NULL, rand.psoptim = NULL)
formula |
a symbolic description for the model to be estimated |
model_name |
model name for the estimation |
data |
a pdata.frame |
maxit.bobyqa |
Maximum number of iterations for the bobyqa optimization routine |
maxit.psoptim |
Maximum number of iterations for the psoptim optimization routine |
maxit.optim |
Maximum number of iterations for the optim optimization routine |
REPORT |
reporting parameter |
trace |
trace |
pgtol |
pgtol |
individual |
individual unit in the regression model |
halton_num |
number of Halton draws to use in SML models |
start_val |
starting value (optional) |
gamma |
gamma |
PSopt |
use psoptim optimization routine (T or F) |
optHessian |
Logical. Should a numerically differentiated Hessian matrix be returned while using the optim routine? (for optim routine) |
inefdec |
Production or cost function |
Method |
The method to be used for optim. See 'Details' within optim. |
verbose |
Logical. Print optimization progress messages? Default is |
rand.psoptim |
Integer. Seed for replication of psoptim. Default to |
rand.gtre |
Integer. Seed for replication of the gtre model. Default to |
The generalized true random effects model (GTRE, 4-component model) and true random effects models (TRE) are both estimated by simulated maximum likelihood based on the paper by the Fillipini and Greene (2016, JPA). The TRE_Z and GTRE_Z allow for modeling the u-component of the GTRE and TRE with determinants of inefficiency. The first-difference estimator (FD) of Wang and Ho (2010, JoE) as well as the True Fixed Effect model estimated by within-maximum likelihood of Chen, Schmidt and Wang (2014, JoE) are also available.
An object of class "sfareg" containing components that vary by model. All models return:
out |
A matrix with parameter estimates, standard errors, and t-values. |
opt |
A list containing the optimization results from the final optimization procedure (not returned for GTRE_SEQ1 and GTRE_SEQ2). |
total_time |
The total computation time for model estimation. |
start_v |
The starting values used in the optimization (not returned for GTRE_SEQ1 and GTRE_SEQ2). |
model_name |
The name of the panel stochastic frontier model estimated. |
formula |
The formula used in the model specification. |
coefficients |
A vector of estimated parameters. |
std.errors |
A vector of standard errors for the estimated parameters (NA if |
t.values |
A vector of t-values for the estimated parameters (NA if |
call |
The matched call. |
data |
The data used in estimation. |
Additional model-specific components:
For GTRE and GTRE_Z models:
H |
Predicted time-invariant technical efficiency for each individual. |
For GTRE, GTRE_Z, TRE and TRE_Z models:
U |
Predicted time-varying technical efficiency for each observation. |
For TFE model:
r_hat_m |
Estimated individual-specific random effects. |
exp_u_hat |
Predicted technical efficiency. |
For FD model:
u_hat |
Predicted technical efficiency in levels. |
h_hat |
Estimated z heterogeneity function values. |
exp_u_hat |
Predicted technical efficiency. |
For GTRE_SEQ1 and GTRE_SEQ2 models:
other_parms |
A matrix of additional parameters (lambda, sigma, beta_0 for SEQ1; sigma_u, sigma_v, sigma_h, sigma_r, lambda, sigma for SEQ2). |
Standard errors require optHessian set to TRUE
The GTRE_SEQ1 and GTRE_SEQ2 models use sequential estimation methods and do not return optimization objects or starting values. All panel models require the individual argument to identify panel units.
David Bernstein
Fillipini and Greene (2016, JPA); Wang and Ho (2010, JoE); Chen, Schmidt and Wang (2014, JoE)
see also
library(sfa)
data_trial <- data_gen_p(t=10,N=100, rand = 100,
sig_u = 1, sig_v = 0.3,
sig_r = .2, sig_h = .4,
cons = 0.5, beta1 = 0.5,
beta2 = 0.5)
max_tre_z <- psfm(formula = y_tre_z ~ x1 +x2| z_gtre,
model_name = "TRE", ## "TRE_Z" also works
data = data_trial,
individual = "name",
PSopt = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.