Analyse de la variance et régression

Documents pareils
Lire ; Compter ; Tester... avec R

Introduction aux Statistiques et à l utilisation du logiciel R

Analyse de la variance Comparaison de plusieurs moyennes

distribution quelconque Signe 1 échantillon non Wilcoxon gaussienne distribution symétrique Student gaussienne position

Une introduction. Lionel RIOU FRANÇA. Septembre 2008

Exercices M1 SES Ana Fermin ( fermin.perso.math.cnrs.fr/ ) 14 Avril 2015

Statistiques. Rappels de cours et travaux dirigés. Master 1 Biologie et technologie du végétal. Année

Analyse de variance à deux facteurs (plan inter-sujets à deux facteurs) TP9

Introduction à la statistique non paramétrique

MODELE A CORRECTION D ERREUR ET APPLICATIONS

Exemples d Analyses de Variance avec R

Chapitre 3 : Principe des tests statistiques d hypothèse. José LABARERE

Principe d un test statistique

Tests de comparaison de moyennes. Dr Sahar BAYAT MASTER 1 année UE «Introduction à la biostatistique»

TABLE DES MATIERES. C Exercices complémentaires 42

Régression linéaire. Nicolas Turenne INRA

Didacticiel - Études de cas. Description de quelques fonctions du logiciel PSPP, comparaison des résultats avec ceux de Tanagra, R et OpenStat.

La problématique des tests. Cours V. 7 mars Comment quantifier la performance d un test? Hypothèses simples et composites

Estimation et tests statistiques, TD 5. Solutions

Etude des propriétés empiriques du lasso par simulations

Biostatistiques : Petits effectifs

Deuxième Licence en Informatique Data Warehousing et Data Mining La Classification - 1

Relation entre deux variables : estimation de la corrélation linéaire

Microsoft Excel : tables de données

Exemples d application

Analyses de Variance à un ou plusieurs facteurs Régressions Analyse de Covariance Modèles Linéaires Généralisés

Logiciel XLSTAT version rue Damrémont PARIS

Biostatistiques Biologie- Vétérinaire FUNDP Eric Depiereux, Benoît DeHertogh, Grégoire Vincke

DETERMINATION DE L INCERTITUDE DE MESURE POUR LES ANALYSES CHIMIQUES QUANTITATIVES

Un exemple de régression logistique sous

choisir H 1 quand H 0 est vraie - fausse alarme

Modèle de calcul des paramètres économiques

Tests paramétriques de comparaison de 2 moyennes Exercices commentés José LABARERE

Package TestsFaciles

IBM SPSS Statistics Base 20

Annexe commune aux séries ES, L et S : boîtes et quantiles

Lecture critique d article. Bio statistiques. Dr MARC CUGGIA MCU-PH Laboratoire d informatique médicale EA-3888

Cours (7) de statistiques à distance, élaboré par Zarrouk Fayçal, ISSEP Ksar-Said, LES STATISTIQUES INFERENTIELLES

Hedging delta et gamma neutre d un option digitale

1 Modélisation d être mauvais payeur

1 Définition de la non stationnarité

Examen de Logiciels Statistiques

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):

FORMULAIRE DE STATISTIQUES

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

2010 Minitab, Inc. Tous droits réservés. Version Minitab, le logo Minitab, Quality Companion by Minitab et Quality Trainer by Minitab sont des

Densité de population et ingestion de nourriture chez un insecte vecteur de la maladie de Chagas

Les ateliers du Resclin. Préparation des données issues d Epi-Info en utilisant le tableur Excel

Étude de cas Assurance (d après une étude de Philippe Périé, CISIA)

Une variable binaire prédictrice (VI) et une variable binaire observée (VD) (Comparaison de pourcentages sur 2 groupes indépendants)

Chapitre 6 Test de comparaison de pourcentages χ². José LABARERE

Séance 0 : Linux + Octave : le compromis idéal

La fonction ET et la fonction OU. La Fonction ET

1. Introduction Création d'une requête...2

Utilisation de l outil lié à MBKSTR 9

Aide-mémoire de statistique appliquée à la biologie

Mulford C. (1992). The Mother-Baby Assessment(MBA): An Apgar Score for breastfeeding. Journal of Human Lactation, 8(2),

