paretoff {VGAM} | R Documentation |
Pareto and Truncated Pareto Distribution Family Functions
Description
Estimates one of the parameters of the Pareto(I) distribution by maximum likelihood estimation. Also includes the upper truncated Pareto(I) distribution.
Usage
paretoff(scale = NULL, lshape = "loglink")
truncpareto(lower, upper, lshape = "loglink", ishape = NULL, imethod = 1)
Arguments
lshape |
Parameter link function applied to the parameter |
scale |
Numeric.
The parameter |
lower , upper |
Numeric.
Lower and upper limits for the truncated Pareto distribution.
Each must be positive and of length 1.
They are called |
ishape |
Numeric.
Optional initial value for the shape parameter.
A |
imethod |
See |
Details
A random variable has a Pareto distribution if
for some positive and
.
This model is important in many applications due to the power
law probability tail, especially for large values of
.
The Pareto distribution, which is used a lot in economics, has a probability density function that can be written
for and
.
The
is called the scale parameter, and
it is either assumed known or else
min(y)
is used.
The parameter is called the shape parameter.
The mean of
is
provided
.
Its variance is
provided
.
The upper truncated Pareto distribution has a probability density function that can be written
for
and
.
Possibly, better names for
are
the index and tail parameters.
Here,
and
are known.
The mean of
is
.
Value
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
and vgam
.
Warning
The usual or unbounded Pareto distribution has two
parameters (called and
here)
but the family function
paretoff
estimates only
using iteratively reweighted least squares.
The MLE of the
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
, e.g.,
.
Note
Outside of economics, the Pareto distribution is known as the Bradford distribution.
For paretoff
,
if the estimate of is less than or equal to unity
then the fitted values will be
NA
s.
Also, paretoff
fits the Pareto(I) distribution.
See paretoIV
for the more general Pareto(IV/III/II)
distributions, but there is a slight change in notation:
and
.
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
,
and
here) but the family function
truncpareto()
estimates only .
With known lower and upper limits, the ML estimator of
has
the usual properties of MLEs.
Aban (2006) discusses other inferential details.
Author(s)
T. W. Yee
References
Forbes, C., Evans, M., Hastings, N. and Peacock, B. (2011). Statistical Distributions, Hoboken, NJ, USA: John Wiley and Sons, Fourth 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.
See Also
Pareto
,
Truncpareto
,
paretoIV
,
gpd
,
benini1
.
Examples
alpha <- 2; kay <- exp(3)
pdata <- data.frame(y = rpareto(n = 1000, scale = alpha, shape = kay))
fit <- vglm(y ~ 1, paretoff, data = pdata, trace = TRUE)
fit@extra # The estimate of alpha is here
head(fitted(fit))
with(pdata, mean(y))
coef(fit, matrix = TRUE)
summary(fit) # Standard errors are incorrect!!
# Here, alpha is assumed known
fit2 <- vglm(y ~ 1, paretoff(scale = alpha), data = pdata, trace = TRUE)
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)
pdata3 <- data.frame(y = rtruncpareto(n = 100, lower = lower,
upper = upper, shape = kay))
fit3 <- vglm(y ~ 1, truncpareto(lower, upper), data = pdata3, trace = TRUE)
coef(fit3, matrix = TRUE)
c(fit3@misc$lower, fit3@misc$upper)