pareto1 {VGAM} | R Documentation |
Estimates one of the parameters of the Pareto(I) distribution by maximum likelihood estimation. Also includes the upper truncated Pareto(I) distribution.
pareto1(lshape = "loge", earg = list(), location = NULL) tpareto1(lower, upper, lshape = "loge", earg = list(), ishape = NULL, imethod = 1)
lshape |
Parameter link function applied to the parameter k.
See |
earg |
List. Extra argument for the link.
See |
lower, upper |
Numeric. Lower and upper limits for the truncated Pareto distribution. Each must be positive and of length 1. They are called alpha and U below. |
ishape |
Numeric.
Optional initial value for the shape parameter.
A |
location |
Numeric. The parameter alpha below.
If the user inputs a number then it is assumed known with this value.
The default means it is estimated by maximum likelihood
estimation, which means |
imethod |
An integer with value |
A random variable Y has a Pareto distribution if
P[Y>y] = C / y^k
for some positive k and C. This model is important in many applications due to the power law probability tail, especially for large values of y.
The Pareto distribution, which is used a lot in economics, has a probability density function that can be written
f(y) = k * alpha^k / y^(k+1)
for 0< alpha < y and k>0. The alpha is known as the location parameter, and k is known as the shape parameter. The mean of Y is alpha*k/(k-1) provided k > 1. Its variance is alpha^2 k /((k-1)^2 (k-2)) provided k > 2.
The upper truncated Pareto distribution has a probability density function that can be written
f(y) = k * alpha^k / [y^(k+1) (1-(α/U)^k)]
for 0< alpha < y < U < Inf and k>0. Possibly, better names for k are the index and tail parameters. Here, alpha and U are known. The mean of Y is k * lower^k * (U^(1-k)-alpha^(1-k)) / ((1-k) * (1-(alpha/U)^k)).
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
and vgam
.
The usual or unbounded Pareto distribution has two parameters
(called alpha and k here) but the family
function pareto1
estimates only k using iteratively
reweighted least squares. The MLE of the alpha
parameter lies on the boundary and is min(y)
where y
is the response. Consequently, using the default argument values,
the standard errors are incorrect when one does a summary
on the fitted object. If the user inputs a value for alpha
then it is assumed known with this value and then summary
on
the fitted object should be correct. Numerical problems may occur
for small k, e.g., k < 1.
Outside of economics, the Pareto distribution is known as the Bradford distribution.
For pareto1
,
if the estimate of k is less than or equal to unity
then the fitted values will be NA
s.
Also, pareto1
fits the Pareto(I) distribution.
See paretoIV
for the more general Pareto(IV/III/II)
distributions, but there is a slight change in notation: s = k
and b = alpha.
In some applications the Pareto law is truncated by a
natural upper bound on the probability tail.
The upper truncated Pareto distribution has three parameters (called
alpha, U and k here) but the family function
tpareto
estimates only k.
With known lower and upper limits, the ML estimator of k has
the usual properties of MLEs.
Aban (2006) discusses other inferential details.
T. W. Yee
Evans, M., Hastings, N. and Peacock, B. (2000) Statistical Distributions, New York: Wiley-Interscience, Third edition.
Aban, I. B., Meerschaert, M. M. and Panorska, A. K. (2006) Parameter estimation for the truncated Pareto distribution, Journal of the American Statistical Association, 101(473), 270–277.
Pareto
,
Tpareto
,
paretoIV
,
gpd
.
alpha = 2; kay = exp(3) pdat = data.frame(y = rpareto(n = 1000, location = alpha, shape = kay)) fit = vglm(y ~ 1, pareto1, pdat, trace = TRUE) fit@extra # The estimate of alpha is here head(fitted(fit)) with(pdat, mean(y)) coef(fit, matrix = TRUE) summary(fit) # Standard errors are incorrect!! # Here, alpha is assumed known fit2 = vglm(y ~ 1, pareto1(location = alpha), pdat, trace = TRUE, crit = "c") fit2@extra # alpha stored here head(fitted(fit2)) coef(fit2, matrix = TRUE) summary(fit2) # Standard errors are okay # Upper truncated Pareto distribution lower = 2; upper = 8; kay = exp(2) pdat3 = data.frame(y = rtpareto(n = 100, lower = lower, upper = upper, shape = kay)) fit3 = vglm(y ~ 1, tpareto1(lower, upper), pdat3, trace = TRUE, cri = "c") coef(fit3, matrix = TRUE) c(fit3@misc$lower, fit3@misc$upper)