Weighted maximum likelihood estimator
Estimate the shape parameter of a Pareto distribution using a weighted maximum likelihood approach.
thetaWML(x, k = NULL, x0 = NULL, weight = c("residuals", "probability"), const, bias = TRUE, ...)
x |
a numeric vector. |
k |
the number of observations in the upper tail to which the Pareto distribution is fitted. |
x0 |
the threshold (scale parameter) above which the Pareto distribution is fitted. |
weight |
a character string specifying the weight function to be used.
If |
const |
Tuning constant(s) that control the robustness of the method.
If |
bias |
a logical indicating whether bias correction should be applied. |
... |
additional arguments to be passed to
|
The arguments k
and x0
of course correspond with each other.
If k
is supplied, the threshold x0
is estimated with the n
- k largest value in x
, where n is the number of observations.
On the other hand, if the threshold x0
is supplied, k
is given
by the number of observations in x
larger than x0
. Therefore,
either k
or x0
needs to be supplied. If both are supplied,
only k
is used (mainly for back compatibility).
The weighted maximum likelihood estimator belongs to the class of
M-estimators. In order to obtain the estimate, the root of a certain
function needs to be found, which is implemented using
uniroot
.
The estimated shape parameter.
The argument x0
for the threshold (scale parameter) of the
Pareto distribution was introduced in version 0.2.
Andreas Alfons and Josef Holzer
Dupuis, D.J. and Morgenthaler, S. (2002) Robust weighted likelihood estimators with an application to bivariate extreme value problems. The Canadian Journal of Statistics, 30(1), 17–36.
Dupuis, D.J. and Victoria-Feser, M.-P. (2006) A robust prediction error criterion for Pareto modelling of upper tails. The Canadian Journal of Statistics, 34(4), 639–658.
data(eusilc) # equivalized disposable income is equal for each household # member, therefore only one household member is taken eusilc <- eusilc[!duplicated(eusilc$db030),] # estimate threshold ts <- paretoScale(eusilc$eqIncome, w = eusilc$db090) # using number of observations in tail thetaWML(eusilc$eqIncome, k = ts$k) # using threshold thetaWML(eusilc$eqIncome, x0 = ts$x0)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.