---
title: "Illustration"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Illustration}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
# Illustration
## Data
> is a data frame containing selected variables for 500 U.S. commercial
> banks, randomly sampled from approximately 5000 banks, based on the
> dataset of Koetter et al. (2012) for year 2007. The dataset is
> provided solely for illustration and pedagogical purposes and is not
> suitable for empirical research.
``` r
library(snreg)
data(banks07, package = "snreg")
head(banks07)
#R> id year TC Y1 Y2 W1 W2 W3 ER
#R> 1 152440 2007 4659.505 8661.84 58393.04 38.55422 37.75000 4.146092 0.1117789
#R> 2 544335 2007 10848.960 19492.91 146789.00 30.66785 45.13934 2.263886 0.1139121
#R> 3 548203 2007 14523.650 18630.49 219705.70 27.38797 56.02857 4.312672 0.1342984
#R> 4 568238 2007 1644.808 11902.50 18675.68 32.84768 50.47368 1.541316 0.1029891
#R> 5 651158 2007 3054.240 29322.21 38916.14 42.20033 52.23529 3.192056 0.1421004
#R> 6 705444 2007 6168.736 36568.03 67179.16 11.95771 41.46667 3.181241 0.1449880
#R> LA TA ZSCORE ZSCORE3 SDROA LLP lnzscore lnzscore3
#R> 1 0.7781611 75039.78 29.49198 11.93898 0.4532092 732.4904 3.384118 2.479809
#R> 2 0.7679300 191148.92 62.97659 20.66493 0.2298561 305.9889 4.142763 3.028438
#R> 3 0.8880010 247416.05 38.99969 30.88642 0.3874364 1534.6521 3.663554 3.430317
#R> 4 0.5050412 36978.53 30.68124 24.53655 0.4063778 0.0000 3.423651 3.200164
#R> 5 0.5264002 73928.81 30.02672 28.42257 0.5496323 0.0000 3.402088 3.347184
#R> 6 0.5222276 128639.62 110.67650 37.66002 0.1502981 0.0000 4.706612 3.628599
#R> lnsdroa scope ms_county
#R> 1 -0.7914014 0.4801792 0.3466652
#R> 2 -1.4703018 0.5254947 0.8830606
#R> 3 -0.9482036 0.8897177 1.1430008
#R> 4 -0.9004720 0.3917692 0.1708316
#R> 5 -0.5985058 0.5523984 0.3415328
#R> 6 -1.8951346 0.4073012 0.5942832
```
## Specification
> Define the specification (formula) that will be used:
``` r
# Translog cost function specification
spe.tl <- log(TC) ~ (log(Y1) + log(Y2) + log(W1) + log(W2))^2 +
I(0.5 * log(Y1)^2) + I(0.5 * log(Y2)^2) +
I(0.5 * log(W1)^2) + I(0.5 * log(W2)^2)
```
## Linear Regression via MLE
To estimate simple OLS using MLE
``` r
# -------------------------------------------------------------
# Specification 1: homoskedastic noise (ln.var.v = NULL)
# -------------------------------------------------------------
formSV <- NULL
m1 <- lm.mle(
formula = spe.tl,
data = banks07,
ln.var.v = formSV
)
#R> theta0:
#R> (Intercept) log(Y1) log(Y2)
#R> -4.386991731 0.415874408 0.370050861
#R> log(W1) log(W2) I(0.5 * log(Y1)^2)
#R> 0.524152369 1.342097991 0.047454756
#R> I(0.5 * log(Y2)^2) I(0.5 * log(W1)^2) I(0.5 * log(W2)^2)
#R> 0.077484315 0.034996665 -0.226281101
#R> log(Y1):log(Y2) log(Y1):log(W1) log(Y1):log(W2)
#R> -0.057609631 -0.020462972 -0.005676474
#R> log(Y2):log(W1) log(Y2):log(W2) log(W1):log(W2)
#R> 0.013639077 0.018840745 -0.154925076
#R> lnVARv0i_(Intercept)
#R> -3.687587268
#R>
#R> -------------- Regression with normal errors: ---------------
#R>
#R> initial value -212.427550
#R> iter 1 value -212.427550
#R> final value -212.427550
#R> converged
#R> Estimate Std.Err Z value Pr(>z)
#R> (Intercept) -4.3869917 3.0631686 -1.4322 0.1520939
#R> log(Y1) 0.4158744 0.1494204 2.7832 0.0053817 **
#R> log(Y2) 0.3700509 0.2827874 1.3086 0.1906756
#R> log(W1) 0.5241524 0.2828127 1.8534 0.0638314 .
#R> log(W2) 1.3420980 1.2504546 1.0733 0.2831419
#R> I(0.5 * log(Y1)^2) 0.0474548 0.0060002 7.9088 2.665e-15 ***
#R> I(0.5 * log(Y2)^2) 0.0774843 0.0225416 3.4374 0.0005873 ***
#R> I(0.5 * log(W1)^2) 0.0349967 0.0273035 1.2818 0.1999249
#R> I(0.5 * log(W2)^2) -0.2262811 0.3426730 -0.6603 0.5090349
#R> log(Y1):log(Y2) -0.0576096 0.0113060 -5.0955 3.479e-07 ***
#R> log(Y1):log(W1) -0.0204630 0.0121495 -1.6843 0.0921316 .
#R> log(Y1):log(W2) -0.0056765 0.0386938 -0.1467 0.8833669
#R> log(Y2):log(W1) 0.0136391 0.0161416 0.8450 0.3981301
#R> log(Y2):log(W2) 0.0188407 0.0596386 0.3159 0.7520666
#R> log(W1):log(W2) -0.1549251 0.0695098 -2.2288 0.0258257 *
#R> lnVARv0i_(Intercept) -3.6875873 0.0632455 -58.3059 < 2.2e-16 ***
#R> ---
#R> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#R> _____________________________________________________________
coef(m1)
#R> (Intercept) log(Y1) log(Y2)
#R> -4.386991731 0.415874408 0.370050861
#R> log(W1) log(W2) I(0.5 * log(Y1)^2)
#R> 0.524152369 1.342097991 0.047454756
#R> I(0.5 * log(Y2)^2) I(0.5 * log(W1)^2) I(0.5 * log(W2)^2)
#R> 0.077484315 0.034996665 -0.226281101
#R> log(Y1):log(Y2) log(Y1):log(W1) log(Y1):log(W2)
#R> -0.057609631 -0.020462972 -0.005676474
#R> log(Y2):log(W1) log(Y2):log(W2) log(W1):log(W2)
#R> 0.013639077 0.018840745 -0.154925076
#R> lnVARv0i_(Intercept)
#R> -3.687587268
# -------------------------------------------------------------
# Specification 2: heteroskedastic noise (variance depends on TA)
# -------------------------------------------------------------
formSV <- ~ log(TA)
m2 <- lm.mle(
formula = spe.tl,
data = banks07,
ln.var.v = formSV
)
#R> theta0:
#R> (Intercept) log(Y1) log(Y2)
#R> -4.386991731 0.415874408 0.370050861
#R> log(W1) log(W2) I(0.5 * log(Y1)^2)
#R> 0.524152369 1.342097991 0.047454756
#R> I(0.5 * log(Y2)^2) I(0.5 * log(W1)^2) I(0.5 * log(W2)^2)
#R> 0.077484315 0.034996665 -0.226281101
#R> log(Y1):log(Y2) log(Y1):log(W1) log(Y1):log(W2)
#R> -0.057609631 -0.020462972 -0.005676474
#R> log(Y2):log(W1) log(Y2):log(W2) log(W1):log(W2)
#R> 0.013639077 0.018840745 -0.154925076
#R> lnVARv0i_(Intercept) lnVARv0i_log(TA)
#R> -3.687587268 0.000000000
#R>
#R> -------------- Regression with normal errors: ---------------
#R>
#R> initial value -212.427550
#R> iter 2 value -212.435637
#R> iter 2 value -212.435637
#R> iter 2 value -212.435638
#R> final value -212.435638
#R> converged
#R> Estimate Std.Err Z value Pr(>z)
#R> (Intercept) -4.38699173 3.07286157 -1.4277 0.1533907
#R> log(Y1) 0.41587442 0.14997873 2.7729 0.0055561 **
#R> log(Y2) 0.37005087 0.29216784 1.2666 0.2053093
#R> log(W1) 0.52415237 0.28241172 1.8560 0.0634555 .
#R> log(W2) 1.34209799 1.25258014 1.0715 0.2839596
#R> I(0.5 * log(Y1)^2) 0.04745481 0.00604526 7.8499 4.219e-15 ***
#R> I(0.5 * log(Y2)^2) 0.07748436 0.02254101 3.4375 0.0005871 ***
#R> I(0.5 * log(W1)^2) 0.03499667 0.02724489 1.2845 0.1989592
#R> I(0.5 * log(W2)^2) -0.22628109 0.34575683 -0.6545 0.5128209
#R> log(Y1):log(Y2) -0.05760953 0.01151446 -5.0032 5.638e-07 ***
#R> log(Y1):log(W1) -0.02046294 0.01213895 -1.6857 0.0918485 .
#R> log(Y1):log(W2) -0.00567644 0.03861266 -0.1470 0.8831243
#R> log(Y2):log(W1) 0.01363911 0.01617084 0.8434 0.3989832
#R> log(Y2):log(W2) 0.01884078 0.06006921 0.3137 0.7537860
#R> log(W1):log(W2) -0.15492507 0.06936169 -2.2336 0.0255105 *
#R> lnVARv0i_(Intercept) -3.68758724 1.00965557 -3.6523 0.0002599 ***
#R> lnVARv0i_log(TA) -0.00036448 0.08630781 -0.0042 0.9966305
#R> ---
#R> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#R> _____________________________________________________________
coef(m2)
#R> (Intercept) log(Y1) log(Y2)
#R> -4.3869917305 0.4158744170 0.3700508703
#R> log(W1) log(W2) I(0.5 * log(Y1)^2)
#R> 0.5241523719 1.3420979943 0.0474548059
#R> I(0.5 * log(Y2)^2) I(0.5 * log(W1)^2) I(0.5 * log(W2)^2)
#R> 0.0774843635 0.0349966695 -0.2262810941
#R> log(Y1):log(Y2) log(Y1):log(W1) log(Y1):log(W2)
#R> -0.0576095323 -0.0204629424 -0.0056764377
#R> log(Y2):log(W1) log(Y2):log(W2) log(W1):log(W2)
#R> 0.0136391061 0.0188407818 -0.1549250651
#R> lnVARv0i_(Intercept) lnVARv0i_log(TA)
#R> -3.6875872440 -0.0003644791
```
## Linear Regression with Skew-Normal Errors
> `snreg` fits a linear regression model where the disturbance term
> follows a skew-normal distribution.
``` r
# -------------------------------------------------------------
# Specification 1: homoskedastic & symmetric noise
# -------------------------------------------------------------
formSV <- NULL # variance equation
formSK <- NULL # skewness equation
m1 <- snreg(
formula = spe.tl,
data = banks07,
ln.var.v = formSV,
skew.v = formSK
)
#R> theta0:
#R> (Intercept) log(Y1) log(Y2)
#R> -4.386991731 0.415874408 0.370050861
#R> log(W1) log(W2) I(0.5 * log(Y1)^2)
#R> 0.524152369 1.342097991 0.047454756
#R> I(0.5 * log(Y2)^2) I(0.5 * log(W1)^2) I(0.5 * log(W2)^2)
#R> 0.077484315 0.034996665 -0.226281101
#R> log(Y1):log(Y2) log(Y1):log(W1) log(Y1):log(W2)
#R> -0.057609631 -0.020462972 -0.005676474
#R> log(Y2):log(W1) log(Y2):log(W2) log(W1):log(W2)
#R> 0.013639077 0.018840745 -0.154925076
#R> lnVARv0i_(Intercept) Skew_v0i_(Intercept)
#R> -3.687587268 3.000000000
#R>
#R> -------------- Regression with skewed errors: ---------------
#R>
#R> Iteration 0 (at starting values): log likelihood = 5.146960520337
#R>
#R> Iteration 1 (hessian is provided, 1 in total): log likelihood = 201.5619797261
#R> Iteration 2 (hessian is provided, 2 in total): log likelihood = 218.5157385369
#R> Iteration 3 (hessian is provided, 3 in total): log likelihood = 219.8304053615
#R> Iteration 4 (hessian is provided, 4 in total): log likelihood = 221.1570395072
#R> Iteration 5 (hessian is provided, 5 in total): log likelihood = 221.4173977326
#R> Iteration 6 (hessian is provided, 6 in total): log likelihood = 221.45910305
#R> Iteration 7 (hessian is provided, 7 in total): log likelihood = 221.4742381631
#R> Iteration 8 (hessian is provided, 8 in total): log likelihood = 221.4742892007
#R> Iteration 9 (hessian is provided, 9 in total): log likelihood = 221.4772909678
#R>
#R> Convergence given g inv(H) g' = 1.147956e-05 < lmtol
#R>
#R> Final log likelihood = 221.4772909678
#R>
#R> Estimate Std.Err Z value Pr(>z)
#R> (Intercept) -5.88439482 3.00884171 -1.9557 0.050500 .
#R> log(Y1) 0.43986913 0.15724371 2.7974 0.005152 **
#R> log(Y2) 0.50497847 0.27574767 1.8313 0.067055 .
#R> log(W1) 0.54680112 0.27757332 1.9699 0.048846 *
#R> log(W2) 1.62221319 1.19336826 1.3594 0.174034
#R> I(0.5 * log(Y1)^2) 0.04152960 0.00579831 7.1624 7.929e-13 ***
#R> I(0.5 * log(Y2)^2) 0.06775246 0.02251267 3.0095 0.002617 **
#R> I(0.5 * log(W1)^2) 0.03985513 0.02624261 1.5187 0.128833
#R> I(0.5 * log(W2)^2) -0.28421570 0.32037935 -0.8871 0.375013
#R> log(Y1):log(Y2) -0.05595449 0.01162258 -4.8143 1.477e-06 ***
#R> log(Y1):log(W1) -0.02195339 0.01251279 -1.7545 0.079349 .
#R> log(Y1):log(W2) 0.00032291 0.04106930 0.0079 0.993727
#R> log(Y2):log(W1) 0.01294569 0.01577160 0.8208 0.411747
#R> log(Y2):log(W2) 0.00975499 0.05798118 0.1682 0.866391
#R> log(W1):log(W2) -0.15803381 0.06620501 -2.3870 0.016985 *
#R> lnVARv0i_(Intercept) -3.01076847 0.11366937 -26.4871 < 2.2e-16 ***
#R> Skew_v0i_(Intercept) 1.86603587 0.32264117 5.7836 7.311e-09 ***
#R> ---
#R> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#R> _____________________________________________________________
coef(m1)
#R> (Intercept) log(Y1) log(Y2)
#R> -5.884394817 0.439869125 0.504978469
#R> log(W1) log(W2) I(0.5 * log(Y1)^2)
#R> 0.546801118 1.622213193 0.041529597
#R> I(0.5 * log(Y2)^2) I(0.5 * log(W1)^2) I(0.5 * log(W2)^2)
#R> 0.067752458 0.039855132 -0.284215702
#R> log(Y1):log(Y2) log(Y1):log(W1) log(Y1):log(W2)
#R> -0.055954492 -0.021953387 0.000322907
#R> log(Y2):log(W1) log(Y2):log(W2) log(W1):log(W2)
#R> 0.012945689 0.009754988 -0.158033814
#R> lnVARv0i_(Intercept) Skew_v0i_(Intercept)
#R> -3.010768472 1.866035868
# -------------------------------------------------------------
# Specification 2: heteroskedastic + skewed noise
# -------------------------------------------------------------
formSV <- ~ log(TA) # heteroskedasticity in v
formSK <- ~ ER # skewness driven by equity ratio
m2 <- snreg(
formula = spe.tl,
data = banks07,
ln.var.v = formSV,
skew.v = formSK
)
#R> theta0:
#R> (Intercept) log(Y1) log(Y2)
#R> -4.386991731 0.415874408 0.370050861
#R> log(W1) log(W2) I(0.5 * log(Y1)^2)
#R> 0.524152369 1.342097991 0.047454756
#R> I(0.5 * log(Y2)^2) I(0.5 * log(W1)^2) I(0.5 * log(W2)^2)
#R> 0.077484315 0.034996665 -0.226281101
#R> log(Y1):log(Y2) log(Y1):log(W1) log(Y1):log(W2)
#R> -0.057609631 -0.020462972 -0.005676474
#R> log(Y2):log(W1) log(Y2):log(W2) log(W1):log(W2)
#R> 0.013639077 0.018840745 -0.154925076
#R> lnVARv0i_(Intercept) lnVARv0i_lnVARv0i_log(TA) Skew_v0i_(Intercept)
#R> -3.687587268 0.000000000 3.000000000
#R> Skew_v0i_Skew_v0i_ER
#R> 0.000000000
#R>
#R> ----------------- Regression with skewed errors: -----------------
#R>
#R> Iteration 0 (at starting values): log likelihood = 5.146960520337
#R>
#R> Iteration 1 (hessian is provided, 1 in total): log likelihood = 204.6988401214
#R> Iteration 2 (hessian is provided, 2 in total): log likelihood = 221.6390613234
#R> Iteration 3 (hessian is provided, 3 in total): log likelihood = 224.8771023643
#R> Iteration 4 (hessian is provided, 4 in total): log likelihood = 225.6867346145
#R> Iteration 5 (hessian is provided, 5 in total): log likelihood = 225.9380532273
#R> Iteration 6 (hessian is provided, 6 in total): log likelihood = 226.0484166119
#R> Iteration 7 (hessian is provided, 7 in total): log likelihood = 226.0721225638
#R> Iteration 8 (hessian is provided, 8 in total): log likelihood = 226.0820635056
#R> Iteration 9 (hessian is provided, 9 in total): log likelihood = 226.0835072457
#R> Iteration 10 (hessian is provided, 10 in total): log likelihood = 226.0909506421
#R>
#R> Convergence given g inv(H) g' = 9.357213e-05 < lmtol
#R>
#R> Final log likelihood = 226.0909506421
#R>
#R> Estimate Std.Err Z value Pr(>z)
#R> (Intercept) -5.71501334 2.98991742 -1.9114 0.055950 .
#R> log(Y1) 0.45216186 0.15708195 2.8785 0.003996 **
#R> log(Y2) 0.64671047 0.28153250 2.2971 0.021613 *
#R> log(W1) 0.48917765 0.27664356 1.7683 0.077018 .
#R> log(W2) 1.15530138 1.17400483 0.9841 0.325082
#R> I(0.5 * log(Y1)^2) 0.04070906 0.00590546 6.8935 5.445e-12 ***
#R> I(0.5 * log(Y2)^2) 0.06170967 0.02265802 2.7235 0.006459 **
#R> I(0.5 * log(W1)^2) 0.04271441 0.02667730 1.6012 0.109343
#R> I(0.5 * log(W2)^2) -0.15999322 0.31994376 -0.5001 0.617028
#R> log(Y1):log(Y2) -0.05757860 0.01197968 -4.8064 1.537e-06 ***
#R> log(Y1):log(W1) -0.01887894 0.01276125 -1.4794 0.139035
#R> log(Y1):log(W2) 0.00165155 0.04117676 0.0401 0.968006
#R> log(Y2):log(W1) 0.00516054 0.01583258 0.3259 0.744467
#R> log(Y2):log(W2) -0.00022261 0.05922730 -0.0038 0.997001
#R> log(W1):log(W2) -0.13107647 0.06626509 -1.9781 0.047922 *
#R> lnVARv0i_(Intercept) -0.89452888 1.03829604 -0.8615 0.388943
#R> lnVARv0i_lnVARv0i_log(TA) -0.17730037 0.08736480 -2.0294 0.042415 *
#R> Skew_v0i_(Intercept) 3.10567750 0.76059557 4.0832 4.442e-05 ***
#R> Skew_v0i_Skew_v0i_ER -9.55208958 4.87607389 -1.9590 0.050116 .
#R> ---
#R> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#R> __________________________________________________________________
coef(m2)
#R> (Intercept) log(Y1) log(Y2)
#R> -5.7150133374 0.4521618623 0.6467104718
#R> log(W1) log(W2) I(0.5 * log(Y1)^2)
#R> 0.4891776489 1.1553013814 0.0407090640
#R> I(0.5 * log(Y2)^2) I(0.5 * log(W1)^2) I(0.5 * log(W2)^2)
#R> 0.0617096653 0.0427144069 -0.1599932243
#R> log(Y1):log(Y2) log(Y1):log(W1) log(Y1):log(W2)
#R> -0.0575785975 -0.0188789363 0.0016515541
#R> log(Y2):log(W1) log(Y2):log(W2) log(W1):log(W2)
#R> 0.0051605363 -0.0002226092 -0.1310764688
#R> lnVARv0i_(Intercept) lnVARv0i_lnVARv0i_log(TA) Skew_v0i_(Intercept)
#R> -0.8945288842 -0.1773003673 3.1056774984
#R> Skew_v0i_Skew_v0i_ER
#R> -9.5520895773
```
## Stochastic Frontier Model with a Skew-Normally Distributed Error Term
> `snsf` performs maximum likelihood estimation of the parameters and
> technical or cost efficiencies in a Stochastic Frontier Model with a
> skew-normally distributed error term.
``` r
myprod <- FALSE
# -------------------------------------------------------------
# Specification 1: homoskedastic & symmetric
# -------------------------------------------------------------
formSV <- NULL # variance equation
formSK <- NULL # skewness equation
formSU <- NULL # inefficiency equation (unused here)
m1 <- snsf(
formula = spe.tl,
data = banks07,
prod = myprod,
ln.var.v = formSV,
skew.v = formSK
)
#R>
#R> -------------- Regression with skewed errors: ---------------
#R>
#R> initial value -105.392823
#R> iter 2 value -105.561746
#R> iter 3 value -105.568000
#R> iter 4 value -105.836407
#R> iter 5 value -106.255928
#R> iter 6 value -107.989401
#R> iter 7 value -129.390401
#R> iter 8 value -148.614164
#R> iter 8 value -148.614164
#R> iter 9 value -148.627674
#R> iter 10 value -148.628304
#R> iter 10 value -148.628304
#R> iter 10 value -148.628304
#R> final value -148.628304
#R> converged
#R> Estimate Std.Err Z value Pr(>z)
#R> X(Intercept) -4.40500089 3.80254827 -1.1584 0.246687
#R> Xlog(Y1) 0.45706967 0.18307828 2.4966 0.012540 *
#R> Xlog(Y2) 0.31560584 0.33532057 0.9412 0.346599
#R> Xlog(W1) 0.48827077 0.38637994 1.2637 0.206335
#R> Xlog(W2) 1.29215252 1.70829901 0.7564 0.449411
#R> XI(0.5 * log(Y1)^2) 0.06252731 0.00718640 8.7008 < 2.2e-16 ***
#R> XI(0.5 * log(Y2)^2) 0.19680294 0.03130033 6.2876 3.225e-10 ***
#R> XI(0.5 * log(W1)^2) 0.05041646 0.03723206 1.3541 0.175700
#R> XI(0.5 * log(W2)^2) -0.28522159 0.46697561 -0.6108 0.541342
#R> Xlog(Y1):log(Y2) -0.14258698 0.00610987 -23.3372 < 2.2e-16 ***
#R> Xlog(Y1):log(W1) 0.00029592 0.01705705 0.0173 0.986158
#R> Xlog(Y1):log(W2) 0.17610934 0.05558196 3.1685 0.001532 **
#R> Xlog(Y2):log(W1) 0.01454480 0.02162340 0.6726 0.501175
#R> Xlog(Y2):log(W2) -0.09354141 0.07710129 -1.2132 0.225043
#R> Xlog(W1):log(W2) -0.21197450 0.09475124 -2.2372 0.025275 *
#R> lnVARv0i_(Intercept) -2.66540968 0.11013951 -24.2003 < 2.2e-16 ***
#R> Skew_v0i_(Intercept) 0.98854923 0.03434255 28.7850 < 2.2e-16 ***
#R> sv 0.26376286 0.00766250 34.4226 < 2.2e-16 ***
#R> ---
#R> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#R> _____________________________________________________________
#R> theta0:
#R> (Intercept) log(Y1) log(Y2)
#R> -4.4050008900 0.4570696682 0.3156058426
#R> log(W1) log(W2) I(0.5 * log(Y1)^2)
#R> 0.4882707672 1.2921525200 0.0625273146
#R> I(0.5 * log(Y2)^2) I(0.5 * log(W1)^2) I(0.5 * log(W2)^2)
#R> 0.1968029394 0.0504164557 -0.2852215911
#R> log(Y1):log(Y2) log(Y1):log(W1) log(Y1):log(W2)
#R> -0.1425869800 0.0002959179 0.1761093362
#R> log(Y2):log(W1) log(Y2):log(W2) log(W1):log(W2)
#R> 0.0145448021 -0.0935414140 -0.2119744969
#R> lnVARv0i_(Intercept) Skew_v0i_(Intercept) lnVARu0i_(Intercept)
#R> -4.2020745955 0.3982617494 -4.5984104618
#R>
#R> ---------------------- The main model: ----------------------
#R>
#R> Iteration 0 (at starting values): log likelihood = 21.64346032248
#R>
#R> Iteration 1 (hessian is provided, 1 in total): log likelihood = 186.4880063145
#R> Iteration 2 (hessian is provided, 2 in total): log likelihood = 214.3430643968
#R> Iteration 3 (hessian is provided, 3 in total): log likelihood = 220.957921695
#R> Iteration 4 (hessian is provided, 4 in total): log likelihood = 223.1040419712
#R> Iteration 5 (hessian is provided, 5 in total): log likelihood = 224.3725358921
#R> Iteration 6 (hessian is provided, 6 in total): log likelihood = 224.6133195507
#R> Iteration 7 (hessian is provided, 7 in total): log likelihood = 224.7096271178
#R> Iteration 8 (hessian is provided, 8 in total): log likelihood = 224.7298349674
#R> Iteration 9 (hessian is provided, 9 in total): log likelihood = 224.8005650898
#R> Iteration 10 (hessian is provided, 10 in total): log likelihood = 224.8011109934
#R> Iteration 11 (hessian is provided, 11 in total): log likelihood = 224.8019248405
#R> Iteration 12 (hessian is provided, 12 in total): log likelihood = 224.8021079368
#R> Iteration 13 (hessian is provided, 13 in total): log likelihood = 224.8054321542
#R> Iteration 14 (hessian is provided, 14 in total): log likelihood = 224.8420044777
#R> Iteration 15 (hessian is provided, 15 in total): log likelihood = 225.4135588864
#R> Iteration 16 (hessian is provided, 16 in total): log likelihood = 225.5282232035
#R> Iteration 17 (hessian is provided, 17 in total): log likelihood = 225.533351752
#R> Iteration 18 (hessian is provided, 18 in total): log likelihood = 225.5368333384
#R> Iteration 19 (hessian is provided, 19 in total): log likelihood = 225.5371105355
#R> Iteration 20 (hessian is provided, 20 in total): log likelihood = 225.539300346
#R> Iteration 21 (hessian is provided, 21 in total): log likelihood = 225.539317247
#R> Iteration 22 (hessian is provided, 22 in total): log likelihood = 225.539324279
#R>
#R> Convergence given g inv(H) g' = 1.027857e-06 < lmtol
#R>
#R> Final log likelihood = 225.539324279
#R>
#R>
#R> Log likelihood maximization completed in
#R> 0.18 seconds
#R> _____________________________________________________________
#R>
#R> Cross-sectional stochastic (cost) frontier model
#R>
#R> Distributional assumptions
#R>
#R> Component Distribution Assumption
#R> 1 Random noise: skew normal homoskedastic
#R> 2 Inefficiency: exponential homoskedastic
#R>
#R> Number of observations = 500
#R>
#R> -------------------- Estimation results: --------------------
#R>
#R> Coef. SE z P>|z|
#R> _____________________________________________________________
#R> Frontier
#R>
#R> (Intercept) -6.3606 3.0602 -2.08 0.0377 *
#R> log(Y1) 0.4425 0.1767 2.50 0.0123 *
#R> log(Y2) 0.5660 0.2753 2.06 0.0398 *
#R> log(W1) 0.4983 0.2835 1.76 0.0788 .
#R> log(W2) 1.6557 1.1889 1.39 0.1637
#R> I(0.5 * log(Y1)^2) 0.0449 0.0066 6.76 0.0000 ***
#R> I(0.5 * log(Y2)^2) 0.0650 0.0222 2.93 0.0034 **
#R> I(0.5 * log(W1)^2) 0.0363 0.0258 1.41 0.1597
#R> I(0.5 * log(W2)^2) -0.3099 0.3170 -0.98 0.3283
#R> log(Y1):log(Y2) -0.0586 0.0117 -4.99 0.0000 ***
#R> log(Y1):log(W1) -0.0227 0.0127 -1.78 0.0750 .
#R> log(Y1):log(W2) -0.0006 0.0420 -0.01 0.9895
#R> log(Y2):log(W1) 0.0117 0.0152 0.77 0.4393
#R> log(Y2):log(W2) 0.0106 0.0563 0.19 0.8505
#R> log(W1):log(W2) -0.1375 0.0682 -2.02 0.0438 *
#R> -------------------------------------------------------------
#R> Variance of the random noise component: log(sigma_v^2)
#R>
#R> lnVARv0i_(Intercept) -3.8207 0.2255 -16.94 0.0000 ***
#R> -------------------------------------------------------------
#R> Skewness of the random noise component: `alpha`
#R>
#R> Skew_v0i_(Intercept) -1.5007 0.8755 -1.71 0.0865 .
#R> -------------------------------------------------------------
#R> Inefficiency component: log(sigma_u^2)
#R>
#R> lnVARu0i_(Intercept) -4.3422 0.2398 -18.11 0.0000 ***
#R> _____________________________________________________________
#R> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#R>
#R> --------------- Summary of cost efficiencies: ---------------
#R>
#R> JLMS:= exp(-E[ui|ei])
#R>
#R> TE_JLMS
#R> Obs 500
#R> NAs 0
#R> Mean 0.8955
#R> StDev 0.0715
#R> IQR 0.0645
#R> Min 0.4559
#R> 5% 0.7420
#R> 10% 0.7959
#R> 25% 0.8780
#R> 50% 0.9208
#R> 75% 0.9425
#R> 90% 0.9520
#R> Max 0.9691
coef(m1)
#R> (Intercept) log(Y1) log(Y2)
#R> -6.3606134654 0.4425312174 0.5660453675
#R> log(W1) log(W2) I(0.5 * log(Y1)^2)
#R> 0.4983319531 1.6557355502 0.0448519992
#R> I(0.5 * log(Y2)^2) I(0.5 * log(W1)^2) I(0.5 * log(W2)^2)
#R> 0.0649995029 0.0362747554 -0.3099280819
#R> log(Y1):log(Y2) log(Y1):log(W1) log(Y1):log(W2)
#R> -0.0586056701 -0.0226917826 -0.0005509121
#R> log(Y2):log(W1) log(Y2):log(W2) log(W1):log(W2)
#R> 0.0117430476 0.0106095399 -0.1375404433
#R> lnVARv0i_(Intercept) Skew_v0i_(Intercept) lnVARu0i_(Intercept)
#R> -3.8206601915 -1.5006628040 -4.3422317628
# -------------------------------------------------------------
# Specification 2: heteroskedastic + skewed noise
# -------------------------------------------------------------
formSV <- ~ log(TA) # heteroskedastic variance
formSK <- ~ ER # skewness driver
formSU <- ~ LA + ER # inefficiency
m2 <- snsf(
formula = spe.tl,
data = banks07,
prod = myprod,
ln.var.v = formSV,
skew.v = formSK
)
#R>
#R> -------------- Regression with skewed errors: ---------------
#R>
#R> initial value -105.392823
#R> iter 2 value -105.561746
#R> iter 3 value -105.568000
#R> iter 4 value -105.836407
#R> iter 5 value -106.255928
#R> iter 6 value -107.989401
#R> iter 7 value -129.390401
#R> iter 8 value -148.614164
#R> iter 8 value -148.614164
#R> iter 9 value -148.627674
#R> iter 10 value -148.628304
#R> iter 10 value -148.628304
#R> iter 10 value -148.628304
#R> final value -148.628304
#R> converged
#R> Estimate Std.Err Z value Pr(>z)
#R> X(Intercept) -4.40500089 3.80254827 -1.1584 0.246687
#R> Xlog(Y1) 0.45706967 0.18307828 2.4966 0.012540 *
#R> Xlog(Y2) 0.31560584 0.33532057 0.9412 0.346599
#R> Xlog(W1) 0.48827077 0.38637994 1.2637 0.206335
#R> Xlog(W2) 1.29215252 1.70829901 0.7564 0.449411
#R> XI(0.5 * log(Y1)^2) 0.06252731 0.00718640 8.7008 < 2.2e-16 ***
#R> XI(0.5 * log(Y2)^2) 0.19680294 0.03130033 6.2876 3.225e-10 ***
#R> XI(0.5 * log(W1)^2) 0.05041646 0.03723206 1.3541 0.175700
#R> XI(0.5 * log(W2)^2) -0.28522159 0.46697561 -0.6108 0.541342
#R> Xlog(Y1):log(Y2) -0.14258698 0.00610987 -23.3372 < 2.2e-16 ***
#R> Xlog(Y1):log(W1) 0.00029592 0.01705705 0.0173 0.986158
#R> Xlog(Y1):log(W2) 0.17610934 0.05558196 3.1685 0.001532 **
#R> Xlog(Y2):log(W1) 0.01454480 0.02162340 0.6726 0.501175
#R> Xlog(Y2):log(W2) -0.09354141 0.07710129 -1.2132 0.225043
#R> Xlog(W1):log(W2) -0.21197450 0.09475124 -2.2372 0.025275 *
#R> lnVARv0i_(Intercept) -2.66540968 0.11013951 -24.2003 < 2.2e-16 ***
#R> Skew_v0i_(Intercept) 0.98854923 0.03434255 28.7850 < 2.2e-16 ***
#R> sv 0.26376286 0.00766250 34.4226 < 2.2e-16 ***
#R> ---
#R> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#R> _____________________________________________________________
#R> theta0:
#R> (Intercept) log(Y1) log(Y2)
#R> -4.405001e+00 4.570697e-01 3.156058e-01
#R> log(W1) log(W2) I(0.5 * log(Y1)^2)
#R> 4.882708e-01 1.292153e+00 6.252731e-02
#R> I(0.5 * log(Y2)^2) I(0.5 * log(W1)^2) I(0.5 * log(W2)^2)
#R> 1.968029e-01 5.041646e-02 -2.852216e-01
#R> log(Y1):log(Y2) log(Y1):log(W1) log(Y1):log(W2)
#R> -1.425870e-01 2.959179e-04 1.761093e-01
#R> log(Y2):log(W1) log(Y2):log(W2) log(W1):log(W2)
#R> 1.454480e-02 -9.354141e-02 -2.119745e-01
#R> lnVARv0i_(Intercept) lnVARv0i_log(TA) Skew_v0i_(Intercept)
#R> -4.202075e+00 2.212626e-16 3.982617e-01
#R> Skew_v0i_ER lnVARu0i_(Intercept)
#R> 0.000000e+00 -4.598410e+00
#R>
#R> ---------------------- The main model: ----------------------
#R>
#R> Iteration 0 (at starting values): log likelihood = 21.64346032248
#R>
#R> Iteration 1 (hessian is provided, 1 in total): log likelihood = 133.2018982456
#R> Iteration 2 (hessian is provided, 2 in total): log likelihood = 183.2824024606
#R> Iteration 3 (hessian is provided, 3 in total): log likelihood = 214.7412845581
#R> Iteration 4 (hessian is provided, 4 in total): log likelihood = 223.1763227676
#R> Iteration 5 (hessian is provided, 5 in total): log likelihood = 226.655477596
#R> Iteration 6 (hessian is provided, 6 in total): log likelihood = 226.7105002202
#R> Iteration 7 (hessian is provided, 7 in total): log likelihood = 226.8074129256
#R> Iteration 8 (hessian is provided, 8 in total): log likelihood = 226.8082101988
#R> Iteration 9 (hessian is provided, 9 in total): log likelihood = 226.8082151929
#R> Iteration 10 (hessian is provided, 10 in total): log likelihood = 226.808224564
#R>
#R> Convergence given g inv(H) g' = 2.529443e-06 < lmtol
#R>
#R> Final log likelihood = 226.808224564
#R>
#R>
#R> Log likelihood maximization completed in
#R> 0.103 seconds
#R> _____________________________________________________________
#R>
#R> Cross-sectional stochastic (cost) frontier model
#R>
#R> Distributional assumptions
#R>
#R> Component Distribution Assumption
#R> 1 Random noise: skew normal heteroskedastic
#R> 2 Inefficiency: exponential homoskedastic
#R>
#R> Number of observations = 500
#R>
#R> -------------------- Estimation results: --------------------
#R>
#R> Coef. SE z P>|z|
#R> _____________________________________________________________
#R> Frontier
#R>
#R> (Intercept) -5.9441 3.0205 -1.97 0.0491 *
#R> log(Y1) 0.4589 0.1647 2.79 0.0053 **
#R> log(Y2) 0.6135 0.2820 2.18 0.0296 *
#R> log(W1) 0.5168 0.2747 1.88 0.0599 .
#R> log(W2) 1.2707 1.1934 1.06 0.2870
#R> I(0.5 * log(Y1)^2) 0.0414 0.0061 6.81 0.0000 ***
#R> I(0.5 * log(Y2)^2) 0.0614 0.0226 2.72 0.0065 **
#R> I(0.5 * log(W1)^2) 0.0439 0.0262 1.68 0.0938 .
#R> I(0.5 * log(W2)^2) -0.2078 0.3247 -0.64 0.5223
#R> log(Y1):log(Y2) -0.0575 0.0120 -4.79 0.0000 ***
#R> log(Y1):log(W1) -0.0215 0.0128 -1.68 0.0927 .
#R> log(Y1):log(W2) 0.0000 0.0417 0.00 0.9997
#R> log(Y2):log(W1) 0.0068 0.0158 0.43 0.6682
#R> log(Y2):log(W2) 0.0086 0.0589 0.15 0.8836
#R> log(W1):log(W2) -0.1368 0.0661 -2.07 0.0384 *
#R> -------------------------------------------------------------
#R> Variance of the random noise component: log(sigma_v^2)
#R>
#R> lnVARv0i_(Intercept) -1.8839 1.6595 -1.14 0.2563
#R> lnVARv0i_log(TA) -0.1558 0.1328 -1.17 0.2407
#R> -------------------------------------------------------------
#R> Skewness of the random noise component: `alpha`
#R>
#R> Skew_v0i_(Intercept) 2.0043 1.0468 1.91 0.0555 .
#R> Skew_v0i_ER -7.2632 5.0581 -1.44 0.1510
#R> -------------------------------------------------------------
#R> Inefficiency component: log(sigma_u^2)
#R>
#R> lnVARu0i_(Intercept) -4.6407 0.3416 -13.58 0.0000 ***
#R> _____________________________________________________________
#R> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#R>
#R> --------------- Summary of cost efficiencies: ---------------
#R>
#R> JLMS:= exp(-E[ui|ei])
#R>
#R> TE_JLMS
#R> Obs 500
#R> NAs 0
#R> Mean 0.9084
#R> StDev 0.0564
#R> IQR 0.0547
#R> Min 0.5206
#R> 5% 0.8096
#R> 10% 0.8379
#R> 25% 0.8903
#R> 50% 0.9241
#R> 75% 0.9450
#R> 90% 0.9568
#R> Max 0.9758
coef(m2)
#R> (Intercept) log(Y1) log(Y2)
#R> -5.944090e+00 4.589482e-01 6.134700e-01
#R> log(W1) log(W2) I(0.5 * log(Y1)^2)
#R> 5.167646e-01 1.270694e+00 4.138294e-02
#R> I(0.5 * log(Y2)^2) I(0.5 * log(W1)^2) I(0.5 * log(W2)^2)
#R> 6.141001e-02 4.385504e-02 -2.077538e-01
#R> log(Y1):log(Y2) log(Y1):log(W1) log(Y1):log(W2)
#R> -5.745504e-02 -2.151307e-02 1.351571e-05
#R> log(Y2):log(W1) log(Y2):log(W2) log(W1):log(W2)
#R> 6.752251e-03 8.627646e-03 -1.368348e-01
#R> lnVARv0i_(Intercept) lnVARv0i_log(TA) Skew_v0i_(Intercept)
#R> -1.883867e+00 -1.558322e-01 2.004266e+00
#R> Skew_v0i_ER lnVARu0i_(Intercept)
#R> -7.263169e+00 -4.640750e+00
```
## Additional Resources
See
> Oleg Badunenko and Daniel J. Henderson (2023). "Production analysis with asymmetric noise". Journal of Productivity Analysis, 61(1), 1–18. [DOI
](https://doi.org/10.1007/s11123-023-00680-5)
for more details