T de Student Khi-deux Corrélation

Encryptions, compression et partitionnement des données

INTRODUCTION À L'ENVIRONNEMENT DE PROGRAMMATION STATISTIQUE R

Modèles pour données répétées

Exemple PLS avec SAS

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Chapitre 3. Les distributions à deux variables

Medication management ability assessment: results from a performance based measure in older outpatients with schizophrenia.

COMPARAISON DE LOGICIELS TESTANT L INDEPENDANCE DE VARIABLES BINAIRES

Données longitudinales et modèles de survie

Présentation du logiciel

MYXTRACTION La Business Intelligence en temps réel

Premiers pas avec SES-Pegase (version 7.0) SES : Un Système Expert pour l analyse Statistique des données. Premiers pas avec SES-Pegase 1

Essais précoces non comparatifs : principes et calcul du nombre de sujets nécessaire

Statistique Descriptive Élémentaire

HENDRICH FALL RISK MODEL (HFRM)

Le risque Idiosyncrasique

Dans l'article précédent, vous avez appris

Statistiques Descriptives à une dimension

Utiliser un tableau de données

TABLE DES MATIÈRES. Bruxelles, De Boeck, 2011, 736 p.

Mesure agnostique de la qualité des images.

Cours 9 : Plans à plusieurs facteurs

Private banking: après l Eldorado

Recherche dans un tableau

La classification automatique de données quantitatives

Pratique de l analyse de données SPSS appliqué à l enquête «Identités et Capital social en Wallonie»

Cahiers de l IMA. Fascicule SPSS

Tests statistiques et régressions logistiques sous R, avec prise en compte des plans d échantillonnage complexes

Comment faire des étiquettes

Quelques précisions concernant les commandes de Ticket Restaurant électronique par fichier Excel

Cours Fonctions de deux variables

Modèle GARCH Application à la prévision de la volatilité

Gestion des données avec R

NOTICE TELESERVICES : Payer un impôt et gérer les contrat de paiement des impôts professionnels

Une introduction au langage R

LE RÔLE DE LA STATISTIQUE DANS UN PROCESSUS DE PRISE DE DÉCISION

Statistique inférentielle TD 1 : Estimation

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Item 169 : Évaluation thérapeutique et niveau de preuve

PLATEFORME SAAS D'ENVOI DE SMS. Guide du débutant UTILISER LA PLATEFORME SMSMODE TUTORIEL

Modules Prestashop - ExportCatalogue / EXPORT IMPORT POUR MODIFICATIONS EN MASSE DANS PRESTASHOP VERSION Optim'Informatique

LES MODELES DE SCORE

Transcription:

Analyse de la variance et régression Rappel du cours Les ANOVA (ou analyses de la variance) généralisent le test t de Student aux cas où il y a plus de moyennes à comparer (au lieu de 2 dans le t-test). Dans ce cas là, il n est pas légitime d effectuer plusieurs tests t (par exemple pour 3 moyennes A, B et C, comparer la moyenne A à la moyenne B, puis la B à la C et la A à la C) car les comparaisons ne sont plus indépendantes entre elle (A vs B n est pas indépendant de A vs C, car A est impliqué dans les deux comparaisons). Lorsqu on effectue plusieurs comparaisons non indépendantes, l erreur de type I augmente (la probabilité de rejeter H0 à tort, c est à dire le risque α, est en réalité plus importante que le 5% que l on fixe ordinairement). L ANOVA permet de contourner ce problème en faisant un test global. En situation non paramétrique (c est à dire sur des données ordinales, ou bien sur des données quantitatives absolument pas gaussiennes et non transformables)par exemple en remplaçant x par log(x), il existe un équivalent à l ANOVA : le test de Kruskal-Wallis que nous avons déjà utilisé dans le TD précédent pour la comparaison de 2 moyennes en situation non paramétriques, mais aussi utilisable pour plus de 2 moyennes. Tout comme le test de Student, l ANOVA suppose la normalité de vos échantillons (testée avec la fonction shapiro.test(...)) et avec qqnorm et qqline. En théorie, il faut également que les variances soient égales. On a déjà comparer les variances avec le test f de fisher. On peut aussi utiliser le test de bartlett pour des comparaison multiples de variances (bartlett.test), même si en pratique il existe des variantes du test qui acceptent des variances inégales (au moins pour les ANOVA à un facteur). ANOVA à un facteur Reprenons l'exemple évoqué pendant le cours (cf tableau ci dessous). On étudie 5 milieu de culture de A à E pour favoriser le développement de culture de bactéries. On possède 10 tubes pour chacun des milieux et on compte le nombre de colonies. Quel est le milieu le plus favorable au développement des bactéries? Le tableau ci dessous expose les données issues d'un tableur : A B C D E 10 11 7 12 7 12 18 14 9 6 8 12 10 11 10 10 15 11 10 7 6 13 9 7 7 13 8 10 8 5 9 15 9 13 6 10 16 11 14 7 8 9 7 10 9 9 13 9 11 6 Avant de commencer, veuillez noter que les données sont organisées par variable dans R : ce n est pas intuitif (vous ne noteriez pas vos données comme ça sous Excel) mais les logiciels de statistique

fonctionnent de cette façon. Ainsi, le jeux de données culture contient 2 colonnes, une première colonie qui contient le nombre de colonies par tube et une colonne milieu qui indique le milieu de culture. On a déjà exécuter le chargement d'un fichier externe en indiquant le chemin du document. On peut procéder aussi ainsi : getwd() donne le répertoire courant dans le menu de R, on peut utiliser la commande File /Change Dir et renommer le répertoire courant ou se trouve le fichier culture.csv puis > culture <- read.table("culture.csv", sep=";",header=t) On va d'abord visualiser ces données : > str(culture) > plot(culture$milieu, culture$colonies) Vous noterez que R a reconnu que les données de l abscisse sont du type facteur et dessine des boîtes à moustaches. Nous sommes bien dans une situation d ANOVA à 1 facteur. Tout d abord, il vous faut vérifier les hypothèses de base, c est à dire la normalité et l égalité des variances. Les commandes sont (par exemple) : > attach(culture) > shapiro.test(colonies[1:10]) > shapiro.test(colonies[11:20]) > shapiro.test(colonies[21:30]) > shapiro.test(colonies[31:40]) > shapiro.test(colonies[41:50]) data: Colonies[41:50] W = 0.8789, p-value = 0.1268 La p -value est >> 0.05 : il n'y a pas d'écart significatif à la normalité R> bartlett.test(list(colonies[1:10], Colonies[11:20], Colonies[21:30], Colonies[31:40],Colonies[41:50])) Bartlett test for homogeneity of variances data: list(colonies[1:10], Colonies[11:20], Colonies[21:30], Colonies[31:40], Colonies[41:50]) Bartlett's K-squared = 4.9585, df = 4, p-value = 0.2916 Même résultat, la p -value est >> 0.05 : il n'y a pas d'écart significatif entre les variances. L inconvénient de la notation par variable sous R est qu il faut lui dire que le premier groupe de milieu A va des valeurs 1 à 10, puis que le deuxième va de 11à 20, etc...mais la commande split simplifie la vie. Le test de Bartlett devient, par exemple, > bartlett.test(split(colonies,milieu))

Bartlett test for homogeneity of variances data: split(colonies, Milieu) Bartlett's K-squared = 4.9585, df = 4, p-value = 0.2916 Les conditions étant remplies, on peut donc utiliser l'anova pour ces data et passer notre ANOVA à l aide de la commande suivante : > resultat<-aov(colonies~milieu) Le sigle aov est l abréviation de analysis of variance. Les ANOVA travaillent avec des formules. Ici, la formule dit que l on veut comparer les valeurs de colonies lorsqu elles sont groupées par Milieu. Le résultat de aov n est pas terrible, comme vous pouvez le constater en l affichant : > resultat Call: aov(formula = Colonies ~ Milieu) Terms: Milieu Residuals Sum of Squares 185.72 225.10 Deg. of Freedom 4 45 Residual standard error: 2.236565 Estimated effects may be unbalanced En fait, pour que R donne le résultat de l ANOVA qui est stocké dans resultat, il faut le lui demander à l aide de la fonction summary : > summary(resultat) Df Sum Sq Mean Sq F value Pr(>F) Milieu 4 185.720 46.430 9.2819 1.477e-05 *** Residuals 45 225.100 5.002 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 On retrouve ici le tableau d'analyse de variance Origine de la variance Degré de liberté (df) Somme des carrés des écarts Valeur de F de fisher P value associé Entre colonnes (entre milieu de culture) 4 (k colonnes 1) 185.7 46.43 9.2819 1.477 e-05 Intra colonne ou résiduelle 45 (N observations k) Total 49 225 5 La p value étant plus inférieure à la valeur 0.05, les moyennes entre les 4 milieux de culture sont très différents en moyenne au risque 1.477 e-05 d observer ce résultat d expérience au hasard. Pour connaître parmi ces 5 milieux, lesquels sont les plus propices au développement des bactéries,

