1. Grâce à ce formulaire vous pouvez proposer une astuce ou un script sur R.
  2. Votre script doit pouvoir être lancé en l'état. Veuillez penser à :
    • inclure le chargement des "library" nécessaires
    • construire un petit jeu de données si besoin est.
    • commenter les lignes de codes pour en faciliter la compréhension.
  3. Le titre de votre script ou astuce doit être clair et explicite.
  4. Pensez à mettre votre code entre les balises [R] et [/R]; Pour cela, vous pouvez utiliser le bouton

Vous pouvez utiliser vos comptes Facebook, twitter ou google pour vous identifer (google est compatible yahoo, openID...)
L'ideal étant de vous connecter si vous avez un compte utilisateur, ou faire une demande de compte utilisateur si vous n'en avez pas encore.
Créer un compte va vous permettre de pouvoir éditer vos codes et de mettre en avant votre site internet.
Sinon vous pouvez soumettre anonymement en remplissant les champs ci-après.







Choisissez les catégories correspondantes à votre Code:

  • algorithmique
  • Analyse de survie
  • base indispensable
  • bayésien
  • configuration de R
  • exportation de données
  • fonctions utiles
  • graphique
  • importation de données
  • inférence
  • manipulation de données
  • message d'erreur
  • modélisation
  • Non classé
  • optimisation
  • planification
  • programmer avec R
  • regression linéaire
  • Test
  • tidyverse
  • Transformation de données


Comment obtenir le critère d’Akaike avec R ? : AIC

1
dans modélisation
Le critère d’Akaike (AIC) est un critère utilisé pour la sélection de modèles. Ce critère représente un compromis entre le biais diminuant avec le nombre de paramètres libres et la parcimonie, volonté de décrire les données avec le plus petit nombre de paramètres possible. Il se calcule de la façon suivante -2*log-likelihood + k*npar. Par défaut on a souvent k=2. Le meilleur modèle est celui qui possède l’AIC le plus faible.

On obtient ce critère en utilisant la fonction AIC(objet,k=?), k=2 par défaut. Prenons un exemple

 
 
 
 library(MASS) #pour la fonction fitdistr
 
#  z est un vecteur contenant les données, on essaie de modéliser ces données par une distribution de weibull ou gamma
 
z<-c(14,14,14,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,23)
 
# on utilise la fonction fitdistr pour une loi Weibull, regarder ?fitdistr
 
paraw <- fitdistr(z,densfun="weibull") 
loglikw<-logLik(paraw)  # on peut avoir le loglikelihood
loglikw
 
#on fait la même chose pour une loi gamma
 
parag<-fitdistr(z,densfun="gamma")
loglikg<-logLik(parag)
loglikg
 
#AIC avec k=2 par défaut
 
AIC(paraw)#environ 204
AIC(parag)#environ 209
 
#d'après ce critère on choisirait la loi de weibull
 
#on vérifie en recalculant les AIC directement
 
akaike<-function(npar,loglik,k){-2*loglik+k*npar}
 
akaike(2,loglikw[1],2)
akaike(2,loglikg[1],2)
 
 
 


L’AIC est un critère comme les autres, faites en bon usage et n’en n’abusez pas trop!


Proposé par Melen.

Ce script vous à rendu service? remerciez l'auteur en votant ici:
- ça ne sert à rien -- c\'est interessant - (score de +7 sur 7 votes)
Loading ... Loading ...

Un commentaire

  1. Caupos Fanny
    Posté le 29 avril 2016 a 9 h 16 min | Permalink

    Bonjour,Une question toute simple, comment décidez vous de la valeur de « npar »??? Ici 2 dans votre exemple.

Poster un commentaire


Votre email ne seras jamais communiqué champs requis désigné par une *

*
*


9 − = trois

Formation logiciel R