Learn R Programming

PearsonDS (version 1.3.1)

pearsonMSC: Log-Likelihoods and Model Selection Criteria for different Pearson distribution types

Description

This function performs (as pearsonFitML) an ML estimation for all sub-classes of the Pearson distribution system via numerical optimization (with nlminb) for model selection purposes. Apart from calculating the log-likelihood values as well as the values of some common model selection criteria (pure ML, AIC, AICc, BIC, HQC) for the different sub-classes, model selection is done for each of the criteria and the parameter estimates for each distribution sub-class are returned.

Usage

pearsonMSC(x, ...)

Value

A list containing

MSCs

a matrix with rows ML, AIC, AICc, SIC, HQC for the different model selection criteria and columns 0, I, II, III, IV, V, VI,VII for the different distribution types containing the values of the criterion/distribution type-combinations.

logLik

a vector with the log-likelihood values for the different distribution types.

FittedDistributions

a list with vectors of the parameter estimates (preceeded by the distribution type number) for the 8 Pearson distribution sub-classes.

Best

a list with components ML, AIC, AICc, SIC, and HQC containing the 'best' distributions (distribution type number and parameter estimates) for the different Model Selection Criteria.

Arguments

x

empirical data (numerical vector) for MLE.

...

parameters for nlminb.

Details

For the ML estimation, see the details of pearsonFitML. The considered Model Selection Criteria (MSCs) are 'pure' Maximum Likelihood (ML), Akaike Information Criterion (AIC), corrected AIC (AICc), Bayes Information Criterion (BIC, also known as Schwarz Criterion), and Hannan-Quinn-Criterion (HQC). The definitions used for the different MSCs are

  • for ML: \(-2\cdot \ln L(\theta)\)

  • for AIC: \(-2\cdot \ln L(\theta)+2\cdot k\)

  • for AICc: \(-2\cdot \ln L(\theta)+2\cdot k\cdot\frac{n}{n-k-1}\)

  • for BIC: \(-2\cdot \ln L(\theta)+ k\cdot \ln(n)\)

  • for HQC: \(-2\cdot \ln L(\theta)+2\cdot k\cdot \ln(\ln(n))\)

where \(\ln L(\theta)\) denotes the log-Likelihood, \(n\) denotes the number of observations (ie, the length of x) and \(k\) denotes the number of parameters of the distribution (sub-class).

The best model minimizes the corresponding MSC function values.

See Also

PearsonDS-package, Pearson, pearsonFitML

Examples

Run this code
## Generate sample 
DATA <- rpearson(500,moments=c(mean=1,variance=2,skewness=1,kurtosis=5))
## Call pearsonMSC for model selection
MSC  <- pearsonMSC(DATA,control=list(iter.max=1e5,eval.max=1e5))
## log-Likelihood values for all distribution sub-classes
print(MSC$logLik)
## Values for all MSCs and distribution sub-classes
print(MSC$MSCs)
## Model selection for all MSCs
print(MSC$Best)

Run the code above in your browser using DataLab