Regression logistique avec R

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

Thomas Blanchon
Messages : 3
Enregistré le : 14 Mai 2008, 09:42

Regression logistique avec R

Messagepar Thomas Blanchon » 14 Mai 2008, 11:57

Bonjour,

J'aurais aimé savoir comment faire une régression logistique avec R ? apparement on peut la faire avec glm ou lmer, lequel choisir ? sachant que j'ai 3 échantillonnages différents ?

Site Ntot Nparasité
A 52 10
B 24 3
C 31 0

ceux que je veux voir c'est s'il y a une différence significative entre les sites.

Merci d'avance

Thomas

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 14 Mai 2008, 12:28

la fonction "rechercher" du forum vous donnera toute une panoplie de topic traitant directement ou indirectement de la regression logistique :

search.php?mode=results

Il y a par la même occasion des exemples de code R de regression logistique: fonction glm() avec l'option family = binomial. Le y peut se rentrer de plusieurs manières différentes la plus "adaptée" étant de créer une matrice à deux colonnes : nombre de succès, nombre d'échec. (dans votre cas le nombre de succès serait le nombre de parasité si j'ai bien compris et le nombre d'échec la différence au total)

Mais vous n'avez que trois mesures ou c'est juste pour l'exemple ?

Nicolas.

Thomas Blanchon
Messages : 3
Enregistré le : 14 Mai 2008, 09:42

Messagepar Thomas Blanchon » 14 Mai 2008, 12:57

Merci bien ! je vais y jeter un oeil.

Oui pour le site A j'ai 10 nids parasité sur 52 nids en tout, Etc...

Oui je n'ai que 3 mesures qui correspondent en fait a 3 sites.

1 parasité de longue date.
1 parasité récemment.
1 non parasité.

Cela pose-t-il un problème ?

Thomas

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 14 Mai 2008, 13:09

Cela pose-t-il un problème ?


oui. Vous ne pourrez pas tester un effet site sans réplicats. Et pour faire de la regression quelle qu'elle soit et pour la quasi totalisté des analyses statistiques, on ne peut pas faire grand chose avec 3 points. .
Dans votre cas, il vous faudrait des mesures sur les individus par exemple afin d'étudier un quelconque effet du parasite (survie, taux de fécondité etc etc...)
Il me parait très hasardeux de vouloir chercher un effet site dans ces conditions. Le nombre de nids parasités n'est pas une variable utilisable dans votre cas je pense.

Nicolas.

Thomas Blanchon
Messages : 3
Enregistré le : 14 Mai 2008, 09:42

Messagepar Thomas Blanchon » 14 Mai 2008, 13:20

oui je suis d'accord avec vous sur le fait que seulement 3 réplicats est trop juste pour pouvoir dire quoi que ce soit, sauf que dans mon cas je pars du principe que pour le site A j'ai 52 réplicats pour le Site B 24 et pour le Site C 31. en fait le parasitisme que j'étudie est le parasitisme de ponte du Coucou sur un de ses hôtes. donc je n'est pas de données sur le taux de survie, etc... les seules données dont je dispose sont nids parasité = 1 nid non parasité = 0 et ça pour les 3 sites étudiés.

donc je voulais tester si il y avait un effet site sur le taux de parasitisme des nids entre une population parasité depuis 1900, une parasité depuis 1950 et une jamais parasité (témoin).

Thomas

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 14 Mai 2008, 13:37

dans mon cas je pars du principe que pour le site A j'ai 52 réplicats pour le Site B 24 et pour le Site C 31


Justement vous n'avez pas de réplicat. Vous avez trois population avec une mesure de taux de parasitisme par population. Car une fois transformé en taux vous aurez :

Code : Tout sélectionner

site A : p = 10/52 = 0.19
site B : p = 3/24 = 0.125
site C : p = 0/31 = 0


soit 3 valeurs...beaucoup trop faible pour envisager une quelconque statistique. Il vous faudrait, soit plus de population (on parle de n=30 ne général pour des tests statistiques mais bon ça c'est la théorie), soit des mesures répétées sur ces populations, dans le temps ou selon tout autre critère de répétition que vous jugeriez approprié.

Votre jeu de donné n'est pas adapté à la quesiton posée je pense, il va vous falloir soit changer de question, soit étoffer les données sur plusieurs années par exemple et là vous pourrez tester l'effet site.

Je ne vais pas plus m'étaler sur la question car le forum n'est pas fait pour ça :).

Nicolas

François Bonnot
Messages : 537
Enregistré le : 10 Nov 2004, 15:19
Contact :

Messagepar François Bonnot » 16 Mai 2008, 12:43

Bonjour,
On peut très bien faire une régression logistique sur ces données:

Code : Tout sélectionner

df <- data.frame(Site=c("A","B","C"),Ntot=c(52,24,31),Nparasite=c(10,3,0))
df$Nsain <- df$Ntot-df$Nparasite
as.matrix(df[3:4])
res <- glm(as.matrix(df[3:4])~df$Site,family=binomial)
anova(res,test="Chisq")

Le problème est que les effectifs théoriques semblent un peu faibles (le fait qu'il y ait un zéro n'a pas d'importance, ce qui compte ce sont les effectifs théoriques). Le calcul prend en compte les effectifs totaux et pas seulement les 3 proportions. Pour s'en persuader il suffit de tout multiplier par 10 (donc sans changer les proportions):

Code : Tout sélectionner

res <- glm(10*as.matrix(df[3:4])~df$Site,family=binomial)
anova(res,test="Chisq")

Evidemment cette preuve est quelque peu empirique, pour la théorie voir par exemple McCullagh & Nelder, generalized linear models.

FB


Retourner vers « Questions en cours »

Qui est en ligne

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