Constante de la loglik dans AIC()

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Constante de la loglik dans AIC()

Messagepar Nicolas Péru » 06 Fév 2012, 11:06

Bonjour,

Je voulais savoir si dans les fonctions telles que AIC() ou extractAIC() la log-vraisemblance des modèles est prise de manière complète ou non. Il semble que dans AIC(), la constante n'est pas incluse:

?AIC a écrit :The log-likelihood and hence the AIC is only defined up to an additive constant.


Mais pour extractAIC j'ai un doute. D'après l'aide AIC, il semblerait que extractAIC inclut la constante mais j'aimerais une confirmation.

Merci d'avance

Nicolas

PS : il s'agit pour moi de comparer des modèles issus de distribution différentes (donc la constante de la loglik est indispensable)

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 06 Fév 2012, 17:32

Salut Nicolas,

Pour quel type de modèle ? Toutes les méthodes AIC n'ont pas été écrites par les mêmes personnes et elles n'ont pas utilisé les mêmes conventions. Personnellement, je calculerais "manuellement" l'AIC et comparerais aux sorties des fonctions pour être sûr des résultats.
Renaud

Stéphane Laurent
Messages : 1557
Enregistré le : 05 Déc 2006, 19:07

Messagepar Stéphane Laurent » 06 Fév 2012, 20:12

Comment veux-tu comparer des modèles avec des distributions différentes ? Le théorème du likelihood-ratio concerne uniquement un modèle emboîté dans un autre.

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 07 Fév 2012, 06:56

Salut,

@Renaud : ok je vais regarder ça. Pour extraire la log-vraisemblance, je suppose qu'il y a une fonction loglik ou quelque chose du genre ?
Pour la petite histoire, je voudrais comparer un modèle de distribution beta avec un modèle binomial ou beta-binomial pour modéliser des valeurs de type proportion.

@Stéphane : oui le LRT n'est possible que sur des modèles emboités, c'est bien pour ça que je veux passer par les critères d'information type AIC. Dans ce cadre, la seule limitation (outre les contraintes techniques dans certains types de modèles) c'est d'ajuster le modèles sur les même données (ie pas de transformation avant ajustement).

Merci pour vos réponses.

Nicolas

Stéphane Laurent
Messages : 1557
Enregistré le : 05 Déc 2006, 19:07

Messagepar Stéphane Laurent » 07 Fév 2012, 07:49

Distribution Beta => valeurs dans [0,1]
Distribution binomiale ou Beta-binomiale => valeurs entières

=> Comparable ??

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 07 Fév 2012, 09:09

Nicolas Péru a écrit :Salut,

@Renaud : ok je vais regarder ça. Pour extraire la log-vraisemblance, je suppose qu'il y a une fonction loglik ou quelque chose du genre ?


Oui. Je me baserais là-dessus pour les vérifs.
Renaud

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 07 Fév 2012, 09:17

Bonjour,

d'ailleurs le calcul de la fonction AIC est basée sur la fonction logLik :

Code : Tout sélectionner

> AIC
function (object, ..., k = 2)
UseMethod("AIC")
<bytecode: 0000000006444D00>
<environment: namespace:stats>
> methods(AIC)
[1] AIC.default* AIC.logLik*

   Non-visible functions are asterisked
> stats:::AIC.default
function (object, ..., k = 2)
{
    ll <- if ("stats4" %in% loadedNamespaces())
        stats4:::logLik
    else logLik
    if (length(list(...))) {
        lls <- lapply(list(object, ...), ll)
        vals <- sapply(lls, function(el) {
            no <- attr(el, "nobs")
            c(as.numeric(el), attr(el, "df"), if (is.null(no)) NA_integer_ else no)
        })
        val <- data.frame(df = vals[2L, ], ll = vals[1L, ])
        nos <- na.omit(vals[3L, ])
        if (length(nos) && any(nos != nos[1L]))
            warning("models are not all fitted to the same number of observations")
        val <- data.frame(df = val$df, AIC = -2 * val$ll + k *
            val$df)
        Call <- match.call()
        Call$k <- NULL
        row.names(val) <- as.character(Call[-1L])
        val
    }
    else {
        lls <- ll(object)
        -2 * as.numeric(lls) + k * attr(lls, "df")
    }
}
<bytecode: 00000000066E9948>
<environment: namespace:stats>
Alors on prend ces petites mains et on tape les codes magiques et on dépiaute le code des fonctions et on finit par trouver la réponse ...
Je suis sur Nico que tu es capable de faire tout ça par toi même gros flemmard ! Faire bosser les autres, ces mecs du CNRS ils n'ont aucune morale :-P

Maxime

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 07 Fév 2012, 09:31

Nous ne sommes pas là pour parler de stat !! :P
Distribution Beta => valeurs dans [0,1]
Distribution binomiale ou Beta-binomiale => valeurs entières

=> Comparable ??

Non pas entre eux. Je peux détailler complètement ce que je veux faire mais je ne crois pas que ce soit le lieu :) : il est aussi prévu d'utilser un modèle gaussien par exemple.
Mais en me relisant je concède largement que mon message porte à confusion. Donc pour conclure je vais comparer des modèles ajustés sur les mêmes données mais avec des familles de distribution différentes.

