| dfs_pwm {npbr} | R Documentation |
Probability-weighted moment frontier estimator
Description
This function is an implementation of the probability-weighted moment frontier estimator developed by Daouia, Florens and Simar (2012).
Usage
dfs_pwm(xtab, ytab, x, coefm, a=2, rho, ci=TRUE)
Arguments
xtab |
a numeric vector containing the observed inputs |
ytab |
a numeric vector of the same length as |
x |
a numeric vector of evaluation points in which the estimator is to be computed. |
coefm |
a tuning parameter (integer) larger than or equal to 1. |
a |
a smoothing parameter (integer) larger than or equal to 2. |
rho |
a numeric vector of the same length as |
ci |
a boolean, TRUE for computing the confidence interval. |
Details
The regularized frontier estimator introduced by Daouia et al. (2012) is based on the unregularized probability-weighted moment estimator
\hat{\varphi}_m(x) = \varphi_{fdh}(x) - \int_{0}^{\varphi_{fdh}(x)} \hat{F}^m(y|x)dy
where the trimming order m\geq 1 is an integer such that m=m_n\to\infty as n\to\infty,
and \hat{F}(y|x)=\sum_{i=1}^n1_{(x_i\leq x,y_i\leq y)}/\sum_{i=1}^n1_{(x_i\leq x)}.
The implemented estimator of \varphi(x) is then defined as
\tilde{\varphi}_m(x) = \hat{\varphi}_m(x) + \Gamma\left(1 + 1/\bar\rho_x\right)\left( 1/m\,\hat\ell_x\right)^{1/\bar\rho_x}
where
\bar{\rho}_x = \log (a)\left\{ \log\Big( \frac{\hat\varphi_{m}(x)-\hat\varphi_{am}(x)}{\hat\varphi_{am}(x)-\hat\varphi_{a^2m}(x)}
\Big) \right\}^{-1} , \quad
\hat{\ell}_x = \frac {1}{m}\left[\frac{\Gamma(1+ 1/\bar\rho_x)\big(1-a^{-1/\bar\rho_x}\big)}{\hat\varphi_{m}(x)-\hat\varphi_{am}(x)}\right]^{\bar\rho_x},
with a\geq 2 being a fixed integer. If the true tail-index \rho_x=\beta_x+2 is known, we set \bar{\rho}_x=\rho_x in the expressions above.
The two smoothing parameters m and a have to be fixed by the user in the 4th and 5th arguments of the function.
The pointwise 95\% confidence interval of \varphi(x) derived from the asymptotic normality of \tilde\varphi_{m}(x)
is given by [\tilde{\varphi}_m(x) \pm 1.96 \, \hat\sigma(m,x)/\sqrt{n}]
where
\hat\sigma^2(m,x)= \frac{2m^2}{ \hat F_X(x)}\int_0^{\varphi_{fdh}(x)}
\int_0^{\varphi_{fdh}(x)} \hat F^{m}(y|x)\hat F^{m-1}(u|x)(1-\hat F(u|x))
1_{(y\le u)}\, dy\,du,
with \hat F_X(x) =(1/n)\sum_{i=1}^n1_{(x_i\leq x)}.
Note that the standard deviation \sigma(m,x)/\sqrt{n} of the bias-corrected estimator \tilde{\varphi}_m(x) is adjusted by a bootstrap estimator
in the numerical illustrations of Daouia et al. (2012), whereas the exact estimate \hat\sigma(m,x)/\sqrt{n} is utilized in the implemented function.
A practical choice of m that Daouia et al. (2012) have employed is the simple rule of thumb
m=coefm \times N^{1/3}_x, where N_x=\sum_{i=1}^n1_{\{x_i\le x\}},
and the integer coefm as well as the second smoothing parameter a are to be tuned by the user to avoid numerical instabilities
in the pointwise estimates of the tail-index \rho_x and the frontier function \varphi(x).
The user may start with the values coefm=5 and a=2 [respectively, coefm=10 and a=20]
for computing the estimator \tilde{\varphi}_m(x) [respectively, \bar{\rho}_x]. Note that tail-index estimation and frontier estimation are conducted separately.
Value
Returns a numeric vector with the same length as x.
Note
The computational burden here is demanding, so be forewarned.
Author(s)
Abdelaati Daouia and Thibault Laurent (converted from Abdelaati Daouia's Matlab code).
References
Daouia, A., Florens, J.-P. and Simar, L. (2012). Regularization of Nonparametric Frontier Estimators. Journal of Econometrics, 168, 285-299.
See Also
Examples
data("post")
x.post<- seq(post$xinput[100],max(post$xinput),
length.out=100)
## Not run:
# 1. When rho[x] is known and equal to 2, we set:
rho<-2
res.pwm.1<- dfs_pwm(post$xinput, post$yprod, x.post, coefm=5,
a=2, rho, ci=TRUE)
# 2. When rho[x] is unknown and dependent of x,
# its estimate hat(rho[x]) is obtained via:
rho_pwm <- rho_pwm(post$xinput, post$yprod, x.post, coefm=10, a=20)
# and the corresponding frontier estimator via:
res.pwm.2<- dfs_pwm(post$xinput, post$yprod, x.post, coefm=5,
a=2, rho_pwm, ci=TRUE)
# 3. When rho[x] is unknown but independent of x,
# a robust estimation strategy is by using the (trimmed) mean
# over the estimates hat(rho[x]):
rho_trimmean<-mean(rho_pwm, trim=0.00)
res.pwm.3<- dfs_pwm(post$xinput, post$yprod, x.post, coefm=5,
a=2, rho_trimmean, ci=TRUE)
## End(Not run)