| dfs_pwm | R Documentation |
This function is an implementation of the probability-weighted moment frontier estimator developed by Daouia, Florens and Simar (2012).
dfs_pwm(xtab, ytab, x, coefm, a=2, rho, ci=TRUE)
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. |
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.
Returns a numeric vector with the same length as x.
The computational burden here is demanding, so be forewarned.
Abdelaati Daouia and Thibault Laurent (converted from Abdelaati Daouia's Matlab code).
Daouia, A., Florens, J.-P. and Simar, L. (2012). Regularization of Nonparametric Frontier Estimators. Journal of Econometrics, 168, 285-299.
rho_pwm, mopt_pwm.
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.