IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Glm quasibinomial, sélection de modèle - glm quasibinomial vs glm binomial


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 5
    Par défaut Glm quasibinomial, sélection de modèle - glm quasibinomial vs glm binomial
    Bonjour à tous,

    Grace à une régression logistique, je cherche à identifier parmi différents paramètres environnementaux, ceux qui influencent ma variable à expliquer, qui est de type binaire.

    J'ai utilisé un glm quasibinomial. Pourriez-vous m'indiquer dans ce cas, le ou les moyens à privilégier afin de sélectionner le meilleur modèle possible ? On utilise généralement l'AIC me semble-t-il. Cependant, celui-ci n'est pas calculé dans le cas d'un glm quasibinomial. Doit-on dans ce cas, comparer simplement les différences de déviances entre chaque couple de modèle ?
    De plus, en utilisant les mêmes termes mais dans un ordre différent je ne trouve pas les mêmes paramètres significatifs. J'ai d'autant plus de mal à choisir les paramètres à conserver dans mon modèle... Dans l'idéal, je cherche une fonction R qui permettrait cette sélection, via la méthode "pas à pas" par exemple (afin d'éviter les inconvénients des méthodes ascendantes et descendantes), mais qui, du coup, ne se baserait pas sur les AIC. Est-ce possible ?

    J'ai une seconde question... Certains auteurs suggèrent que la surdispersion est quasiment la règle dans les régressions logistiques et qu'il vaut mieux systématiquement en tenir compte, plutôt que de la négliger alors qu'elle était bien présente. J'ai lu de plus, que les résultats ne seraient de toute façon pas affectés s'il n'y avait en réalité, pas de surdispersion. Est-ce gênant dans ce cas de passer spontanément à un glm quasibinomial sans avoir essayer le glm binomial et même si les données n'indiquaient pas particulièrement une surdispersion à la base ?

    Merci beaucoup pour votre aide,

    Ginger

  2. #2
    Membre expérimenté
    Homme Profil pro
    Data Scientist
    Inscrit en
    Août 2013
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data Scientist
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 139
    Par défaut
    Alors je vais essayer de répondre à une partie de tes questions.

    Pour commencer le glm quasibinomial est en faite un glm binomiale qui ne fixe pas le paramètre dispersion, ainsi si ton modèle est surdispersé ce paramètre est calculé en conséquence, mais si il n'y a pas de surdispersion cela ne change a priori rien. Je serai à ta place j'utiliserai donc le modèle quasibinomial directement (ça t'économise du temps de calcul).

    Je ne sais pas combien tu as de variables et observations à étudier dans ton modèle mais la fonction step() de R permet de sélectionner le meilleur modèle en fonction du critère AIC, et tu as le choix de faire la méthode descendante, montante, ou les deux à la fois. Attention : si tu as un nombre de données conséquente et que tu fais tourner ton programme en local, les temps de calcul peuvent être très long, en effet, la fonction teste tout les modèles possibles...

    Par ailleurs le critère AIC est le critère de sélection de modèle généralement utilisé. Mais il en existe d'autres : BIC, cp de Mallows, etc...

    Ensuite si tu ne veux pas utiliser AIC, tu peux utiliser la fonction anova() sur le résultat de ta fonction glm() qui te permet de tester la significativité des coefficients associés à tes variables explicatives selon différents tests (Fisher, chi-2,...).
    Par contre, il n'existe pas, à ma connaissance, de fonction retirant progressivement les variables dont le coefficient n'est pas significatif (au seuil 5% par défaut), mais tu peux coder une fonction qui le ferait.
    Je pense que cette solution est moins gourmande en temps de calcul vu que tu recalcule juste un glm à chaque itération.

    Pour finir, tu n'en as pas parlé, mais n'oublie pas que tu peux prendre en compte, ou pas, les effets croisés de tes variables explicatives, ce qui complique le problème (tu passe de par exemple 10 variables explicatives à 100 si tu prends en compte les effets croisés) mais peut, parfois, être intéressant.

    Dernier conseil : évite de mélanger les différentes méthodes pour sélectionner le meilleur modèle, cela complique les interprétations en général et n'a pas forcément de "logique statistique"...

    Bon courage !

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 5
    Par défaut
    Bonjour,

    merci pour cette réponse qui m'éclaire un peu plus...

    Pour la fonction step, par contre, j'ai un problème pratique. En faisant quelques recherches, j'ai pensé à utiliser cette fonction mais dans mon cas, le message d'erreur suivant s'affiche :
    "> step(modele_d, direction="both")
    Erreur dans step(modele_d, direction = "both") : 
     AIC n'est pas défini pour ce modèle, donc 'step' ne peut poursuivre"
    Cela correspond bien à ce que j'ai remarqué et lu quelque part également... En utilisant un modèle quasibinomial, il n'y aurait pas de calcul d'AIC !?? (R indique "AIC : NA"). Du coup, je ne sais pas sur quoi me baser à la place ? Et quelle autre fonction réaliserait cette même démarche pour ce cas particulier ?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Data Scientist
    Inscrit en
    Août 2013
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data Scientist
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 139
    Par défaut
    Alors je ne sais pas s'il existe des fonctions toutes prêtes pour ton problème alors (je pense que oui mais je n'en connais pas), mais tu peux faire une fonction à la main comme je t'ai indiqué précédemment à l'aide de la fonction anova() et en sélectionnant les variables dont les coefficients sont significatifs (au seuil alpha que tu fixeras toi même, en général 5%). Tu t'arrêtes lorsque tout les coefficients sont significatifs.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 5
    Par défaut
    Merci, je vais essayer cette méthode !

  6. #6
    Membre expérimenté
    Homme Profil pro
    Data Scientist
    Inscrit en
    Août 2013
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data Scientist
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 139
    Par défaut
    Reviens nous dire ici si cela a marché, à mon avis cela doit être bon, mais je suis curieux

Discussions similaires

  1. setpAIC - Sélection de modèles
    Par CupOfAppleTea dans le forum R
    Réponses: 0
    Dernier message: 05/05/2015, 10h57
  2. Réponses: 0
    Dernier message: 15/09/2008, 13h19
  3. GLM 0.6 release, Math en C++ façons GLSL
    Par Groove dans le forum Mon programme
    Réponses: 0
    Dernier message: 21/09/2007, 12h30
  4. Loader des .obj avec glm sdl
    Par lapointemar dans le forum SDL
    Réponses: 0
    Dernier message: 23/08/2007, 02h54
  5. [JTree] Récupérer le modèle à partir de la sélection
    Par bizerta dans le forum Composants
    Réponses: 7
    Dernier message: 08/06/2005, 13h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo