obtenir l'AIC/la probabilité à partir des coefficients du modèlePeut-être un peu hors sujet, mais :
Je reçois un modèle de R GLMNet (un package net élastique de régression général, car le client ne mettra pas à niveau depuis JMP 10) et je dois calculer l'AIC. Ce paquet ne semble pas me donner de chance. Alors ... est-il possible de calculer la vraisemblance maximale à partir des coefficients? Le modèle est créé en utilisant la vraisemblance maximale, donc j'espère qu'il existe un moyen d'extraire ces informations si j'ai le modèle choisi. Ce n'est probablement pas le cas, mais je m'accroche à des pailles en ce moment.
Re : obtenir l'AIC/la probabilité à partir des coefficients du modèleExcusez-moi, avez-vous une référence sur "Deviance(null) - Deviance(fit) = 2(L(model)-L(null))" ?
Avec 2(L(model)-L(null) voulez-vous dire que c'est " 2 log de vraisemblance " ou " 2 log (L0/L1) " ?Ne devrait-il pas être " -2 log de vraisemblance" , ou l'équation de Deviance(null) - Deviance(fit) ignore le signe négatif (-) ?
Désolé pour la question rapide.
Re : obtenir l'AIC/la probabilité à partir des coefficients du modèleExcusez-moi, où est la référence indiquant que "D eviance(null) - Deviance(fit) = 2(L(model)-L(null))" ?
Aussi, vouliez-vous dire que 2L (modèle) correspond à 2 probabilités logarithmiques ? ou le 2(L(modèle)-L(null) est la vraisemblance 2 log ?
Re : obtenir l'AIC/la probabilité à partir des coefficients du modèleLe premier terme de l'équation doit être négatif. À mesure que la déviance diminue, l'AICc devrait s'améliorer (plus petit).
Re : obtenir l'AIC/la probabilité à partir des coefficients du modèleMerci pour votre aide (le samedi rien de moins). Juste pour que je sois clair, si je fais les étapes ci-dessous, je devrais obtenir quelque chose de proportionnel à JMPs AIC ?
Names Default to here(1);
k =[0, 1, 1, 2, 2];
n=500;
nulldev = 1100;
devs = [1100, 1099, 1098, 1097, 1096]; //calculated from (1-dev.ratio)*nulldev
fake2L = nulldev-devs;
AIC = -fake2L+2*k+2*k:*(k+1):/(n-k-1);
*Modifier* a changé l'AIC pour qu'il soit correct
Re : obtenir l'AIC/la probabilité à partir des coefficients du modèleVous pourrez peut-être obtenir la probabilité du modèle après tout.
Ajustez le modèle nul (pas de termes sauf l'interception) et enregistrez l'objet glmnet sous fit0 . Montez le modèle souhaité et enregistrez-le sous fit1 . Obtenez la déviance pour les deux, c'est-à-dire dev0=déviance(fit0) et dev1=déviance(fit1) . La déviance est 2(L(saturé)-L(modèle)), vous avez donc maintenant deux équations et deux probabilités inconnues. Le L (saturé) est commun et tombe. L'un des composants de la fit0 et fit1 objets si la déviance nulle ( nulldev ) aider.
Donc tu avais raison plus tôt. Autrement dit, vous pouvez utiliser la déviance (un peu) directement pour calculer AICc. Déviance(null) - Déviance(fit) = 2(L(model)-L(null)). Le L(null) est juste un décalage constant de sorte que la différence de déviance est un substitut pour 2L(modèle). J'espère que cela t'aides!
BTW, le package fournit le rapport de déviance comme mesure de la qualité de l'ajustement. Je sais que ce n'est pas la même chose que d'utiliser AICc pour sélectionner le meilleur modèle. Plutôt comme utiliser R carré (mauvaise idée).
Re : obtenir l'AIC/la probabilité à partir des coefficients du modèleEh bien merci d'avoir essayé de toute façon.
Re : obtenir l'AIC/la probabilité à partir des coefficients du modèleLa déviance est une mesure du manque d'ajustement. Ce n'est pas la vraisemblance du modèle mais le double de la différence entre les vraisemblances du modèle saturé et votre modèle.
Re : obtenir l'AIC/la probabilité à partir des coefficients du modèleJe crains que les deux quantités disponibles du glmnet objet ( taux de dév. , nulldev ) ne suffisent pas pour obtenir la vraisemblance du modèle, dont vous avez besoin pour calculer AICc. Vous avez deux équations à trois inconnues : la vraisemblance (nulle), la vraisemblance (modèle) et la vraisemblance (saturée). Je ne peux pas obtenir la vraisemblance (modèle) sans la vraisemblance (nulle).
Re : obtenir l'AIC/la probabilité à partir des coefficients du modèleDonc, juste pour m'assurer que j'ai bien compris.
déviance = (1-dev.ratio)*nulldev
et cette déviance serait exactement la même que -2LogLikelihood dans l'équation AICc ?

Cela pourrait rendre ma vie BEAUCOUP meilleure.
Re : obtenir l'AIC/la probabilité à partir des coefficients du modèleLe manuel du package R glmnet fournit ces détails :
" Un objet glmnet a des composants dev.ratio et nulldev. Le premier est la fraction de déviance (nulle) expliquée. Les calculs de déviance incorporent des poids s'ils sont présents dans le modèle. La déviance est définie comme étant 2*(loglike_sat - loglike), où loglike_sat est la log-vraisemblance pour le modèle saturé (un modèle avec un paramètre libre par observation). La déviance nulle est définie comme étant 2*(loglike_sat -loglike(Null)); Le modèle NULL fait référence au modèle d'interception, sauf pour le Cox, où il s'agit du modèle 0. Par conséquent dev.ratio=1-deviance/nulldev, et cette méthode de déviance renvoie (1-dev.ratio)*nulldev. "
Ces informations sont destinées à être utilisées pour évaluer la qualité de l'ajustement.