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)