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.

1 | ```
pearsonMSC(x, ...)
``` |

`x` |
empirical data (numerical vector) for MLE. |

`...` |
parameters for |

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 ln L(θ)*for

`AIC`

:*-2 ln L(θ) + 2 k*for

`AICc`

:*-2 ln L(θ) + 2 k n / (n-k-1)*for

`BIC`

:*-2 ln L(θ) + k ln(n)*for

`HQC`

:*-2 ln L(θ) + 2 k ln(ln(n))*

where *ln L(θ)* 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.

A list containing

`MSCs ` |
a matrix with rows |

`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 |

The implementation is still preliminary (and slow). No analytical results are used, ie. no analytical solutions for ML estimators and no analytical gradients.

Martin Becker martin.becker@mx.uni-saarland.de

`PearsonDS-package`

,
`Pearson`

,
`pearsonFitML`

1 2 3 4 5 6 7 8 9 10 | ```
## Generate sample
DATA <- rpearson(1000,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)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.