Salut, j'ai qu'on pourrait peut etre m'aider ici. Je suis étudiant en M2 d'hydrobiologie et dois réaliser un travail pour mettre en place un modèle en utilisant un GLM multinomial. Je m'explique.
J'ai un jeu de données consernant des poissons, avec comme variables : le poids, la longueur, le sexe, la période de remontée des poissons dans l'Adour (pour leur reproduction) et l'age déterminé à partir d'une analyse des ecailles.
Cette derniere analyse etant difficile a mettre en place, on doit mettre en place un modele permettant de déterminer l'age a partir des autres variables (poids, la longueur, le sexe, la période). Pour cela, on utilise un modèle linéaire généralisé (glm) avec une distribution multinomiale sur le logiciel R : fonction multinom(). Le meilleur modèle sur critere d'AIC implique la période, le sexe et la période
- AGE : 4ans, 5ans, 6ans ou 7ans : en numeric
- PERIODE : A, B, C, D : en factor
- SEXE : X ou Y : en factor
- POIDS : en numeric
> mn<-multinom(AGE~POIDS+SEXE+PERIODE)
> summary (mn)
Call:
multinom(formula = AGE ~ POIDS + PERIODE + SEXE)
Coefficients:
(Intercept) POIDS PERIODE[T.B] PERIODE[T.C] PERIODE[T.D] SEXE[T.Y]
2 14.9861265 0.01008858 1.2689816 2.4656209 1.7575496 -27.00216
3 0.7254929 0.01762180 1.5407951 2.0443552 0.6967955 -25.11637
4 -7.2259991 0.02126346 -0.2081077 -0.5941544 -1.2756138 -36.54843
Std. Errors:
(Intercept) POIDS PERIODE[T.B] PERIODE[T.C] PERIODE[T.D] SEXE[T.Y]
2 0.03363829 0.0002590003 0.1684456 0.1607594 0.15390751 1.338751e-01
3 0.03268081 0.0002379928 0.1372602 0.1317097 0.13414525 1.311234e-01
4 0.00602207 0.0002529018 0.1647656 0.1139729 0.04066304 1.873992e-07
Residual Deviance: 530.0787
AIC: 566.0787
J'ai alors les coefficients qui théoriquement me permettraient de remonter a la probabilité d'appartenance à chaque age. (les coefficients manquants se déduisant des autres, avec par défaut zéro pour les 4ans).
La fonction de lien pour un modele multinomial etant un lien log, voila ce que donnerait la formule de probabilité d'appartenance à l'age 2 (soit 5ans) pour un individu male remontant en période B :
F5ans(poids de l'ind)=intercept2 + PERIODE[T.B]2 + SEXE[T.Y]2 + POIDS2 (poids de l'ind)
proba(5ans) = f(poids de l'individu)
proba(5ans) = exp(F5ans) / exp (F4ans + F5ans + F6ans + F7ans)
Et de meme pour les 4ages. Je peux alors calculer les probabilités d'appartenance aux différents ages pour tous les individus (j'ai fait un petit algorithme pour ca : fichier 'progVERIF-matrice.txt' => définir le nom de fichier sur la 1e ligne, apres il n'y a plus qu'a coller le tout dans R => la matrice des probabilités (ages en colonnes / individus en ligne) est sous le nom 'matrice')
________________
Si je calcule ces probabilités automatiquement sous R, avec la fonction :
predict.mlm(mn) ou predict(mn , type='probs')
je ne trouve pas les memes résultats (75% de bien classé, contre seulement 47% a partir des equations calculées 'manuellement' => algorithme "progVERIF.txt").
Apres vérification, mes equations semblent bonnes, mais elles ne tiennent pas compte de l'ajustement des probabilités par maximum de vraisemblance par la méthode des réseaux de neurones. C'est la que j'ai un probleme, je ne connais rien de cette méthode qui semble assez compliquée et apres avoir cherché dans la documentation de R, dans un grand nombre de publication et sur internet, je n'arrive pas a trouver d'informations suffisantes et suffisemment compréhensibles pour pouvoir définir sur papier cet ajustement.
Si je mets dans mon rapport les simples équations, un technicien souhaitant recalculer l'age de ses poissons a partir de ces equations aura plus de 50% d'erreurs. J'aurais donc besoin de savoir comment est fait l'ajustement par la méthode des réseaux de neurones, pour pouvoir décrire dans mon rapport comment passer des probabilités calculées manuellement, aux probabilités ajustées (de la fonction predict)???
Voila, j'ai perdu déjà beaucoup de temps sur ce probleme sans réussir a trouver de solution et il me reste moins d'une semaine pour rendre mon rapport (vendredi dernier delai). J'espere avoir de l'aide avant cette date butoire. Merci d'avance pour toute l'aide.
Niko