Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Interpréter une régression linéaire multiple
2 participants
Page 1 sur 1
Interpréter une régression linéaire multiple
Bonjour à tous,
Je réalise une étude très intéressante sur R à partir d'une base de données imaginaire, fruit d'un entretien réalisé sur 1500 personnes dans un hôpital, et qui a pour but de donner des informations sur leur santé mentale.
Je souhaite analyser les réseaux de relation qui existe entre une variable quantitative à expliquer, et plusieurs variables explicatives binaires, quantitatives, et une variables explicative catégorielle. Ainsi, j'analyse la durée d'entretien (variable à expliquer) avec l'âge des personnes, l'existence d'une dépression ou non, l'existence d'une consommation de drogue ou non, la présence d'un trouble schizophrénique ou non, ou la profession exercée. L'objectif est de voir dans quels cas la durée de l'entretien diminue ou augmente, sur ces paramètres.
Pour cela, j'utilise la régression linéaire multiple. J'ai des difficultés pour l'interpréter.
Voici la formule que j'écris :
Et j'obtiens ce résultat :
D'une manière générale, j'ai compris certains éléments :
- Une personne déprimée, par rapport à une personne non-déprimée et en annulant l’effet de l’âge, subst, et scz, aura en moyenne une durée d’entretien de 7 minutes de plus.
- Une personne déprimée et qui a une consommation de drogue aura une durée d’entretien de 7 + 5 = 12 minutes supplémentaire en moyenne par rapport à une personne qui n’est ni déprimé et qui ne consomme pas de drogue.
Là où je bloque, c'est sur l'interprétation de la variable catégorielle "Profession".
- Si je veux savoir de combien augmente ou diminue en moyenne la durée de l'entretien chez un Cadre qui consomme des drogues, dois-je calculer -5.28 + 5.34, soit une augmentation moyenne du temps de l'entretien de 0.06 minutes ? (Bien que ça ne soit pas significatif, vu la valeur de p).
- Si je veux comparer de combien augmente ou diminue la durée de l'entretien chez un employé qui consomme des drogues avec un agriculteur qui consomme des drogues, dois-je faire (0.45 + 5.34 = 5.79 minutes en plus) pour l'employé et (14.01 + 5.34 = 19.35 minutes en plus) pour l'agriculteur, ce qui donnerait qu'un agriculteur drogué aura un temps d'entretien de 13.56 minutes en plus (19.35 - 5.79) qu'un employé drogué ?
Merci
Je réalise une étude très intéressante sur R à partir d'une base de données imaginaire, fruit d'un entretien réalisé sur 1500 personnes dans un hôpital, et qui a pour but de donner des informations sur leur santé mentale.
Je souhaite analyser les réseaux de relation qui existe entre une variable quantitative à expliquer, et plusieurs variables explicatives binaires, quantitatives, et une variables explicative catégorielle. Ainsi, j'analyse la durée d'entretien (variable à expliquer) avec l'âge des personnes, l'existence d'une dépression ou non, l'existence d'une consommation de drogue ou non, la présence d'un trouble schizophrénique ou non, ou la profession exercée. L'objectif est de voir dans quels cas la durée de l'entretien diminue ou augmente, sur ces paramètres.
Pour cela, j'utilise la régression linéaire multiple. J'ai des difficultés pour l'interpréter.
Voici la formule que j'écris :
- Code:
> mod = lm(data$dur.interv~data$age + data$dep.cons + data$subst.cons + data$scz.cons + data$prof)
> summary(mod)
Et j'obtiens ce résultat :
- Code:
Call:
lm(formula = data$dur.interv ~ data$age + data$dep.cons + data$subst.cons +
data$scz.cons + data$prof)
Residuals:
Min 1Q Median 3Q Max
-63.280 -14.164 -1.337 10.959 63.184
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 48.77932 2.83938 17.180 < 2e-16 ***
data$age 0.21289 0.05884 3.618 0.000317 ***
data$depression 7.36792 1.45840 5.052 5.53e-07 ***
data$conso_drogue 5.34589 1.76902 3.022 0.002599 **
data$scz 2.50439 2.54734 0.983 0.325863
data$profagriculteur 14.01270 9.72111 1.441 0.149880
data$profartisan 2.52755 2.48989 1.015 0.310381
data$profautre 3.72522 3.99637 0.932 0.351567
data$profcadre -5.28366 4.25567 -1.242 0.214798
data$profemploye 0.45460 2.12659 0.214 0.830785
data$profprof.interm?diaire 0.99344 2.95809 0.336 0.737089
data$profsans emploi -0.26596 1.87727 -0.142 0.887375
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 19.11 on 731 degrees of freedom
(56 observations deleted due to missingness)
Multiple R-squared: 0.06595, Adjusted R-squared: 0.05189
F-statistic: 4.692 on 11 and 731 DF, p-value: 5.825e-07
D'une manière générale, j'ai compris certains éléments :
- Une personne déprimée, par rapport à une personne non-déprimée et en annulant l’effet de l’âge, subst, et scz, aura en moyenne une durée d’entretien de 7 minutes de plus.
- Une personne déprimée et qui a une consommation de drogue aura une durée d’entretien de 7 + 5 = 12 minutes supplémentaire en moyenne par rapport à une personne qui n’est ni déprimé et qui ne consomme pas de drogue.
Là où je bloque, c'est sur l'interprétation de la variable catégorielle "Profession".
- Si je veux savoir de combien augmente ou diminue en moyenne la durée de l'entretien chez un Cadre qui consomme des drogues, dois-je calculer -5.28 + 5.34, soit une augmentation moyenne du temps de l'entretien de 0.06 minutes ? (Bien que ça ne soit pas significatif, vu la valeur de p).
- Si je veux comparer de combien augmente ou diminue la durée de l'entretien chez un employé qui consomme des drogues avec un agriculteur qui consomme des drogues, dois-je faire (0.45 + 5.34 = 5.79 minutes en plus) pour l'employé et (14.01 + 5.34 = 19.35 minutes en plus) pour l'agriculteur, ce qui donnerait qu'un agriculteur drogué aura un temps d'entretien de 13.56 minutes en plus (19.35 - 5.79) qu'un employé drogué ?
Merci
preliator- Nombre de messages : 42
Date d'inscription : 01/04/2019
Re: Interpréter une régression linéaire multiple
Plusieurs points importants, je pense :
Dans la mesure où vous avez des variables explicatives qualitatives (que l'on appelle des facteurs) vous êtes plutôt dans le cadre de ce que l'on appelle une ANOVA (analyse de la variance) ou ANCOVA (analyse de la covariance), qui sont des méthodes qui s'apparentent effectivement à la régression multiple. Je dis ceci surtout pour vous conseiller d'utiliser la fonction glm() plutôt que lm(), qui est plus générale et qui offre d'autres outils d'interprétation interessants.
Une variable binaire et quantitative, ça n'existe pas. Elle est qualitative. Et la prendre comme qualitative vous aidera même à interpréter les résultats correspondants, notamment en considérant ce que j'explique juste en dessous.
Si vous ajouté une variable qualitative à m modalités (un facteur), le modèle ne peut pas estimer m paramètres de régression. On dit que le modèle est surdimensioné. Seulement m-1 paramètres sont estimés. Ceci est vrai également s'il n'y a que deux modalités (variable binaire) où un seul paramètre est estimé. En fait, dans ce cas et pour résoudre le problème, une modalité est prise comme référence, et - par défaut dans R - c'est la première modalité lorsqu'on les classe par ordre alphabétique. Dans le cas de vos variables binaires, que j'imagine vous codez en "0" et "1", c'est donc le "0" qui tient lieu de référence, et le paramètre de régression indiqué dans le summary() que vous obtenez est pour le "1" par rapport au "0", donc. Ce qui - je pense - correspond à votre interprétation. Pour une variable à plus de deux modalités (le cas de "profession exercée"), il y a également une modalité qui tient lieu de référence (qui n'est donc pas indiqué dans les sorties de summary()), et les coefficients de régression que vous obtenez doivent être interprétés ici aussi comme par rapport à cette modalité de référence (qui est la première par ordre alphabétique). Je pense que ceci répond à votre question.
Attention que - apparemment - aucun des effets associés à "profession excercée" n'est significatif. Aucune interprétation des coefficients de régression (comme vous le faites) n'a de sens. A cet égard, vous pourriez enfin être intéressé/e de tester globalement l'effet d'une variable qualitative. Vous pouvez faire ceci avec la fonction anova(). Soit anova(mod), si vous utilisez lm(), soit anova(mod, test="F"), si vous utilisez glm(), qui testera d'un coup toutes les variables explicatives de votre modèle.
Enfin (et j'aurais du commencer par ça), tout ceci n'est valide que si votre variable "dur.interv" suit des lois normales pour toutes les modalités de toutes vos variables explicatives, ce qui n'est généralement pas le cas pour des variables de durée, mais on rentre alors dans une toute autre discussion..
J'espère que ces différentes explications vous seront utiles.
Cordialement,
Eric.
Dans la mesure où vous avez des variables explicatives qualitatives (que l'on appelle des facteurs) vous êtes plutôt dans le cadre de ce que l'on appelle une ANOVA (analyse de la variance) ou ANCOVA (analyse de la covariance), qui sont des méthodes qui s'apparentent effectivement à la régression multiple. Je dis ceci surtout pour vous conseiller d'utiliser la fonction glm() plutôt que lm(), qui est plus générale et qui offre d'autres outils d'interprétation interessants.
Une variable binaire et quantitative, ça n'existe pas. Elle est qualitative. Et la prendre comme qualitative vous aidera même à interpréter les résultats correspondants, notamment en considérant ce que j'explique juste en dessous.
Si vous ajouté une variable qualitative à m modalités (un facteur), le modèle ne peut pas estimer m paramètres de régression. On dit que le modèle est surdimensioné. Seulement m-1 paramètres sont estimés. Ceci est vrai également s'il n'y a que deux modalités (variable binaire) où un seul paramètre est estimé. En fait, dans ce cas et pour résoudre le problème, une modalité est prise comme référence, et - par défaut dans R - c'est la première modalité lorsqu'on les classe par ordre alphabétique. Dans le cas de vos variables binaires, que j'imagine vous codez en "0" et "1", c'est donc le "0" qui tient lieu de référence, et le paramètre de régression indiqué dans le summary() que vous obtenez est pour le "1" par rapport au "0", donc. Ce qui - je pense - correspond à votre interprétation. Pour une variable à plus de deux modalités (le cas de "profession exercée"), il y a également une modalité qui tient lieu de référence (qui n'est donc pas indiqué dans les sorties de summary()), et les coefficients de régression que vous obtenez doivent être interprétés ici aussi comme par rapport à cette modalité de référence (qui est la première par ordre alphabétique). Je pense que ceci répond à votre question.
Attention que - apparemment - aucun des effets associés à "profession excercée" n'est significatif. Aucune interprétation des coefficients de régression (comme vous le faites) n'a de sens. A cet égard, vous pourriez enfin être intéressé/e de tester globalement l'effet d'une variable qualitative. Vous pouvez faire ceci avec la fonction anova(). Soit anova(mod), si vous utilisez lm(), soit anova(mod, test="F"), si vous utilisez glm(), qui testera d'un coup toutes les variables explicatives de votre modèle.
Enfin (et j'aurais du commencer par ça), tout ceci n'est valide que si votre variable "dur.interv" suit des lois normales pour toutes les modalités de toutes vos variables explicatives, ce qui n'est généralement pas le cas pour des variables de durée, mais on rentre alors dans une toute autre discussion..
J'espère que ces différentes explications vous seront utiles.
Cordialement,
Eric.
Eric Wajnberg- Nombre de messages : 1234
Date d'inscription : 14/09/2012
Re: Interpréter une régression linéaire multiple
Un grand merci pour cette explication que je trouve très claire. Je suis également content, car ma formation en statistique me permet de comprendre les points que vous avez écris.
Je ne connaissais pas la fonction glm(), je l'étudierai avec attention dans le cadre de cet exemple y compris le test Anova pour tester globalement mes classes.
Pour ma variable à plus de deux modalités "Profession", j'avais effectivement entendu parlé d'une modalité qui tient lieu de référence.
Alors, si je me permet de reprendre mon exemple, en tenant compte que la modalité de référence est la profession "Ouvrier" et qu'aucun des résultats n'est significatif, un agriculteur drogué met (14 + 5) --> 19 minutes d'entretien en plus qu'un ouvrier non-drogué ?
Merci beaucoup.
Je ne connaissais pas la fonction glm(), je l'étudierai avec attention dans le cadre de cet exemple y compris le test Anova pour tester globalement mes classes.
Pour ma variable à plus de deux modalités "Profession", j'avais effectivement entendu parlé d'une modalité qui tient lieu de référence.
Alors, si je me permet de reprendre mon exemple, en tenant compte que la modalité de référence est la profession "Ouvrier" et qu'aucun des résultats n'est significatif, un agriculteur drogué met (14 + 5) --> 19 minutes d'entretien en plus qu'un ouvrier non-drogué ?
Merci beaucoup.
preliator- Nombre de messages : 42
Date d'inscription : 01/04/2019
Re: Interpréter une régression linéaire multiple
Vous n'avez pas lu ma réponse précisément. L'utilisation d'une modalité qui tient lieu de référence est aussi le cas s'il n'y que deux modalités.preliator a écrit:Pour ma variable à plus de deux modalités "Profession", j'avais effectivement entendu parlé d'une modalité qui tient lieu de référence.
Plusieurs réponses :preliator a écrit:Alors, si je me permet de reprendre mon exemple, en tenant compte que la modalité de référence est la profession "Ouvrier" et qu'aucun des résultats n'est significatif, un agriculteur drogué met (14 + 5) --> 19 minutes d'entretien en plus qu'un ouvrier non-drogué ?
S'il n'y a pas d'effet de la variable "profession excercée", c'est donc que toutes les conclusions que vous tirerez de l'effet drogué ou non et dépressif ou non, sera valide pour toutes les professions, et pas que pour les agriculteurs, ouvriers, etc. D'ailleurs, si vraiment il n'y a pas d'effet de la variable "profession excercée", il faudrait en toute logique ré-ajuster le modèle sans cette variable avant de tirer des conclusions.
Maintenant, si vous avez codé les non-drogués en "0" et les non-dépressifs également (ce que vous ne dites pas), alors de fait d'être à la fois drogué et dépressif semble augmenter la durée modélisée de 7.36792 + 5.34589 (par rapport à la référence, i.e., non-drogué et non-dépressif). Et c'est tout (pas d'effet de la "profession excercée").
Mais encore une fois, il faudrait ré-ajuster le modèle sans la variable de profession, et tout ceci ne serait valide que si la durée modélisée suit des lois normales (ce dont je douterais, personnellement).
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1234
Date d'inscription : 14/09/2012
preliator- Nombre de messages : 42
Date d'inscription : 01/04/2019
Re: Interpréter une régression linéaire multiple
Bonjour,
Je me permets de partager une dernière une dernière petite zone d'ombre quant à ce modèle de régression linéaire multiple, concernant la variable quantitative "Age".
Sur le modèle, nous voyons un coefficient de 0.21. Selon mes recherches, cela signifie que lorsque l'âge d'une personne, par rapport à une autre, augmente de 1, la durée de l'entretien augmente de 0.212 minutes, et de manière significative.
Alors, pourquoi est-ce que je trouve un résultat et une p.value différent sur un modèle de régression linéaire simple :
Où là, j’interprète que lorsqu'une personne qui a 1 an de plus qu'une autre, la durée de l'entretien augmente 0.126 minute (c'est très proche, mais différent).
Comment interpréter cette différence ?
Merci.
Je me permets de partager une dernière une dernière petite zone d'ombre quant à ce modèle de régression linéaire multiple, concernant la variable quantitative "Age".
Sur le modèle, nous voyons un coefficient de 0.21. Selon mes recherches, cela signifie que lorsque l'âge d'une personne, par rapport à une autre, augmente de 1, la durée de l'entretien augmente de 0.212 minutes, et de manière significative.
Alors, pourquoi est-ce que je trouve un résultat et une p.value différent sur un modèle de régression linéaire simple :
- Code:
> mod2 = lm(data$dur.interv~data$age)
Call:
lm(formula = data$dur.interv ~ data$age)
Residuals:
Min 1Q Median 3Q Max
-62.470 -14.402 -1.712 12.341 60.055
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 57.04091 2.22028 25.691 <2e-16 ***
data$age 0.12625 0.05375 2.349 0.0191 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 19.57 on 745 degrees of freedom
(52 observations deleted due to missingness)
Multiple R-squared: 0.00735, Adjusted R-squared: 0.006018
F-statistic: 5.516 on 1 and 745 DF, p-value: 0.0191
Où là, j’interprète que lorsqu'une personne qui a 1 an de plus qu'une autre, la durée de l'entretien augmente 0.126 minute (c'est très proche, mais différent).
Comment interpréter cette différence ?
Merci.
preliator- Nombre de messages : 42
Date d'inscription : 01/04/2019
Re: Interpréter une régression linéaire multiple
Parce que l'effet (i.e., la significativité, etc.) d'un variable dans un modèle dépend de la présence d'autres variables également dans le modèle. Il suffit d'imaginer par exemple que la variable "age" soit (même un peu) corrélée à d'autres variables, et la présence d'autres variables peuvent apporter une information redondante qui modifie les choses.
Par ailleurs (je n'ai pas fait le calcul) il n'est pas certain que 0.21289 ± 0.05884 diffère statistiquement de 0.12625 ± 0.05375.
HTH, Eric.
Par ailleurs (je n'ai pas fait le calcul) il n'est pas certain que 0.21289 ± 0.05884 diffère statistiquement de 0.12625 ± 0.05375.
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1234
Date d'inscription : 14/09/2012

» interpreter les resultat d'une regression linéaire simple
» regression lineaire multiple
» Régression linéaire multiple
» Régression linéaire et multiple
» Régression Linéaire Multiple - Interprétation
» regression lineaire multiple
» Régression linéaire multiple
» Régression linéaire et multiple
» Régression Linéaire Multiple - Interprétation
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|