kopt_momt_pick {npbr} | R Documentation |
Optimal k
in moment and Pickands frontier estimators
Description
This function gives the optimal sample fraction k in the moment and Pickands type of estimators introduced by Daouia, Florens and Simar (2010).
Usage
kopt_momt_pick(xtab, ytab, x, rho, method="moment", wind.coef=0.1)
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. |
rho |
a numeric vector of the same length as |
method |
a character equal to "moment" or "pickands". |
wind.coef |
a scalar coefficient to be selected in the interval (0,1]. |
Details
This function is an implementation of an experimental method by Daouia et al. (2010) for the
automated threshold selection (choice of k=k_n(x)
) for the moment frontier estimator
\tilde\varphi_{momt}(x)
[see dfs_momt
] in case method="moment"
and for the Pickands
frontier estimator \hat\varphi_{pick}(x)
[see dfs_pick
] in case method="pickands"
.
The idea is to select first (for each x
) a grid of values for the sample fraction k_n(x)
given by k = 1, \cdots, [\sqrt{N_x}]
,
where [\sqrt{N_x}]
stands for the integer part of \sqrt{N_x}
with N_x=\sum_{i=1}^n1_{\{x_i\le x\}}
,
and then select the k
where the variation of the results is the smallest. To achieve this here,
Daouia et al. (2010) compute the standard deviations of \tilde\varphi_{momt}(x)
[option method="moment"
] or \hat\varphi_{pick}(x)
[option method="pickands"
]
over a “window” of size \max(3, [ wind.coef \times \sqrt{N_x} /2])
, where the coefficient wind.coef
should be selected in the interval (0,1]
in such
a way to avoid numerical instabilities.
The default option wind.coef=0.1
corresponds to having a window large enough to cover around 10\%
of the possible values of k
in the selected range of values for k_n(x)
.
The value of k
where the standard deviation is minimal defines the desired sample fraction k_n(x)
.
Value
Returns a numeric vector with the same length as x
.
Note
In order to choose a raisonable estimate \tilde\varphi_{momt}(x)=\tilde\varphi_{momt}(x,k)
[see dfs_momt
] and
\hat\varphi_{pick}(x)=\hat\varphi_{pick}(x,k)
[see dfs_pick
] of the frontier function \varphi(x)
,
for each fixed x
, one can construct the plot of the estimator of interest, consisting of the points \{(k,\tilde\varphi_{momt}(x,k))\}_k
or
\{(k,\hat\varphi_{pick}(x,k))\}_k
, and select a value of the estimate at which the obtained graph looks stable. This is this kind of idea
which guides the proposed automatic data-driven rule for a chosen grid of values of x
. The main difficulty with such a method is that the plots of
\tilde\varphi_{momt}(x,k)
or \hat\varphi_{pick}(x,k)
as functions of k
, for each x
, may be so unstable that reasonable values of
k
[which would correspond to the true value of \varphi(x)
] may be hidden in the graphs. In result, the obtained frontier estimator may exhibit considerable volatility as
a function of x
. One way to avoid such instabilities is by tuning the choice of the parameter wind.coef
in the interval (0,1]. Note that the default value is wind.coef=0.1
.
The user can also improve appreciably the estimation of \varphi(x)
by refining the estimation of the extreme-value index \rho_x
(see rho_momt_pick
for details).
Author(s)
Abdelaati Daouia and Thibault Laurent (converted from Leopold Simar's Matlab code).
References
Daouia, A., Florens, J.P. and Simar, L. (2010). Frontier Estimation and Extreme Value Theory, Bernoulli, 16, 1039-1063.
Dekkers, A.L.M., Einmahl, J.H.J. and L. de Haan (1989), A moment estimator for the index of an extreme-value distribution, Annals of Statistics, 17, 1833-1855.
See Also
Examples
data("post")
x.post<- seq(post$xinput[100],max(post$xinput),
length.out=100)
# When rho[x] is known and equal to 2, we set:
rho<-2
# a. Optimal k in Pickands frontier estimators
best_kn.pick<-kopt_momt_pick(post$xinput, post$yprod,
x.post, method="pickands", rho=rho)
# b. Optimal k in moment frontier estimators
## Not run:
best_kn.momt<-kopt_momt_pick(post$xinput, post$yprod,
x.post, rho=rho)
## End(Not run)