Comparaison de régressions linéaires
3 participants
La Doua Dans l'Oeil :: Biologie :: Biométrie & Bioinformatique :: Questions & Débats :: Biostatistiques
Page 1 sur 1
Comparaison de régressions linéaires
Salut à tous.
J'aimerais savoir comment faire pour comparer deux régressions linéaires, quel test utiliser, quelles valeurs comparer, etc.
Question bonus : j'aimerais faire cette comparaison sous R, svp...
Merci beaucoup
J'aimerais savoir comment faire pour comparer deux régressions linéaires, quel test utiliser, quelles valeurs comparer, etc.
Question bonus : j'aimerais faire cette comparaison sous R, svp...
Merci beaucoup
Yves- Bavard
- Nombre de messages : 79
Age : 39
Niveau et domaine de formation : Etudiant en thèse sur l'évolution des génomes de rongeurs
Etablissement : Max-Planck-Institute, Berlin
Date d'inscription : 17/10/2007
Re: Comparaison de régressions linéaires
aloreuh. La première chose à vérifier pour comparer deux modèles c'est qu'ils soient emboités, c'est à dire que l'un est le même que l'autre mais en plus simple. Par exemple modèle 1: mes variations de poids journalières dépendent de ce que j'ai mangé à midi et le soir vs modèle 2: mes variations de poids journalières dépendent seulement du repas de midi. Il peut également s'agir de deux modèles comprenant les mêmes facteurs mais dans un cas avec interaction et dans le second slt additivité des facteurs.
Sous R les modèles sont à réaliser avec la fonction lm. EX: modele1=lm(poids~repas1+repas2) qui est le modèle additif. Ensuite tu demandes le summary de tes modèles.
Ex: summary(modele1) . Tu obtiens alors un tableau avec des valeurs correspondant à l'intercept (ton ordonnées à l'origine) et des déviations associées à chaque facteur (ta pente si il n'y a qu'un facteur). A droite du tableau il y a des p-value associées à chaque valeur. Si elles sont significatif, le facteur capte une part significative de variabilité. Tu peux alors vérifier si tes deux modèles sont bons ou non.
Ensuite tu peux récupérer dans tes deux modèles la part de variabilité captée quand tu as compliqué le modèle, elle correspond à la différence de variabilité résiduelle entre les deux modèles (SCE res dans le summary). Tu testes alors cette valeur par un test de Fisher, la valeur de la statistique F est dans le tableau obtenu en tapant anova(modèle le plus complexe). Le test de Fisher t'indique si la valeur est significativement différente de 0. Si non, alors les deux modèles expliquent significativement la même part de variabilité de ton jeu de données, ils sont équivalents. Alors le meilleur modèle est le plus simple, parce que si c'est pareil c'est plus simple de faire plus simple. Voilou. J'espère que c'est à peu près clair.
bises.
Sous R les modèles sont à réaliser avec la fonction lm. EX: modele1=lm(poids~repas1+repas2) qui est le modèle additif. Ensuite tu demandes le summary de tes modèles.
Ex: summary(modele1) . Tu obtiens alors un tableau avec des valeurs correspondant à l'intercept (ton ordonnées à l'origine) et des déviations associées à chaque facteur (ta pente si il n'y a qu'un facteur). A droite du tableau il y a des p-value associées à chaque valeur. Si elles sont significatif, le facteur capte une part significative de variabilité. Tu peux alors vérifier si tes deux modèles sont bons ou non.
Ensuite tu peux récupérer dans tes deux modèles la part de variabilité captée quand tu as compliqué le modèle, elle correspond à la différence de variabilité résiduelle entre les deux modèles (SCE res dans le summary). Tu testes alors cette valeur par un test de Fisher, la valeur de la statistique F est dans le tableau obtenu en tapant anova(modèle le plus complexe). Le test de Fisher t'indique si la valeur est significativement différente de 0. Si non, alors les deux modèles expliquent significativement la même part de variabilité de ton jeu de données, ils sont équivalents. Alors le meilleur modèle est le plus simple, parce que si c'est pareil c'est plus simple de faire plus simple. Voilou. J'espère que c'est à peu près clair.
bises.
tania- Bavard
- Nombre de messages : 77
Age : 40
Niveau et domaine de formation : master 2 écologie évolution biométrie
Etablissement : ucbl
Date d'inscription : 27/10/2007
Re: Comparaison de régressions linéaires
Deux questions différentes peuvent être posées dans une comparaisons de régressions :
- les pentes des droites sont elles parallèles ou non ?
- les ordonnées à l'origine sont elles similaires ou non ?
Il existe donc un test de pente et un test de l'ordonnée à l'origine mais je ne crois pas qu'il y ait de commande toute faite dans R pour ces 2 tests.
Le plus simple est de faire une ANCOVA (Analyse de la covariance). Tu as une variable à expliquer en ordonnées, une variable explicative de nature quantitative en abscisse. En plus de ça tu as une deuxième variable, qualitative celle là (celle qui te sert à distinguer tes 2 régressions).
Les commandes sont assez simples :
1) construction du modèle linéaire en creant un objet que tu peux appelé model. Imaginons que ta variable à expliquer s'appelle var1, l'explicative quantitative var2 et l'explicative qualitative var3 (ça fait bcp de mots en tive tout ça! lol):
model=lm(var1~var2+var3)
2) analyse des différentes composantes de la variance (est-ce que tes variables permettent d'expliquer la structure de ton jeu de données?) :
anova(model)
tu vas donc obtenir des pvalues pour chacunes de tes variables explicatives explicatifs. Ca te dit donc si elles ont un effet significatif ou pas sur tes données, rien de plus.
3) Regarder la valeur des paramètres estimés par le modèle :
summary(model)
Normalement tu devrais voir apparaitre plusieurs estimations (auxquelles sont associées biensur des pvalues) :
- effet de var1 ;
- effet de var2 : tu dois avoir la valeur d'une des 2 pentes, puis la valeur de la différence entre la 1ère pente et la 2ième ; puis une valeur de l'ordonnée à l'origine de la 1ère droite et une valeur de la différence entre les 2 ordonnées à l'origine. C'est assez compliqué à lire donc si jamais je n'est pas été assez clair (ou que je me sois trompé, c dur de parler de R sans l'avoir sous les yeux! lol) n'hésite pas à envoyer ce que R te donne.
Voilà ça devrait t'aider dans ton analyse.
- les pentes des droites sont elles parallèles ou non ?
- les ordonnées à l'origine sont elles similaires ou non ?
Il existe donc un test de pente et un test de l'ordonnée à l'origine mais je ne crois pas qu'il y ait de commande toute faite dans R pour ces 2 tests.
Le plus simple est de faire une ANCOVA (Analyse de la covariance). Tu as une variable à expliquer en ordonnées, une variable explicative de nature quantitative en abscisse. En plus de ça tu as une deuxième variable, qualitative celle là (celle qui te sert à distinguer tes 2 régressions).
Les commandes sont assez simples :
1) construction du modèle linéaire en creant un objet que tu peux appelé model. Imaginons que ta variable à expliquer s'appelle var1, l'explicative quantitative var2 et l'explicative qualitative var3 (ça fait bcp de mots en tive tout ça! lol):
model=lm(var1~var2+var3)
2) analyse des différentes composantes de la variance (est-ce que tes variables permettent d'expliquer la structure de ton jeu de données?) :
anova(model)
tu vas donc obtenir des pvalues pour chacunes de tes variables explicatives explicatifs. Ca te dit donc si elles ont un effet significatif ou pas sur tes données, rien de plus.
3) Regarder la valeur des paramètres estimés par le modèle :
summary(model)
Normalement tu devrais voir apparaitre plusieurs estimations (auxquelles sont associées biensur des pvalues) :
- effet de var1 ;
- effet de var2 : tu dois avoir la valeur d'une des 2 pentes, puis la valeur de la différence entre la 1ère pente et la 2ième ; puis une valeur de l'ordonnée à l'origine de la 1ère droite et une valeur de la différence entre les 2 ordonnées à l'origine. C'est assez compliqué à lire donc si jamais je n'est pas été assez clair (ou que je me sois trompé, c dur de parler de R sans l'avoir sous les yeux! lol) n'hésite pas à envoyer ce que R te donne.
Voilà ça devrait t'aider dans ton analyse.
Julien- Bavard
- Nombre de messages : 59
Age : 40
Niveau et domaine de formation : Doctorant au LBBE (Master 2 Ecologie Evolution et Biométrie)
Etablissement : UCB lyon1
Date d'inscription : 19/11/2007
Re: Comparaison de régressions linéaires
Petite correction dans le 3). C'est l'estimation pour les variables explicatives var2 et var3, et non pour var1 et var2!! erreur d'étourderie!
Julien- Bavard
- Nombre de messages : 59
Age : 40
Niveau et domaine de formation : Doctorant au LBBE (Master 2 Ecologie Evolution et Biométrie)
Etablissement : UCB lyon1
Date d'inscription : 19/11/2007
Re: Comparaison de régressions linéaires
ah oui et je me suis aussi trompé pour le model.
model=lm(var1~var2*var3) car si tu met + au lieu de * tu ne modélises que l'effet additif, tu ne peux pas tester l'interaction c'est-à-dire les différences de pente. Décidément j'ai la tête en l'air!
model=lm(var1~var2*var3) car si tu met + au lieu de * tu ne modélises que l'effet additif, tu ne peux pas tester l'interaction c'est-à-dire les différences de pente. Décidément j'ai la tête en l'air!
Julien- Bavard
- Nombre de messages : 59
Age : 40
Niveau et domaine de formation : Doctorant au LBBE (Master 2 Ecologie Evolution et Biométrie)
Etablissement : UCB lyon1
Date d'inscription : 19/11/2007
La Doua Dans l'Oeil :: Biologie :: Biométrie & Bioinformatique :: Questions & Débats :: Biostatistiques
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum