Skip to contents

This set of functions estimates the parameters of a random sample according to a specified family of distributions. See details.

Usage

e(distr, x, type = "mle", ...)

mle(distr, x, ...)

# S4 method for class 'character,ANY'
mle(distr, x, ...)

me(distr, x, ...)

# S4 method for class 'character,ANY'
me(distr, x, ...)

same(distr, x, ...)

# S4 method for class 'character,ANY'
same(distr, x, ...)

Arguments

distr

A Distribution object or a character. The distribution family assumed.

x

numeric. A sample under estimation.

type

character, case ignored. The estimator type (mle, me, or same).

...

extra arguments.

Value

list. The estimator of the unknown parameters. Note that in distribution families like the binomial, multinomial, and negative binomial, the size is not returned, since it is considered known.

Details

The package covers three major estimation methods: maximum likelihood estimation (MLE), moment estimation (ME), and score-adjusted estimation (SAME).

In order to perform parameter estimation, a new e<name>() member is added to the d(), p(), q(), r() family, following the standard stats name convention. These functions take two arguments, the observations x (an atomic vector for univariate or a matrix for multivariate distibutions) and the type of estimation method to use (a character with possible values "mle", "me", and "same".)

Point estimation functions are available in two versions, the distribution specific one, e.g. ebeta(), and the S4 generic ones, namely mle(), me(), and same(). A general function called e() is also implemented, covering all distributions and estimators.

Functions

  • mle(): Maximum Likelihood Estimator

  • me(): Moment Estimator

  • same(): Score - Adjusted Moment Estimation

References

General Textbooks

  • Van der Vaart, A. W. (2000), Asymptotic statistics, Vol. 3, Cambridge university press.

Beta and gamma distribution families

  • Ye, Z.-S. & Chen, N. (2017), Closed-form estimators for the gamma distribution derived from likelihood equations, The American Statistician 71(2), 177–181.

  • Tamae, H., Irie, K. & Kubokawa, T. (2020), A score-adjusted approach to closed-form estimators for the gamma and beta distributions, Japanese Journal of Statistics and Data Science 3, 543–561.

  • Mathal, A. & Moschopoulos, P. (1992), A form of multivariate gamma distribution, Annals of the Institute of Statistical Mathematics 44, 97–106.

  • Oikonomidis, I. & Trevezas, S. (2023), Moment-Type Estimators for the Dirichlet and the Multivariate Gamma Distributions, arXiv, https://arxiv.org/abs/2311.15025

See also

mle, me, same

Examples

# -----------------------------------------------------
# Beta Distribution Example
# -----------------------------------------------------

# Simulation
set.seed(1)
a <- 1
b <- 2
D <- Beta(a, b)
x <- r(D)(100)

# Point Estimation - The e Functions

ebeta(x, type = "mle")
#> $shape1
#> [1] 1.066968
#> 
#> $shape2
#> [1] 2.466715
#> 
ebeta(x, type = "me")
#> $shape1
#> [1] 1.074511
#> 
#> $shape2
#> [1] 2.469756
#> 
ebeta(x, type = "same")
#> $shape1
#> [1] 1.067768
#> 
#> $shape2
#> [1] 2.454257
#> 

mle(D, x)
#> $shape1
#> [1] 1.066968
#> 
#> $shape2
#> [1] 2.466715
#> 
me(D, x)
#> $shape1
#> [1] 1.074511
#> 
#> $shape2
#> [1] 2.469756
#> 
same(D, x)
#> $shape1
#> [1] 1.067768
#> 
#> $shape2
#> [1] 2.454257
#> 
e(D, x, type = "mle")
#> $shape1
#> [1] 1.066968
#> 
#> $shape2
#> [1] 2.466715
#> 

mle("beta", x) # the distr argument can be a character
#> $shape1
#> [1] 1.066968
#> 
#> $shape2
#> [1] 2.466715
#> 

# Asymptotic Variance - The v Functions

vbeta(a, b, type = "mle")
#>          shape1   shape2
#> shape1 1.597168 2.523104
#> shape2 2.523104 7.985838
vbeta(a, b, type = "me")
#>        shape1 shape2
#> shape1    2.1    3.3
#> shape2    3.3    9.3
vbeta(a, b, type = "same")
#>          shape1   shape2
#> shape1 1.644934 2.539868
#> shape2 2.539868 8.079736

avar_mle(D)
#>          shape1   shape2
#> shape1 1.597168 2.523104
#> shape2 2.523104 7.985838
avar_me(D)
#>        shape1 shape2
#> shape1    2.1    3.3
#> shape2    3.3    9.3
avar_same(D)
#>          shape1   shape2
#> shape1 1.644934 2.539868
#> shape2 2.539868 8.079736

avar(D, type = "mle")
#>          shape1   shape2
#> shape1 1.597168 2.523104
#> shape2 2.523104 7.985838