il faut maintenant les comparer 2 à 2. La multiplication de tests t de Student au risque alpha de 5 %, (il faut faire ici 10 tests successifs) accroît beaucoup le risque de trouver une différence au hasard entre 2 milieux (le risque alpha augmente). On utilise donc des tests de comparaison de moyenne qui prennent en compte cette dérive. R sait faire le test «honestly significant difference» de Tukey en donnant l intervalle de confiance, ce qui est suffisant pour conclure (si l IC n inclut pas 0, la différence est significative). La syntaxe est la suivante :! TukeyHSD(resultat)! Tukey multiple comparisons of means 95% family-wise confidence level Fit: aov(formula = Colonies ~ Milieu) $Milieu diff lwr upr B-A 3.5 0.6579187 6.3420813 C-A 0.2-2.6420813 3.0420813 D-A 1.0-1.8420813 3.8420813 E-A -2.5-5.3420813 0.3420813 C-B -3.3-6.1420813-0.4579187 D-B -2.5-5.3420813 0.3420813 E-B -6.0-8.8420813-3.1579187 D-C 0.8-2.0420813 3.6420813 E-C -2.7-5.5420813 0.1420813 E-D -3.5-6.3420813-0.6579187 Vous pouvez directement visualisez le résultat du test de Tukey en le donnant à la fonction plot R> plot(tukeyhsd(resultat)) detach(culture) permet de détacher le fichier par défaut Comprenez bien ces résultats? Que concluez vous

Corrélation Le coefficient de corrélation de Pearson (sans unité, entre -1 et 1), permet de rechercher une liaison entre un paramètre Y et X, de mesurer l intensité de cette liaison et d associer un niveau de significativité. Si p < 0.05, il est possible de tracer la droite qui lie y et x selon une régression linéaire. Les données Y et X doivent être distribués normalement, de même variance et les résidus constants. Sinon, on peut utiliser un test non paramétrique, le test des rangs de Spearman. Régression linéaire Modèle (et ses hypothèses) On dispose de deux variables X et Y, et on essaye de prédire les valeurs de Y à partir de celles de X. Pour cela, on suppose que Y s'obtient à partir de X de la manière suivante : Y = a + b * X + bruit où a et b sont des réels (à déterminer) et le bruit suit une distribution gaussienne de moyenne nulle. On mesure la concentration d un médicament dans le sang (X) et dans le cerveau (Y). Les concentrations sont elles corrélées? Tracez la droite de régression si nécessaire. X Y 49 59 30 25 62 50 84 71 28 20 60 69 76 60 16 14 54 75 55 59 96 97 87 50 32 35 40 30 71 43 52 34 80 78 94 71 39 45 37 50

> medic <- read.table("medic.csv", sep=';',header=t) > shapiro.test(medic$x) data: medic$x W = 0.9621, p-value = 0.5865 > shapiro.test(medic$y) data: medic$y W = 0.982, p-value = 0.9573 > qqnorm(medic$x);qqline(medic$x) > qqnorm(medic$y);qqline(medic$y) > cor.test(medic$x,medic$y) Pearson's product-moment correlation data: medic$x and medic$y t = 5.5642, df = 18, p-value = 2.785e-05 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: 0.5441810 0.9155498 sample estimates: cor 0.7952069 Le coefficient de corrélation est 0.79 avec p très faible : les 2 variables sont liés avec une intensité de liaison élevée On peut donc tracer la droite de régression. Créons une fonction dans R > courber <- function (x, y) { + plot(x,y, main=paste("cor =", round(cor(x,y), digits=2))) + abline(lm(y~x), col='red', lwd=3) + }! courber(medic$x, medic$y)!

TD/TP N 5 Dans un service de cancérologie où beaucoup de patients sont en souffrance physique et morale, on décide de mesurer la satisfaction des patients à la fin du séjour par une enquête avec un auto questionnaire. Un score de réponse global de 10 (minimum de satisfaction) à 50 (maximum de satisfaction) est calculé pour chaque patient. L enquête porte sur 90 patients différents. 1/ On se demande si l age intervient dans la réponse au questionnaire de satisfaction. Les patients sont répartis en 3 classes d âge : 20-45, 46-65, plus de 65. Faites une ANOVA pour rechercher s il existe une différence significative selon la classe d âge et laquelle? Les données figurent dans le fichier csv (satisfaction_a) 2/ On possède aussi l age de chaque patient et on peut aussi corréler les données entre age et le score de satisfaction. Etudier la liaison entre les variables. Les données figurent dans le fichier csv (satisfaction_c) Score patient par groupe d age qui sont nommées A, B, C dans le fichier. Patients 20a-45a 46a-65a plus de 65a 1 21 30 22 2 39 26 23 3 34 20 28 4 27 27 25 5 28 23 23 6 25 15 25 7 21 24 21 8 35 39 28 9 28 23 26 10 33 28 36 11 31 18 14 12 36 30 31 13 31 27 29 14 33 31 27 15 33 28 15 16 15 21 12 17 29 23 24 18 35 25 25 19 25 35 24 20 32 28 33 21 33 29 29 22 36 27 27 23 10 15 28 24 40 26 35 25 33 23 20 26 33 30 28 27 21 37 22 28 29 20 24 29 28 28 26 30 30 24 15

> satis_a <- read.table("satisfaction_a.csv", sep=';',header=t) > str(satis_a) `data.frame': 90 obs. of 2 variables: $ Score : int 21 39 34 27 28 25 21 35 28 33... $ GroupeAge: Factor w/ 3 levels "A","B","C": 1 1 1 1 1 1 1 1 1 1...! plot(satis_a$groupeage,satis_a$score) > shapiro.test(satis_a$score[1:30]);shapiro.test(satis_a$score[31:60]);shapiro.test(satis_a$score[61 :90]) data: satis_a$score[1:30] W = 0.9206, p-value = 0.02775 (on dit que le test est robuste. ) data: satis_a$score[31:60] W = 0.9727, p-value = 0.614 data: satis_a$score[61:90] W = 0.9594, p-value = 0.2983 > resultat<-aov(satis_a$score~satis_a$groupeage) > resultat Call: aov(formula = satis_a$score ~ satis_a$groupeage) Terms: satis_a$groupeage Residuals Sum of Squares 348.467 3189.633 Deg. of Freedom 2 87 Residual standard error: 6.054953 Estimated effects may be unbalanced > summary(resultat) Df Sum Sq Mean Sq F value Pr(>F) satis_a$groupeage 2 348.5 174.2 4.7524 0.01100 * Residuals 87 3189.6 36.7 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 > TukeyHSD(resultat) Tukey multiple comparisons of means 95% family-wise confidence level Fit: aov(formula = satis_a$score ~ satis_a$groupeage) $"satis_a$groupeage" diff lwr upr B-A -3.466667-7.194519 0.2611860

C-A -4.633333-8.361186-0.9054807 C-B -1.166667-4.894519 2.5611860 2/ > satis_c <- read.table("satisfaction_c.csv", sep=';',header=t) > str(satis_c) `data.frame': 90 obs. of 2 variables: $ AGE : int 21 44 30 20 32 34 36 43 40 42... $ SCORE: int 21 39 34 27 28 25 21 35 28 33... > attach(satis_c) > plot(score, AGE) > shapiro.test(score) data: SCORE W = 0.9815, p-value = 0.2277 > shapiro.test(age) data: AGE W = 0.945, p-value = 0.0008286 On ne peut pas utiliser le test de corrélation de pearson, car l age n est pas distribué normalement On utilise le teste des rangs de spearman > cor.test(rank(score), rank(age)) Pearson's product-moment correlation data: rank(score) and rank(age) t = -3.6659, df = 88, p-value = 0.000421 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: -0.5310444-0.1696810 sample estimates: cor -0.363982