Compte Rendu TP optionnels Cognitive-Statistiques

Voilà un compte rendu de notre correction de vos travaux optionnels qui a vocation à :

Nous avons conscience qu'il s'agissait d'un travail difficile, et que les conditions pour le réaliser ne sont pas forcément idéales. Mener une expérience scientifique et en analyser les données sont des procédures complexes, et l'utilisation de l'outil informatique n'est pas forcément aisée. Bravo à ceux qui se sont lancés, nous espérons que l'expérience aura été positive.

Rappels

Nous avons noté quelques erreurs récurrentes, et nous tenons donc à rappeler les points suivants concernant les analyses de données :

1. Agréger les données

Il est absolumment nécessaire d'aggréger les données lorsqu'on fait un test statistique avec des mesures répétées : les différents essais d'un même sujet ne sont pas des observations indépendantes. Ne pas aggréger augmente les degrés de liberté de manière injustifiée, ce qui fausse totalement les résultats du test. Les données à utiliser dans un test statistique sont les moyennes à tous les essais d'une même condition.

Par exemple, dans une tâche de Stroop, si chaque sujet a vu 10 essais dans la condition “Congruent” et 10 essais dans la condition “Non Congruent”, il faut faire la moyenne, pour chaque sujet, de tous les temps de réponses dans chacune de ces deux conditions, et à la fin vous aurez 1 seul temps de réponse moyen dans chaque condition par sujet. Votre degré de liberté doit être égal à votre nombre de sujets (moins un), et non pas égal à votre nombre de sujets multiplié par votre nombre de stimuli.

L'aggrégation peut se faire par exemple à l'aide de la fonction aggregate de R.

2. Présentation des hypothèses statistiques

Lorsque vous faites un test statistique, il faut systématiquement mentionner l'hypothèse statistique (elle porte sur un nombre ou sur la forme d'une distribution) que vous testez. Vous devez en fait rapporter deux hypothèses : l'hypothèse nulle (H0) et l'hypothèse alternative (H1). Généralement, on fait un test statistique sur un paramètre d'une distribution : moyenne ou variance, mais certains tests portent également sur la médiane. L'hypothèse nulle affirme dans ce cas que notre variable indépendante n'a pas d'effet sur notre variable dépendante : le paramètre qui nous intéresse dans la condition 1 est égale au même paramètre dans la condition 2.

L'hypothèse alternative peut alors être de trois forme :

Notez bien : l'hypothèse alternative ne contient en aucun cas le mot “significatif”. L'hypothèse porte sur le monde réel, sur les valeurs de la population et non de l'échantillon. La “significativité” n'est pas une propriété de la population, mais une propriété d'un test particulier.

Si vous n'indiquez pas à votre logiciel l'hypothèse alternative que vous testez (le logiciel connait toujours l'hypothèse nulle), il va la choisir lui même, et il se peut que les nombres (la valeur de la statistique et la valeur-p) que vous aurez calculés ne correspondent pas à l'hypothèse que vous souhaitiez tester.

3. Hypothèse a priori des statistiques paramétriques

Lors du choix d'un test statistique, il est impératif de comprendre la différence entre un test paramétrique et un test non paramétrique. Le test paramétrique fait l'hypothèse que les données suivent une distribution paramétrée, c'est à dire que la distribution peut être décrite intégralement à l'aide d'un petit nombre de nombres, les paramètres.

Retenez ceci : pour qu'un test paramétrique soit valide (c'est à dire que la valeur-p calculée correspond bien à la réalité, et que donc la conclusion que l'on tire est statistiquement justifiée), il faut que les données, dans chaque condition, suivent une loi normale. C'est à dire que les données de la première condition doivent suivre une loi normale, et les données de la seconde condition doivent suivre une loi normale : il faut donc toujours tester deux fois la normalité, si vous faites un seul test, vous n'avez pas adéquatement testé la normalité des données. Il faut également préciser que seules des variables numériques quantitatives peuvent suivre une loi normale (un score entre 1 et 7 ne peut pas à proprement parler suivre une loi normale, néanmoins on peut approximer que c'est le cas…). Une variable qualitative ne peut en aucun cas suivre une loi normale.

Pour tester la normalité d'un ensemble de données, deux possibilités (le mieux est de faire les deux) :

