wle.gamma {wle} | R Documentation |
wle.gamma
is used to robust estimate the shape and the scale parameters via Weighted Likelihood, when the majority of the data are from a gamma distribution.
wle.gamma(x, boot=30, group, num.sol=1, raf="HD", smooth=0.008, tol=10^(-6), equal=10^(-3), max.iter=500, shape.int=c(0.01, 100), use.smooth=TRUE, tol.int, verbose=FALSE, maxiter=1000)
x |
a vector contain the observations. |
boot |
the number of starting points based on boostrap subsamples to use in the search of the roots. |
group |
the dimension of the bootstap subsamples. The default value is max(round(size/4),var) where size is the number of observations and var is the number of variables. |
num.sol |
maximum number of roots to be searched. |
raf |
type of Residual adjustment function to be use:
raf="HD" : Hellinger Distance RAF,
raf="NED" : Negative Exponential Disparity RAF,
raf="SCHI2" : Symmetric Chi-Squared Disparity RAF. |
smooth |
the value of the smoothing parameter. |
tol |
the absolute accuracy to be used to achieve convergence of the algorithm. |
equal |
the absolute value for which two roots are considered the same. (This parameter must be greater than tol ). |
max.iter |
maximum number of iterations for the main function. |
shape.int |
a 2 dimension vector for the interval search of the shape parameter. |
use.smooth |
if FALSE the unsmoothed model is used. This is usefull when the integration routine does not work well. |
tol.int |
the absolute accuracy to be used in the integration routine. The default value is tol*10^{-4}. |
verbose |
if TRUE warnings are printed. |
maxiter |
maximum number of iterations. This value is passed to
uniroot function. |
The gamma is parametrized as follows (α = scale, omega = shape):
f(x) = 1/(α^omega Gamma(omega)) x^(omega-1) e^-(x/α)
for x > 0, α > 0 and omega > 0.
The function use uniroot
to solve the estimating equation
for shape, errors from uniroot
are handled by
try
. If errors occurs then the function returns NA
.
You can use shape.int
to avoid them. It also use a fortran routine (dqagp) to calculate the smoothed model, i.e., evaluate the integral. Sometime the accuracy is not satisfactory, you can use use.smooth=FALSE
to have an approximate estimation using the model instead of the smoothed model.
The Folded Normal distribution is use as kernel. The bandwith is smooth*shape/scale^2.
wle.gamma
returns an object of class
"wle.gamma"
.
Only print method is implemented for this class.
The object returned by wle.gamma
are:
shape |
the estimator of the shape parameter, one value for each root found. |
scale |
the estimator of the scale parameter, one value for each root found. |
rate |
the estimator of the rate parameter (1/scale), one value for each root found. |
tot.weights |
the sum of the weights divide by the number of observations, one value for each root found. |
weights |
the weights associated to each observation, one column vector for each root found. |
f.density |
the non-parametric density estimation. |
m.density |
the smoothed model. |
delta |
the Pearson residuals. |
call |
the match.call(). |
tot.sol |
the number of solutions found. |
not.conv |
the number of starting points that does not converge after the max.iter iteration are reached. |
Claudio Agostinelli
Markatou, M., Basu, A. and Lindsay, B.G., (1998). Weighted likelihood estimating equations with a bootstrap root search, Journal of the American Statistical Association, 93, 740-750.
Agostinelli, C., (1998). Inferenza statistica robusta basata sulla funzione di verosimiglianza pesata: alcuni sviluppi, Ph.D Thesis, Department of Statistics, University of Padova.
library(wle) x <- rgamma(n=100, shape=2, scale=2) wle.gamma(x) x <- c(rgamma(n=30, shape=2, scale=2), rgamma(n=100, shape=20, scale=20)) wle.gamma(x, boot=10, group=10, num.sol=2) # depending on the sample, one or two roots.