akaike {hmmm} | R Documentation |
akaike criterium
Description
Compute AIC value for a list of hmm models
Usage
akaike(..., LRTEST = FALSE, ORDERED = FALSE, NAMES = NULL)
Arguments
... |
objects created by ‘hmmm.mlfit’ or ‘hidden.emfit’ |
LRTEST |
If TRUE, the first model must include all the others models as special cases. For every model, the likelihood ratio statistic test with respect to the first model is computed |
ORDERED |
If TRUE, in the output the models are ordered according to the Akaike criterium starting from the lowest AIC value |
NAMES |
Optional character vector with the names of the models. If it is NULL (the default) model names are created as model1, model2..... |
Details
The models in input must be at least two objects of the classes hmmmfit
or hidden
.
Value
A matrix with row names given by NAMES
and column names describing the
output for every model (position of the model in the input list #model
,
the loglikelihood function loglik
, the number of parameters npar
,
the number of constraints of the model dfmodel
, likelihood ratio test LRTEST
, degrees of freedom dftest
, PVALUE
, AIC
, DELTAAIC
). The DELTAAIC
is the difference between the AIC value of every model and the lowest AIC value.
References
Konishi S, Kitagawa G (2008) Information criteria and statistical modeling. Springer.
Examples
data(madsen)
# 1 = Influence; 2 = Satisfaction; 3 = Contact; 4 = Housing
names<-c("Inf","Sat","Co","Ho")
y<-getnames(madsen,st=6)
margin <- marg.list(c("marg-marg-l-l", "g-marg-l-l", "marg-g-l-l", "g-g-l-l"))
# additive effect of 3 and 4 on logits of 1 in marginal
# distribution {1, 3, 4}, conditional independence 2_||_3|4
modelA <- hmmm.model(marg = margin, lev = c(3, 3, 2, 4), names = names)
modA <- hmmm.mlfit(y, modelA)
modA
# additive effect of 3 and 4 on logits of 1 in marginal
# distributions {1, 3, 4} and {2, 3, 4}
modelB <- hmmm.model(marg = margin, lev = c(3, 3, 2, 4),
names = names, sel = c(18:23, 34:39))
modB <- hmmm.mlfit(y, modelB)
modB
# 1 and 2 do not depend on the levels of 3 and 4
modelC <- hmmm.model(marg = margin, lev = c(3, 3, 2, 4),
names = names, sel = c(18:23, 34:39, 44:71))
modC <- hmmm.mlfit(y, modelC)
modC
akaike(modB, modA, modC, ORDERED = TRUE, NAMES = c("modB", "modA", "modC"))
akaike(modA, modB, modC, LRTEST = TRUE, NAMES = c("modA", "modB", "modC"))