Finding the best distribution for a (weighted) sample.

Share:

Description

This function chooses the best fitted distribution, based on a specified criterion.

Usage

1
2
bestDist(X, w = rep(1, length(X))/length(X), candDist = c("Beta_ab",
  "Laplace", "Normal"), criterion = c("AICc", "logLik", "AIC", "BIC", "MDL"))

Arguments

X

Sample observations.

w

An optional vector of sample weights.

candDist

A vector of candidate distributions.

criterion

The basis on which the best fitted distribution is chosen.

Details

When comparing models fitted by maximum likelihood to the same data, the smaller the AIC, BIC or MDL, the better the fit. When comparing models using the log-likelihood criterion, the larger the log-likelihood the better the fit.

Value

An object of class character containing the name of the best distribution and its corresponding parameter estimates.

Note

The MDL criterion only works for parameter estimation by numerical maximum likelihood.

Author(s)

Haizhen Wu and A. Jonathan R. Godfrey.

Examples

1
2
3
4
5
6
7
X <- rBeta_ab(30, a = 0, b = 1, shape1 = 2, shape2 = 10)

# Determining the best distribution from the list of candidate distributions for the data X
Best.Dist <- bestDist(X, candDist = c("Laplace","Normal","Beta_ab"), criterion = "logLik")

# Printing the parameter estimates of the best distribution
attributes(Best.Dist)$best.dist.par