Contrairement à ce qui vous a (peut être) été dit, le théorème de la limite centrale ne garantit pas qu'à partir de 30 sujets, les données suivent nécessairement une loi normale. La distribution des données peut être virtuellement n'importe quoi. Le théorème de la limite centrale affirme que les moyennes des échantillons d'une variable aléatoire sur lequel on fait un grand nombre d'observations (30 est ce fameux grand nombre) suivent une loi normale. La distribution des moyennes sur les échantillons possibles suit une loi normale avec des paramètres connus, et la moyenne de notre échantillon actuel fait donc partie de cette loi normale, et donc on peut faire des statistiques grâce à cette information. C'est un peu subtil. En pratique, les psychologues en concluent souvent qu'on peut sauter l'étape de vérification de la normalité des données et faire des tests paramétriques même si les données ne sont pas normales. On peut effectivement faire le test paramétrique, dont l'interprétation du résultat sur le paramètre testé sera fiable, mais on ne connait pas pour autant la distribution !

Si vos données ne sont pas normales :

4. Interprétation des valeur-p

La valeur-p d'un test est la probabilité que, quand l'hypothèse nulle est vraie, on ait un résultat au moins aussi extrême que le résultat observé. Ce n'est que ça, et rien d'autre. La valeur-p est utilisée de la manière suivante :

Statistiques descriptives

Le code suivant permet d'ouvrir le fichier csv qui comprend les notes. Le paramètre “sep” indique par quoi les données sont séparées, ici des points virgules.

    setwd("/Users/timothee/Desktop")
    TP <- read.csv("L2Notes.csv", sep=";", na.strings=list("NA", ""), header=TRUE)

Beaucoup d'entre vous ne nous ont pas fourni un fichier csv valide, c'est à dire interprétable comme un tableau de vos données par R. Un fichier csv n'est valide que s'il y a une observation par ligne, et le titre de chaque variable en tête de colonne, et rien d'autre dans le tableau (pas de calcul de moyennes, pas de titre, pas d'annotations : uniquement les noms de variables et les données).

Observons un résumé de notre tableau de données :

    TP <- TP[TP$etat=="complet", c("sexe", "profCog", "profStat", "tab", "noteCogJNA", "noteCogRC", "noteCog", "noteStatsKEG", "noteStatsTB", "noteStats")] # On ne prend en compte que les travaux rendus complet
    nombreTravauxRendus <- nrow(TP)
    summary(TP)
 sexe   profCog  profStat    tab       noteCogJNA    noteCogRC       noteCog      noteStatsKEG   noteStatsTB     noteStats   
 F:38   JNA:24   KEG :17   csv :34   Min.   :0.0   Min.   :0.00   Min.   :0.00   Min.   :0.00   Min.   :0.00   Min.   :0.00  
 H:12   RC :26   TB  :32   ods : 2   1st Qu.:2.0   1st Qu.:2.00   1st Qu.:2.00   1st Qu.:1.00   1st Qu.:1.50   1st Qu.:1.31  
                 NA's: 1   xls : 6   Median :2.5   Median :2.50   Median :2.50   Median :2.00   Median :2.00   Median :2.00  
                           xlsx: 8   Mean   :2.4   Mean   :2.47   Mean   :2.46   Mean   :1.98   Mean   :2.16   Mean   :2.02  
                                     3rd Qu.:3.0   3rd Qu.:3.00   3rd Qu.:3.00   3rd Qu.:2.50   3rd Qu.:3.00   3rd Qu.:2.75  
                                     Max.   :4.5   Max.   :5.00   Max.   :4.50   Max.   :5.00   Max.   :4.00   Max.   :4.50  

Le tableau “TP” répertorie les informations relatives aux travaux fournis par les étudiants. Les deux parties du TP ont été notées indépendamment, et les professeurs ont chacun attribué une note à tous les devoirs, puis se sont concertés pour attribuer la note finale. Chaque ligne contient une observation, c'est à dire les données sur le TP rendu par un étudiant. Le tableau contient les variables suivantes :

Le résumé du tableau indique ainsi que vous avez été 50 à rendre un travail complet.

Répartition des notes par matière

Les deux histogrammes suivants décrivent la répartition des notes pour la partie cognitive et pour la partie statistique.

    par(mfrow = c(1, 2))
    hist(TP$noteCog, main="Notes TP - partie Cognitive", col=c("red", "darkred"), xlab="Note", ylab="Effectif", xlim=c(0,5))
    hist(TP$noteStats, main= "Notes TP - partie Statistiques", col=c("blue", "darkblue"), xlab="Note", ylab="Effectif", xlim=c(0,5))

plot of chunk unnamed-chunk-3

On peut également visualiser la répartition des notes à l'aide de boîtes à moustaches :

    par(mfrow=c(1,1))
    boxplot(TP$noteCog, TP$noteStats, col = c("red","blue"), names= c("Cog", "Stats"), main = "Répartition des notes", ylim=c(0, 5), ylab="Note")

plot of chunk unnamed-chunk-4

Répartition des notes par professeur

Chaque devoir s'est vu attribué deux notes, on peut se demander à quel point ces notes coincident. Pour visualiser ceci, on peut faire un graphique des notes données par un professeur en fonction des notes données par l'autre. Les points qui tombent sur la ligne centrale correspondent à des travaux qui ont reçu la même note par les deux professeurs.

    par(mfrow=c(1,2))
    plot(TP$noteCogJNA, TP$noteCogRC, xlim=c(0,5), ylim=c(0,5), main="Notes par professeur - partie cognitive", xlab="Note JNA", ylab="Note RC", col="red")
    lines(c(0, 5), c(0, 5), lwd=3, col="darkred")
    plot(TP$noteStatsKEG, TP$noteStatsTB, xlim=c(0,5), ylim=c(0,5), main="Notes par professeur - partie statistiques", xlab="Note KEG", ylab="Note TB", col="blue")
    lines(c(0, 5), c(0, 5), lwd=3, col="darkblue")

plot of chunk unnamed-chunk-5

On peut voir que les professeurs ont dans une grande mesure attribué des notes très similaires. On peut quantifier cette similarité par la corrélation linéaire :

    corCog <- cor(TP$noteCogJNA, TP$noteCogRC)
    corStats <- cor(TP$noteStatsKEG, TP$noteStatsTB)

Les notes de la partie cognitive ont une corrélation de 0.8906, tandis ce que les notes de la partie statistiques ont une corrélation de 0.829. On peut noter que la note finale reçue par l'étudiant n'a pas été prise mécaniquement en faisant la moyenne des notes des deux professeurs, mais après discussion et réexamen du travail.

A quel point les notes en cognitive et en statistiques corrèlent ?

On peut également chercher à visualiser à quel point les bonnes notes en cognitive s'accompagnent d'une bonne note en statitiques : autrement dit, à quel point les notes entre les deux parties corrèlent.

    par(mfrow=c(1,1))
    plot(TP$noteCog, TP$noteStats, xlim=c(0,5), ylim=c(0,5), main="Notes dans les deux matières", xlab="Note Cog", ylab="Note Stats", col="purple")
    lines(c(0, 5), c(0, 5), lwd=3, col="purple4")

plot of chunk unnamed-chunk-7

    corCogStats <- cor(TP$noteCog, TP$noteStats)

Comme on pouvait s'y attendre, les notes entre les deux parties corrèlent beaucoup moins (la corrélation est de 0.4951), mais elle loin d'être nulle : les travaux ayant reçu une bonne note dans une des matières ont tendance a également avoir reçu une bonne note dans l'autre.

Statistiques inférentielles

Nous chercherons maintenant à répondre à la question théorique suivante : les étudiants en psychologie de l'IED sont ils meilleurs en psychologie cognitive qu'en statistiques inférentielles ?

Notre population cible est l'ensemble des étudiants en licence de psychologie de l'IED.

Nos données proviennent d'un échantillon de 50 étudiants (38 femmes, 12 hommes) en L2 de psychologie à l'institut d'enseignement à distance qui ont fourni un travail optionnel. Ce travail consistait à reproduire une petite expérience de psychologie, en la programmant sur une plateforme en ligne, à récolter des données, et à analyser celles ci. Ces travaux ont été notés indépendamment pour la partie cognitive et la partie statistique.

Comme il est de notoriété parmi les professeurs en psychologie (notez la référence anecdotique) que les cours de statistique posent une difficulté particulière aux étudiants, on peut faire l'hypothèse que les notes de la partie cognitive de ce travail seront plus élevées que les notes de la partie statistiques. Nous posons donc les deux hypothèses suivantes :

Nous cherchons à réaliser un test paramétrique pour comparer ces moyennes, le t de Student. Nous devons donc dans un premier temps vérifier que ce test peut s'appliquer.

Normalité des données

A strictement parler, les notes données constituent une variable qualitative ordinale, mais il est raisonnable de considérer une note comme une variable numérique quantitative. Les distributions des notes dans nos deux conditions sont-elles des distributions normales ?

Graphiquement (cf les histogrammes ci dessus), les notes de la partie cognitive semblent distribuées normalement (valeurs concentrées au centre, courbe relativement symétrique). Les notes de la partie statistiques semblent moins normales, avec deux pics, et une asymétrie assez claire dans les valeurs extrêmes. Il convient de tester la normalité de ces données à l'aide du test de Shapiro-Wilk (Shapiro & Wilk, 1965).

    shapiro.test(TP$noteCog)

    Shapiro-Wilk normality test

data:  TP$noteCog
W = 0.9649, p-value = 0.1427
    shapiro.test(TP$noteStats)

    Shapiro-Wilk normality test

data:  TP$noteStats
W = 0.9808, p-value = 0.5847

Aucun de ces deux tests n'est significatif à un seuil de 0.05 (mais il faut rappeler que ce seuil n'est pas véritablement pertinent pour les tests de normalité). S'il apparaissait graphiquement que la distribution des notes de cognition était “plus normale” que la distribution des notes de statistiques, les tests de Shapiro affirmeraient plutôt l'inverse. Les données dans nos deux conditions ne diffèrent pas significativement d'une loi normale. Nous pouvons donc utiliser le test de Student.

Test-t de Student

Chaque note constitue une observation indépednante. De plus, les notes sont appariées deux à deux, puisque chaque étudiant a obtenu une note en statistiques et une note en psychologie cognitive.

Afin de paramétrer le test-t, nous devons vérifier si les variances des données dans nos deux conditions sont elles égales à l'aide d'un test F, bilatéral car nous n'avons pas d'hypothèse a priori sur quelle variance devrait être plus grande.

    var.test(TP$noteCog, TP$noteStats, alternative="two.sided", paired=TRUE)

    F test to compare two variances

data:  TP$noteCog and TP$noteStats
F = 0.9087, num df = 49, denom df = 49, p-value = 0.739
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.5157 1.6014
sample estimates:
ratio of variances 
            0.9087 

Nous trouvons un rapport des variances F = 0.91, avec p = 0.739. On peut considérer que les variances dans nos deux conditions sont similaires.

Testons maintenant notre hypothèse que les notes en psychologie cognitive sont supérieures aux notes en statistiques, en considérant un seuil alpha de 0.05.

   t.test(TP$noteCog, TP$noteStats, alternative="greater", var.equal=TRUE, paired=TRUE)

    Paired t-test

data:  TP$noteCog and TP$noteStats
t = 3.226, df = 49, p-value = 0.001119
alternative hypothesis: true difference in means is greater than 0
95 percent confidence interval:
 0.2113    Inf
sample estimates:
mean of the differences 
                   0.44 

Ce test de Student avec 49 degrés de liberté rapporte un t = 3.22 et une valeur-p de 0.0011 < 0.05. Cette différence de moyenne de 0.44 points sur 5 entre les notes de psychologie cognitive et les notes de statistiques est donc significative.

Limites

Peut-on réellement rejeter H0 (“les moyennes des notes en statistiques et en psychologie cognitive des étudiants de l'IED sont égales ?”) et en conclure que notre hypothèse théorique “les élèves de psychologie de l'IED sont meilleurs en psychologie cognitive qu'en statistiques” est vraie ?

Pas si vite !
On peut remettre en cause la conclusion en remettant en cause les points suivants :

Ainsi, les statistiques inférentielles n'étaient probablement pas pertinentes pour répondre à cette question dans ce contexte (hormis le fait qu'il est intéressant de vous donner un exemple de démonstration).

.

.

.

.

.