Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
GLMM questions d'un novice
2 participants
Page 1 sur 1
GLMM questions d'un novice
Bonjour, j'ai besoin de quelques conseils pour mes analyses statistiques.
Je suis doctorant en sciences cognitives et dans le cadre de ma thèse, je me suis aperçu que les méthodes de tests statistiques couramment employées dans ma discipline (i.e. régressions linéaires), n'étaient, semble-t-il, pas appropriées aux données que j'ai recueillies lors de mon expérimentation. À force de recherches sur la toile, j'ai fini par comprendre que de devais probablement utiliser un modèle général linéaire mixte. Toutefois je ne suis pas certain qu'il s'agisse de la bonne méthode et je suis encore moins certain de la manière d'implémenter puis d'interpréter ces analyses dans mon cas particulier.
Avant toute choses, je suis très peu familier avec ce type d'analyses et j'avoue que rares sont les ressources en lignes qui me soient compréhensibles, il est donc fort possible que j'ai commis de grossières erreurs et si c'est le cas n'hésitez pas à me les signaler.
Pour énoncer plus clairement mon problème, je vais devoir prendre un petit temps et vous exposer le contexte expérimental avant d'en venir aux questions. Toutes mes excuses par avance pour la longueur des prochaines sections de ce message.
J'ai mené une expérimentation dans laquelle des participants devaient évaluer la criticité de situations de conduites variant suivant un paramètre appelé Gap Size et suivant le mode de conduite
Mes variables indépendantes étaient donc :
- Gap Size : 0.8s, 1.0s, 1.2s, ..., 3.0s
- Mode de conduite : Manuel vs Autonome
Mes variables dépendantes sont nombreuses, la plupart sont des valeurs d'évaluation subjectives fournies par les participants sur des échelles continues allant de 0 à 100. Ainsi par exemple, les conducteurs devaient estimer à quel point la situation était critique entre 0 et 100. J'obtiens donc un certain nombre d'évaluations concernant entre autre:
- la criticité de la situation
- l'acceptation de la décision de la voiture autonome
- etc.
Afin de gérer les éventuelles erreurs et variations dans les décisions, chaque participant était confronté à 3 situations de décision de changement de voie par Gap Size. Pour chaque Gap Size (0.8s, 1.0s, etc.) chaque participant fournissait donc 3 évaluations de criticité entre 0 et 100, 3 évaluations d'acceptation entre 0 et 100, etc. La moyenne de ces évaluations a été faite pour chaque participant et pour chaque taille d'espace.
J'ai donc obtenu 29 moyennes de criticité par taille d'espace. (dans certains cas des erreurs ont entraîné le retrait de la moyenne d'un ou deux individus).
Initialement j'ai pensé pouvoir faire de simples régressions linéaires pour tester les associations entre la taille du gap et les valeurs de criticité et d'acceptation.
Mais l'examen des résidu et des recherches approfondies m'ont appris que cette approche n'était pas appropriée dans la mesure où mes valeurs sont bornées entre 0 et 100.
La simple observation des distributions de données laisse à penser qu'elles peuvent être gérées par la création d'un modèle binomial.
J'ai donc suivi ce tutoriel sur les glmm du site statistique-et-logiciel-r (étant nouveau membre je n'ai pas l'autorisation de poster le lien) avec attention et tenté d'appliquer la procédure qui y est exposée.
J'ai conservé la variable taille de l'espace en tant que variable continue.
J'ai transformé les variables dépendantes en les divisant par 100 pour qu'elles soient comprises entre 0 et 1, ensuite j'ai transformé ma variable réponse (i.e. criticité, acceptation, etc.) en une variable combinée conformément à l'étape 6.1.
J'obtiens le résultat suivant pour la criticité considérée seule :
En revanche, je ne sais pas vraiment comment interpréter les résultats. Je suppose que la variable Gap Size a un effet significatif mais je n'en suis pas certain.
Par ailleurs il est indiqué dans le tutoriel qu'il faut vérifier la présence d'une overdispersion. J'utilise la fonction proposée pour cela et il s'avère qu'il y a bien overdispersion. J'utilise donc la fonction glmmPQL comme recommandée mais là encore je ne sais pas comment lire et interpréter la sortie obtenue :
Par ailleurs, je ne suis pas certain non plus de la syntaxe appropriée pour ajouter la variable indépendante Mode De Conduite à mon modèle. Pour l'instant j'ai utilisé celle-ci :
Est-ce la bonne démarche ?
Enfin je ne sais pas comment tracer les courbes et obtenir leurs équations.
Toutes mes excuses pour la longueur du message,
Merci par avance pour votre aide
Je suis doctorant en sciences cognitives et dans le cadre de ma thèse, je me suis aperçu que les méthodes de tests statistiques couramment employées dans ma discipline (i.e. régressions linéaires), n'étaient, semble-t-il, pas appropriées aux données que j'ai recueillies lors de mon expérimentation. À force de recherches sur la toile, j'ai fini par comprendre que de devais probablement utiliser un modèle général linéaire mixte. Toutefois je ne suis pas certain qu'il s'agisse de la bonne méthode et je suis encore moins certain de la manière d'implémenter puis d'interpréter ces analyses dans mon cas particulier.
Avant toute choses, je suis très peu familier avec ce type d'analyses et j'avoue que rares sont les ressources en lignes qui me soient compréhensibles, il est donc fort possible que j'ai commis de grossières erreurs et si c'est le cas n'hésitez pas à me les signaler.
Pour énoncer plus clairement mon problème, je vais devoir prendre un petit temps et vous exposer le contexte expérimental avant d'en venir aux questions. Toutes mes excuses par avance pour la longueur des prochaines sections de ce message.
J'ai mené une expérimentation dans laquelle des participants devaient évaluer la criticité de situations de conduites variant suivant un paramètre appelé Gap Size et suivant le mode de conduite
Mes variables indépendantes étaient donc :
- Gap Size : 0.8s, 1.0s, 1.2s, ..., 3.0s
- Mode de conduite : Manuel vs Autonome
Mes variables dépendantes sont nombreuses, la plupart sont des valeurs d'évaluation subjectives fournies par les participants sur des échelles continues allant de 0 à 100. Ainsi par exemple, les conducteurs devaient estimer à quel point la situation était critique entre 0 et 100. J'obtiens donc un certain nombre d'évaluations concernant entre autre:
- la criticité de la situation
- l'acceptation de la décision de la voiture autonome
- etc.
- Mon premier objectif est de montrer qu'il existe une association significative entre la VI taille de l'espace d'insertion et les variable dépendantes.
- Mon second objectif est de produire l'équation qui modélise cette association.
- Mon troisième objectif est de tester s'il existe une interaction significative entre mes deux variables indépendantes sur mes variables dépendantes.
- Mon quatrième objectif est de tracer les courbes associées aux modèles calculés et en obtenir les équations
Afin de gérer les éventuelles erreurs et variations dans les décisions, chaque participant était confronté à 3 situations de décision de changement de voie par Gap Size. Pour chaque Gap Size (0.8s, 1.0s, etc.) chaque participant fournissait donc 3 évaluations de criticité entre 0 et 100, 3 évaluations d'acceptation entre 0 et 100, etc. La moyenne de ces évaluations a été faite pour chaque participant et pour chaque taille d'espace.
J'ai donc obtenu 29 moyennes de criticité par taille d'espace. (dans certains cas des erreurs ont entraîné le retrait de la moyenne d'un ou deux individus).
Initialement j'ai pensé pouvoir faire de simples régressions linéaires pour tester les associations entre la taille du gap et les valeurs de criticité et d'acceptation.
Mais l'examen des résidu et des recherches approfondies m'ont appris que cette approche n'était pas appropriée dans la mesure où mes valeurs sont bornées entre 0 et 100.
La simple observation des distributions de données laisse à penser qu'elles peuvent être gérées par la création d'un modèle binomial.
J'ai donc suivi ce tutoriel sur les glmm du site statistique-et-logiciel-r (étant nouveau membre je n'ai pas l'autorisation de poster le lien) avec attention et tenté d'appliquer la procédure qui y est exposée.
J'ai conservé la variable taille de l'espace en tant que variable continue.
J'ai transformé les variables dépendantes en les divisant par 100 pour qu'elles soient comprises entre 0 et 1, ensuite j'ai transformé ma variable réponse (i.e. criticité, acceptation, etc.) en une variable combinée conformément à l'étape 6.1.
J'obtiens le résultat suivant pour la criticité considérée seule :
- Code:
>
# Modèle mixte pour la criticité (GLMM)
> mixed_model_crit <- glmer(y_crit ~ Gap.size+(1|Participant_Number_factor),
+ data=by_gap_NoEr_manu, family=binomial)
> summary(mixed_model_crit)
Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
Family: binomial ( logit )
Formula: y_crit ~ Gap.size + (1 | Participant_Number_factor)
Data: by_gap_NoEr_manu
AIC BIC logLik deviance df.resid
4525.9 4537.4 -2260.0 4519.9 342
Scaled residuals:
Min 1Q Median 3Q Max
-10.3755 -2.0490 -0.2388 1.9574 8.0239
Random effects:
Groups Name Variance Std.Dev.
Participant_Number_factor (Intercept) 1.099 1.048
Number of obs: 345, groups: Participant_Number_factor, 29
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 3.75456 0.20048 18.73 <2e-16 ***
Gap.size -2.34015 0.02633 -88.88 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr)
Gap.size -0.228
En revanche, je ne sais pas vraiment comment interpréter les résultats. Je suppose que la variable Gap Size a un effet significatif mais je n'en suis pas certain.
Par ailleurs il est indiqué dans le tutoriel qu'il faut vérifier la présence d'une overdispersion. J'utilise la fonction proposée pour cela et il s'avère qu'il y a bien overdispersion. J'utilise donc la fonction glmmPQL comme recommandée mais là encore je ne sais pas comment lire et interpréter la sortie obtenue :
- Code:
> mixed_model_crit_PQL <- glmmPQL(y_crit ~ Gap.size, random=~1|Participant_Number_factor,
+ data=by_gap_NoEr_manu, family=quasibinomial)
itération 1
itération 2
itération 3
itération 4
> summary(mixed_model_crit_PQL)
Linear mixed-effects model fit by maximum likelihood
Data: by_gap_NoEr_manu
AIC BIC logLik
NA NA NA
Random effects:
Formula: ~1 | Participant_Number_factor
(Intercept) Residual
StdDev: 1.000078 2.957555
Variance function:
Structure: fixed weights
Formula: ~invwt
Fixed effects: y_crit ~ Gap.size
Value Std.Error DF t-value p-value
(Intercept) 3.697483 0.23272860 315 15.88753 0
Gap.size -2.301879 0.07649474 315 -30.09199 0
Correlation:
(Intr)
Gap.size -0.571
Standardized Within-Group Residuals:
Min Q1 Med Q3 Max
-3.37367876 -0.67947222 -0.04986471 0.66787439 2.66487413
Number of Observations: 345
Number of Groups: 29
Par ailleurs, je ne suis pas certain non plus de la syntaxe appropriée pour ajouter la variable indépendante Mode De Conduite à mon modèle. Pour l'instant j'ai utilisé celle-ci :
- Code:
mixed_model_crit_manu_auto <- glmer(y_crit ~ Gap.size * Mode.de.conduite + (1|Participant_Number_factor),
data=by_gap_particip_aggreg, family=binomial)
Est-ce la bonne démarche ?
Enfin je ne sais pas comment tracer les courbes et obtenir leurs équations.
Toutes mes excuses pour la longueur du message,
Merci par avance pour votre aide
Phoenix Woody's- Nombre de messages : 3
Date d'inscription : 26/08/2019
Re: GLMM questions d'un novice
Tu nous parle d'une VI appelée "taille de l'espace d'insertion" après nous avoir dit que :
De plus, tu utilises comme facteur de regroupement une variable que tu nommes Participant_Factor_Number. Quelle lien entretient-elle avec les autres variables ?
De plus, dans un glm, l'utilisation de la famille binomiale suppose un comptage.
Pour une aide efficace, il faudrait que tu précises mieux tes données.
d'où vient cette variable ?Mes variables indépendantes étaient donc :
- Gap Size : 0.8s, 1.0s, 1.2s, ..., 3.0s
- Mode de conduite : Manuel vs Autonome
De plus, tu utilises comme facteur de regroupement une variable que tu nommes Participant_Factor_Number. Quelle lien entretient-elle avec les autres variables ?
De plus, dans un glm, l'utilisation de la famille binomiale suppose un comptage.
Pour une aide efficace, il faudrait que tu précises mieux tes données.
Florent Aubry- Nombre de messages : 251
Date d'inscription : 02/11/2015
Re: GLMM questions d'un novice
Toutes mes excuses pour ces imprécisions, la variable indépendante "Gap size" est le nom anglicisé et raccourci pour la variable indépendante "taille de l'espace d'insertion" ces deux noms sont donc équivalents.
Le facteur de regroupement est Participant Number Factor il s'agit simplement du numéro du participant, je l'ai placé en tant que facteur de regroupement car chaque participant a été confronté à toutes les conditions expérimentales. Par exemple, le participant numéro 5 a fourni des évaluations subjectives entre 0 et 100 toutes les modalités de toutes les VI.
Concernant l'utilisation de la famille binomiale c'est l'un de mes problèmes en ce sens que je ne suis pas certain qu'il s'agisse de la bonne méthode. Dans mon cas, il ne s'agit pas d'un comptage mais de valeurs entre 0 et 100. Ces valeurs ne peuvent donc pas aller au delà de ces bornes.
Le facteur de regroupement est Participant Number Factor il s'agit simplement du numéro du participant, je l'ai placé en tant que facteur de regroupement car chaque participant a été confronté à toutes les conditions expérimentales. Par exemple, le participant numéro 5 a fourni des évaluations subjectives entre 0 et 100 toutes les modalités de toutes les VI.
Concernant l'utilisation de la famille binomiale c'est l'un de mes problèmes en ce sens que je ne suis pas certain qu'il s'agisse de la bonne méthode. Dans mon cas, il ne s'agit pas d'un comptage mais de valeurs entre 0 et 100. Ces valeurs ne peuvent donc pas aller au delà de ces bornes.
Phoenix Woody's- Nombre de messages : 3
Date d'inscription : 26/08/2019
Re: GLMM questions d'un novice
Je comprends mieux les variables. L'utilisation du Participation Number Factor comme facteur de regroupement est correcte. Par contre, je trouve que la traduction de Gap Size en "taille de l'espace d'insertion" n'est pas bonne. Je pense que quelque chose comme "delai" ou "temps attente" serait plus approprié.
Si la variable indépendante est une valeur (sans doute discrète) comprise entre 0 et 100, l'utilisation de la famille binomiale est fausse puisque la famille binomiale suppose soit une réponse vrai/faux soit un comptage nombre de succès vs. nombre d'échecs. Ce n'est absolument pas ton cas. Vu le nombre de valeurs, si elles sont assez bien réparties autour de 50, tu peux essayer en première approximation la famille normale comme on le fait 'naturellement' avec les notes. Si elles sont très regroupées vars une extrémités, c'est beaucoup plus délicat.
Si la variable indépendante est une valeur (sans doute discrète) comprise entre 0 et 100, l'utilisation de la famille binomiale est fausse puisque la famille binomiale suppose soit une réponse vrai/faux soit un comptage nombre de succès vs. nombre d'échecs. Ce n'est absolument pas ton cas. Vu le nombre de valeurs, si elles sont assez bien réparties autour de 50, tu peux essayer en première approximation la famille normale comme on le fait 'naturellement' avec les notes. Si elles sont très regroupées vars une extrémités, c'est beaucoup plus délicat.
Florent Aubry- Nombre de messages : 251
Date d'inscription : 02/11/2015
Re: GLMM questions d'un novice
Merci pour ces réponses,
Concernant la variable Gap Size, en fait elle porte bien son nom bien que l'unité soit en secondes, simplement je n'ai pas communiqué le détail des informations relatives à la construction de cette variable pour ne pas alourdir inutilement le post. En fait, la variable Gap size correspond à la taille de l'espace entre deux voitures dans le trafic. Cette taille d'espace d'insertion est mesurée en secondes de temps inter-véhiculaire c'est à dire le temps que mettrait un véhicule pour parcourir la distance qui le sépare du véhicule le précédant. Dans mon expérimentation j'ai fait varier cette taille d'espace de 0.8s à 3.0s par pas de 0.2s.
Concernant la variable dépendante, je comprends mieux, j'ai probablement mal compris les différentes sources d'information que j'ai trouvé en cherchant à vérifier ma démarche. Dans mon cas, la plupart du temps, les valeurs de VD (entre 0 et 100) sont proches de 0 (avec une faible variation) lorsque la variable gap size est proche de 0.8s, elles sont proches de 100 (avec également une faible variation) lorsque la variable gap size est proche de 3.0s entre ces deux extrêmes (i.e. lorsque gap size est proche de 1.8s) les valeurs sont proches de 50 et très étalées entre 0 et 100. Malheureusement, comme je suis inscrit depuis peu les règles d'utilisation du forum ne me permettent pas de partager des représentations graphiques de mes données.
Merci en tout cas pour votre réponse, je comprends maintenant mieux quelle a été mon erreur.
Concernant la variable Gap Size, en fait elle porte bien son nom bien que l'unité soit en secondes, simplement je n'ai pas communiqué le détail des informations relatives à la construction de cette variable pour ne pas alourdir inutilement le post. En fait, la variable Gap size correspond à la taille de l'espace entre deux voitures dans le trafic. Cette taille d'espace d'insertion est mesurée en secondes de temps inter-véhiculaire c'est à dire le temps que mettrait un véhicule pour parcourir la distance qui le sépare du véhicule le précédant. Dans mon expérimentation j'ai fait varier cette taille d'espace de 0.8s à 3.0s par pas de 0.2s.
Concernant la variable dépendante, je comprends mieux, j'ai probablement mal compris les différentes sources d'information que j'ai trouvé en cherchant à vérifier ma démarche. Dans mon cas, la plupart du temps, les valeurs de VD (entre 0 et 100) sont proches de 0 (avec une faible variation) lorsque la variable gap size est proche de 0.8s, elles sont proches de 100 (avec également une faible variation) lorsque la variable gap size est proche de 3.0s entre ces deux extrêmes (i.e. lorsque gap size est proche de 1.8s) les valeurs sont proches de 50 et très étalées entre 0 et 100. Malheureusement, comme je suis inscrit depuis peu les règles d'utilisation du forum ne me permettent pas de partager des représentations graphiques de mes données.
Merci en tout cas pour votre réponse, je comprends maintenant mieux quelle a été mon erreur.
Phoenix Woody's- Nombre de messages : 3
Date d'inscription : 26/08/2019
Sujets similaires
» GLMM
» GLMM proportions non entières
» glmm: Poisson et nombres non entiers
» Probabilité dégressive (novice)
» (Novice) Ancova et post hoc sur R
» GLMM proportions non entières
» glmm: Poisson et nombres non entiers
» Probabilité dégressive (novice)
» (Novice) Ancova et post hoc sur R
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum