Calcul 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

Aurore Vonflie
Messages : 3
Enregistré le : 04 Mai 2017, 07:35

Calcul AIC

Messagepar Aurore Vonflie » 05 Mai 2017, 06:39

Bonjour,

Dans le cadre d'un stage, je dois calculer un AIC (critère d'Akaike).
J'ai cherché en vain un moyen de le calculer avec un logiciel (j'ai installé deux extensions à Excel), et j'ai remarqué qu'il était possible de le calculer avec R.
Le problème étant que, vu mes études, je n'ai absolument pas les bases pour comprendre comment se calcul cet indice (c'est pour cela que j'ai d'abord cherché un logiciel qui le calcule "automatiquement"), et que je ne connais pas non plus le logiciel R.
J'ai quand même essayé de me mettre à R et de créer des scripts à partir de ce que j'ai trouvé sur internet, comme sur ce site:
http://abcdr.guyader.pro/820-comment-obtenir-le-critere-dakaike-aic/, ou sur l'aide de R.
J'ai donc écrit quelque chose qui ressemble à ça:

data<-c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,10000,100000)
dataLog<-logLik(data)
dataLog
AIC(data)

Mais bien entendu, cela ne fonctionne pas, et je ne comprends pas les erreurs...
Toutes les informations que j'ai trouvé sur des forums au sujet de calcul d'AIC étaient beaucoup trop compliquées pour moi...
Quelqu'un pourrait-il, sans me donner le script tout fait (il faut bien que je travaille un peu ;) ) me donner des indications sur les fonctions à utiliser, et me dire pourquoi mon script ne fonctionne pas?

Victor Cazalis
Messages : 68
Enregistré le : 24 Aoû 2014, 06:19

Re: Calcul AIC

Messagepar Victor Cazalis » 05 Mai 2017, 07:06

Bonjour Aurore,

Le critère d'AIC mesure l'efficacité d'explication de ton modèle en prenant en compte l'adéquation entre ton modèle et tes données et le nombre de paramètres présents dans ton modèle. Dans ton code tu n'as pas de modèle, tu n'as que des données. Il est donc impossible de calculer la likelihood et encore moins l'AIC. C'est donc cette étape qui te manque.

Il faudrait que tu utilises le même modèle que tu dois utiliser sur tes données.

Bonne journée, Victor

Dominique Soudant
Messages : 758
Enregistré le : 23 Avr 2008, 11:12
Contact :

Re: Calcul AIC

Messagepar Dominique Soudant » 05 Mai 2017, 07:15

Manifestement il te manque des billes en matière de stat en plus de ce qui te manque en matière de R, cela dit en toute sympathie. J'ai le sentiment que tu ne sais pas ce qu'est une vraisemblance (i.e. likelihood) et du coup tu ne comprends pas l'AIC non plus. Un forum de stat ou google est ton ami et ton responsable de stage est ton responsable ...
@+

Jean-Pierre Jacus
Messages : 22
Enregistré le : 13 Mai 2017, 20:39

Re: Calcul AIC

Messagepar Jean-Pierre Jacus » 14 Mai 2017, 19:37

Bonjour, je vais peut-être raconter qq âneries, mais le rapport de vraisemblance est notamment effectué dans un modèle linéaire généralisé et peut se réaliser sur R par la fonction

Code : Tout sélectionner

summary(glm)

en clair, tu as un tableau de datas sous format csv. tu vas demander à R de te le lire

Code : Tout sélectionner

datas= read.csv2("adresse/nom de ta base de donnée sur ton ordi.csv")

en ayant soin de coder les variables suivant qu'elle soient numériques ou binaires

Code : Tout sélectionner

#as.numeric() pour transformer en une variable quantitative continue
#as.integer() pour transformer en une variable quantitative discrète
#as.ordered() pour transformer en une variable qualitative ordinale
#as.factor() pour transformer en une variable qualitative nominale.

Le rapport de vraisemblance sera obtenu par la commande suivante:

Code : Tout sélectionner

summary(glm(data$variable binaire expliquée ~ datas$ variable binaire explicative, family=binomial))

# ou data = le nom que tu as attribué à ta base de données au moment de la faire lire par R

je te donne un ex sur R

Code : Tout sélectionner

fichier = read.csv2("E:/datas recherche.csv")

j'ai donc appelé mes data recherche "fichier" et je demande à R de les lire
str(fichier)

j'affiche mes datas et je vois comment R code automatiquement chaque variable

Code : Tout sélectionner

fichier$Age <- as.numeric (fichier$Age)

par ex j'ai une variable Age. si elle n'est pas correctement identifiée comme une variable numérique, je la code comme telle

Code : Tout sélectionner

fichier$Sexe <- factor(as.character(fichier$Sexe), levels=c("homme","femme"))

j'ai également une variable sexe et si elle n'est pas identifiée comme une variable binaire, je la code comme telle en lui indiquant chaque catégorie comme le tableau de datas initial les contient (homme et femme)
quant tout cela est fait correctement,

Code : Tout sélectionner

Call: summary (glm(formula = fichier$PCRSaidantbinaire ~ fichier$GDTbinaire, family = binomial))

Deviance Residuals:
Min 1Q Median 3Q Max
-1.5096 -0.9005 -0.9005 0.8782 1.4823

Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.6931 0.3873 -1.790 0.0735 .
fichier$GDTbinaire1 1.4469 0.5778 2.504 0.0123 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

Null deviance: 76.228 on 54 degrees of freedom
Residual deviance: 69.534 on 53 degrees of freedom
(5 observations deleted due to missingness)
AIC: 73.534

Number of Fisher Scoring iterations: 4


voici un petit ex. du maniement de R
Mais bien entendu, il faut d'abord savoir ce que tu cherches ou le demander à ton référent de stage.
j'espère avoir pu t'aider et n'avoir pas dit trop d'erreurs
Bien à toi
J. Pierre

Aurore Vonflie
Messages : 3
Enregistré le : 04 Mai 2017, 07:35

Re: Calcul AIC

Messagepar Aurore Vonflie » 15 Mai 2017, 06:43

Je vous remercie beaucoup d'avoir pris du temps pour me faire une réponse aussi détaillée!
En fait, je cherche à trouver les meilleures valeurs de résistance attribuées à des classes d'occupation du sol. Ces valeurs ne sont pas calculées, mais attribuées par moi.
Concrètement, ce que j'attends de l'AIC, c'est qu'il me dise par exemple laquelle de ces deux série est la meilleure:

Forêt: 1
Bois: 10
Bosquet: 20
Bâti! 1000
...
---ou---
Forêt:1
Bois: 20
Bosquet: 50
Bâti: 500
... etc

Je n'ai donc pas créé de modèle... ces valeurs ne sont même pas calculées mais attribuées directement.
Ici la valeur expliquée serait donc la valeur de résistance, et la valeur explicative la classe d'occupation du sol?

Jean-Pierre Jacus
Messages : 22
Enregistré le : 13 Mai 2017, 20:39

Re: Calcul AIC

Messagepar Jean-Pierre Jacus » 15 Mai 2017, 07:37

A vrai dire , je ne sais pas ce que vous appelez la "classe d'occupation du sol", mais cela peut être un modèle. En revanche je ne comprends pas ce que vous cherchez avec l'AIC.
Si vous cherchez à montrer un lien entre 1) la classe d'occupation du sol et 2) la résistance, il vous faut d'abord savoir la nature de chacune des variables. La résistance est-elle une variable qualitative binaire (bonne/mauvaise) ou même ordinale (très bonne/ bonne/ moyenne/ etc, sans qu'il y ait de lien mathématique entre chacune des catégories) ou est elle numérique (et donc mesurée?
De même pour les classes d'occupation du sol...
Lorsque vous aurez déterminé la nature de chacune des variables, vous pourrez étudier leur association (par ex. Lien entre deux variables numériques = corrélations paramétrique ou non; lien entre variables numérique et qualitative = t test si variable explicative à 2 modalités ou anova si k modalités; lien entre 2 variables qualitatives = khi 2)
Le rapport de vraisemblance est notamment utilisé dans une régression logistique binaire qui est une autre façon de mesurer la force d'association entre une variable expliquée toujours binaire et une variable explicatives binaire ou continue avec sans covariables (continues).
Voila si je ne raconte pas trop de bêtises, mais je pense en effet qu'il vous faut demander à votre responsable de stage ce qu'il cherche exactement et allez sur des sites de stats type "biosta TGV" ou vous faire offrir une formation stat.
Bien à vous
J pierre

Aurore Vonflie
Messages : 3
Enregistré le : 04 Mai 2017, 07:35

Re: Calcul AIC

Messagepar Aurore Vonflie » 15 Mai 2017, 07:55

Je vais voir avec ma tutrice parce que je suis totalement dépassée, je ne comprends pas du tout les notions mathématiques (corrélation paramétrique, régression logistique binaire, covariables...).
Mais merci pour votre aide! :)


Retourner vers « Questions en cours »

Qui est en ligne

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