[EDIT] @Maxime: C'est normal on a plus de sous donc pas de temps à consacrer à ça !! Du coup, il faut faire bosser les gens de l'IRSTEA qui, eux, se permettent de jeter l'argent par les fenêtres :P.
@ ceux pour qui cet EDIT paraitrait obscur, c'est normal ! :p

Nicolas

Pierre Bady
Messages : 405
Enregistré le : 02 Mai 2006, 07:46

Messagepar Pierre Bady » 07 Fév 2012, 12:42

bonjour,


PS : il s'agit pour moi de comparer des modèles issus de distribution différentes (donc la constante de la loglik est indispensable)



Dans ce cadre, la seule limitation (outre les contraintes techniques dans certains types de modèles) c'est d'ajuster le modèles sur les même données (ie pas de transformation avant ajustement).


pas convaincant ... les contraintes techniques, c'est justement la partie qui pose problème! pour chacun de tes AICs, tes valeurs de vraisemblance ne seront pas issues de la même distrib. Alors comment les comparer?

Distribution Beta => valeurs dans [0,1]
Distribution binomiale ou Beta-binomiale => valeurs entières
=> Comparable ??


même avis que Stéphane.


HTH


pierre
=@===--------¬-------¬------¬-----¬
liens utiles :
http://www.gnurou.org/Writing/SmartQuestionsFr
http://neogrifter.free.fr/welcomeOnInternet.jpg
]<((((*< -------------------------------

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 07 Fév 2012, 13:07

Bonjour,

Pour les sceptiques je recommande les pages 317 à 323 du livre "Model Selection and Multimodel Inference" :Selection When Probability Distributions Differ by Model
Sur ce je ne me sens pas de dire que les Drs Burnham & Anderson auraient mis des âneries dans leur livre ... A vous de juger.

Maxime

Pierre Bady
Messages : 405
Enregistré le : 02 Mai 2006, 07:46

Messagepar Pierre Bady » 07 Fév 2012, 13:42

rebonjour,

c'est un point qui n'est pas clair.

voir une petite discussion sur le forum: viewtopic.php?t=221

http://tolstoy.newcastle.edu.au/R/help/06/02/21794.html
http://www.stats.ox.ac.uk/~ripley/Nelder80.pdf



HTH

pierre
=@===--------¬-------¬------¬-----¬

liens utiles :

http://www.gnurou.org/Writing/SmartQuestionsFr

http://neogrifter.free.fr/welcomeOnInternet.jpg

]<((((*< -------------------------------

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 07 Fév 2012, 13:48

je n'ai jamais dit le contraire, j'ai juste dit que je n'étais pas apte à juger et que je vous laisse donc seuls juges de la pertinence ou non d'une telle approche.

maxime

Pierre Bady
Messages : 405
Enregistré le : 02 Mai 2006, 07:46

Messagepar Pierre Bady » 07 Fév 2012, 14:04

rebonjour,


Pour une réponse donnée et sous l'hypothèse de définir l'objectif de la sélection (e.g. la meilleure prédiction, la plus petite erreur), l'utilisation de fonctions de cout (e.g. RMSE, taux de bon classé,...) et une procédure de type cross-validation me semble plus appropriées dans le cas de Nico.

enfin bon ... on s'égare plutôt sur le coté stat de l'histoire, dsl ;)


HTH


pierre


PS: la sélection de modèle ... c'est quand même un peu le b****.
mon dernier post était juste là pour rééquilibrer ;)
=@===--------¬-------¬------¬-----¬

liens utiles :

http://www.gnurou.org/Writing/SmartQuestionsFr

http://neogrifter.free.fr/welcomeOnInternet.jpg

]<((((*< -------------------------------

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 07 Fév 2012, 14:17

j'aime bien un peu de provoc ça fait réagir les gens, mais la dessus tu en connais un plus grand rayon que moi ;-)

La sélection de modèle ou de variables ... arch ...

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 07 Fév 2012, 14:22

pas convaincant ... les contraintes techniques, c'est justement la partie qui pose problème! pour chacun de tes AICs, tes valeurs de vraisemblance ne seront pas issues de la même distrib. Alors comment les comparer?


Dans le cadre de la théorie de Kullback-Leibler on ne compare pas réellement les vraisemblance. Le résultat d'Akaike est justement de démontrer que la log-vraisemblance peut servir d'estimateur (au biais du nombre de paramètre près) de la distance relative de Kulback. Le terme relatif est ici le terme important. Après, tout comme Max, je ne vais pas m'amuser à refaire la démonstration de Burnham sur le fait que l'estimation faite ne dépend que des données et pas de la fonction de vraisemblance (à partir du moment où on est en relatif). Pour en avoir discuté avec David Anderson, je prend ça comme un résultat acquis et appuyé.
Dans les discussions que tu donnes en lien, il y a quelques incohérences (le "true model", le "nested model"...) largement expliquées dans Burnham & Anderson 2002 ou encore Anderson 2008 et quelques papiers entre temps. ça indique au moins que le sujet fait débat

Mais si tu as des éléments là dessus ça m'intéresse bien sûr :). Ceci étant dit le classement pas AIC ne peut donner qu'un poids relatif des modèles les uns par rapport aux autres. Il n'épargne pas de regarder la qualité d'ajustement des modèles.

Nicolas

PS : on est total HS !!! On va se faire jeter ! :P


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité