paretoff(scale = NULL, lshape = "loge")
truncpareto(lower, upper, lshape = "loge", ishape = NULL, imethod = 1)
Links
for more choices.
A log link is the default because $k$ is positive.min(y)
is used,
where y
is theNULL
means a value is obtained internally.
If failure to converge occurs try specifying a value, e.g., 1 or 2.CommonVGAMffArguments
for information.
If failure to converge occurs then try specifying a value for
ishape
."vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
and vgam
.paretoff
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$.
The Pareto distribution, which is used a lot in economics,
has a probability density function that can be written
min(y)
is used.
The parameter $k$ is called 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
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
,
Truncpareto
,
paretoIV
,
gpd
,
benini1
.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)
Run the code above in your browser using DataLab