La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cours 8 Les régressions linéaires. Les analyses statistiques avec R Modèles linéaires,lm() modèles linéaires généralisés,glm() analyse de variance, aov()

Présentations similaires


Présentation au sujet: "Cours 8 Les régressions linéaires. Les analyses statistiques avec R Modèles linéaires,lm() modèles linéaires généralisés,glm() analyse de variance, aov()"— Transcription de la présentation:

1 Cours 8 Les régressions linéaires

2 Les analyses statistiques avec R Modèles linéaires,lm() modèles linéaires généralisés,glm() analyse de variance, aov()

3 Généralités L ’argument principal est une formule du type: réponse ~ prédicteur exemples: data(I=InsectSprays) aov(sqrt(count) ~ spray,data=I) équivalent à : aov(sqrt(I$count) ~ I$spray) ou à aov(sqrt(I[,1]) ~ I[,2])

4 Les formules y~model ou y est la réponse analysée et model est un ensemble de termes pour lesquels les paramètres sont estimés attention: les symboles arithmétiques ont ici une signification particulière exemples: y~x1+x2 désigne le modèle y=ax1+bx2+c y~I(x1+x2) désigne le modèle y=a(x1+x2)+c y~poly(x,2) désigne le modèle y=ax^2+bx+c y~x1+x2 désigne le modèle y=ax1+bx2+c y~x1-1 désigne le modèle y=ax1

5 Les fonctions génériques Les objets qui contiennent les résultats d ’une analyse, ont un attribut particulier, la classe. Certaines fonctions, dites génériques, permettent d ’extraire des informations d ’un objet résultat exemples: summary()qui a une action différente sur un objet de classe lm(), aov(),...

6 apropos("^summary") [1] "summary.aov" "summary.aovlist" "summary.glm" [4] "summary.infl" "summary.lm" "summary.manova" [7] "summary.mlm" "summary.stepfun" "summaryRprof" [10] "summary" "summary.connection" "summary.data.frame" [13] "summary.Date" "summary.default" "summary.factor" [16] "summary.matrix" "summary.POSIXct" "summary.POSIXlt" [19] "summary.table"

7 Les fonctions génériques plot() print()résumé succint summary()résumé détaillé df.residualsnbre de ddl résiduels coefcoefficients estimés residualsrésidus deviancedéviance fittedvaleurs ajustées par le modèle logLiklogarithme de la vraisemblance...

8 Un objet-résultat, produit par aov(), lm()…. est généralement une liste,bien qu ’il ne soit pas affiché comme tel, dont les éléments peuvent être affiché par la fonction names() ex names(res.reg)pour une régréssion linéaire "coefficients" "residuals" "effects" "rank" "fitted.values" "assign" "qr" "df.residual" "xlevels" "call" "terms" "model"

9 Analyses supplémentaires à partir d ’un objet add1() : teste successivement tous les termes qui peuvent être ajoutés à un modèle drop1():teste successivement tous les termes qui peuvent être enlevés à un modèle anova(): calcule une table d ’analyse de variance ou de deviance pour un ou plusieurs modèles predict(): calcule les valeurs prédites pour des nouvelles données update(): réajuste un modèle...

10 Régréssion linéaire simple Sur des données fictives: x=1:100 x=sample(x,30,replace=TRUE) x [1] 62 18 9 67 43 38 57 12 41 29 69 76 77 46 42 75 32 74 6 40 51 88 61 3 38 [26] 71 81 76 94 34 y=3+7*x+rnorm(30,0,100) Y [1] 340.61710 254.86969 54.52298 463.78335 379.30676 177.27873 555.98297 [8] -13.48922 273.11081 187.46739 439.59869 380.92303 537.40362 414.12641 [15] 299.09269 494.05965 415.9

11 plot(x,y)

12 res.reg=lm(y~x); Call: lm(formula = y ~ x) Coefficients: (Intercept) x 13.22 6.71 Droite de régression: y=6,71 *x +13.22

13 plot(x,y); abline(res.reg)

14 summary(res.reg) Residuals: Min 1Q Median 3Q Max -142.29 -58.64 -17.17 63.33 187.99 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 13.2213 37.0548 0.357 0.724 x 6.7105 0.6587 10.188 6.37e-11 Residual standard error: 90.65 on 28 degrees of freedom Multiple R-Squared: 0.7875, Adjusted R-squared: 0.78

15 Plus sophistiquée... La croissance d ’une bactérie (par jour), modélisé par N=N0 e^kt t=2:12; N=c(55,90,135,245,403,665,1100,1810,3000,4450, 7350); Le modèle est le suivant;

16 t=c(2:12);N=c(55,90,135,245,403,665,1100,1810,3000,4450,7350) T=data.frame(t,N,y=log(N));T; > T t N y t N y 1 2 55 4.007333 2 3 90 4.499810 3 4 135 4.905275 4 5 245 5.501258…..

17 Calcul de moyenne et écart-type apply(T,2,mean); t N y 7.000000 1754.818182 6.475094 apply(T,2,sd); t N y 3.316625 2326.625317 1.640357

18 plot(T$t,T$N)

19 plot(T$t,T$y)

20 droite de regression ll=lm(y~t,data=T);ll; Call: lm(formula = y ~ t, data = T) Coefficients: (Intercept) t 3.0142 0.4944

21 abline(ll);

22 summary(ll) Call: lm(formula = y ~ t, data = T) Residuals: Min 1Q Median 3Q Max -0.08656 -0.02117 0.01500 0.02912 0.04802 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 3.014162 0.032947 91.49 1.13e-14 *** t 0.494419 0.004289 115.27 1.41e-15 *** --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1

23 summary(ll) suite Residual standard error: 0.04499 on 9 degrees of freedom Multiple R-Squared: 0.9993, Adjusted R-squared: 0.9992 F-statistic: 1.329e+04 on 1 and 9 DF, p-value: 1.413e-15

24 Régression linéaire multiple Exemples:

25 Les tests statistiques les test du chi-deux

26 La fonction chisq.test(x,y,logical,p) Premier exemple: on lance un dé 300 fois et on obtient le résultat suivant: 1 2 3 4 5 6 43 49 56 45 66 41 x=c(43, 49, 56, 45, 66, 41) prob=rep(1/6,6) chisq.test(x,p=prob) ● Chi-squared test for given probabilities data: x X-squared = 8.96, df = 5, p-value = 0.1107

27 Second exemple sur un tableau de contingence Exemple d ’un tableau donnant la cécité en fonction du sexe: tab=matrix(c(442,514,38,6),nrow=2,byrow=TRUE) colnames(tab)=c("homme","femme") rownames(tab)=c("voyant","aveugle") homme femme voyant 442 514 aveugle 38 6

28 X2=chisq.test(tab,correct=FALSE) On teste s ’il y a une relation entre sexe et cécité (l ’hypothèse par défaut est celle d ’indépendance) Pearson's Chi-squared test data: tab X-squared = 27.1387, df = 1, p-value = 1.894e-07

29 attributes(x2) $names [1] "statistic" "parameter" "p.value" "method" "data.name" "observed" [7] "expected" "residuals" $class [1] "htest » par exemple:

30 x2$expected homme femme voyant 458.88 497.12 aveugle 21.12 22.88 valeurs attendues sous hypothèse d ’indépendance x2$residuals homme femme voyant -0.787994 0.7570801 aveugle 3.673039 -3.5289413 sum(x2$residuals^2) 27.13874 la somme des carrés des résidus est la valeur du chi-deux

31 Soit le tableau de contingence suivant: roux blond brun bleu 13 20 7 marron 24 10 18 le test du chi-deux d ’indépendance s ’effectue ainsi: chisq.test(m)

32 Pearson's Chi-squared test data: m X-squared = 10.0494, df = 2, p-value = 0.006574 on teste l ’hypothèse nulle suivante « H0:il y a indépendance entre la couleur des yeux et celle des cheveux »

33 Test sur une moyenne: prop.test() Pour comparer deux ou plusieurs proportions sur des échantillons de grande taille: prop.test(x, n, p = NULL,alternative = c("two.sided", "less", "greater"), conf.level = 0.95, correct = TRUE)

34 Classification

35 La fonction kmeans() Méthodes de type « nuées dynamiques »: on suppose que les individus sont des points de R^n muni de la distance euclidienne On recherche un partitionnement des individus en classes Variance des classes minimale (classes homogènes) Variance entre classes maximale Rappel : théorème de Huygens: la somme de l ’inertie interclasse et de l ’inertie intraclasse est constante (inertie = moyenne des carrés des distances au centre de gravité)

36 suite Exemple en dimension 2 sur le dataframe D PROB LECT CARR OPER SYNO PFB SUITE ANAL D70 T M s 1 4.52 1.92 0.93 1.94 1.20 0.08 2.05 1.99 1.37 16.01 1.78 1.21 2 1.50 0.77 0.43 -0.32 1.20 1.26 2.05 1.99 2.30 11.19 1.24 0.85 3 1.77 0.19 1.94 1.19 1.20 0.59 2.05 1.50 1.37 11.80 1.31 0.61 4 1.22 0.19 2.19 0.43 1.20 0.92 2.05 0.51 0.75 9.10 1.01 0.76 5 1.22 1.92 -0.83 1.56 0.64 0.08 1.76 1.01 0.44 7.82 0.87 0.88 6 0.68 0.39 -0.83 -0.32 1.20 -1.77 1.76 0.76 0.18 1.70 0.19 1.08 7 2.05 0.77 0.68 0.43 0.36 1.60 1.76 0.51 1.06 9.23 1.03 0.63 8 0.42 0.39 -0.57 1.56 0.36 -0.93 1.76 0.26 0.44 2.86 0.32 0.90 9 -0.15 -0.19 1.44 -0.32 0.64 0.76 1.76 0.02 1.37 5.34 0.59 0.79 10 -0.42 -0.19 -0.57 1.19 0.64 E=D[,c(1,2)] cl <- kmeans(E, 4, 20) (donne 4 sous-nuages) plot(E, col = cl$cluster) (tracé pour un objet de type résultat de la fct kmeans) points(cl$centers, col = 1:4, pch = 8)

37

38 Autre exemple data(airquality); a=airquality [,3:4] cl=kmeans(a,3,20) plot(a, col = cl$cluster) ;points(cl$centers, col = 1:4, pch = 8)

39

40 le résultat de la fct kmeans est une liste contenant :les composants suivants: cluster: un vecteur d’entiers indiquant la partition ( le sous-nuage) à laquelle est affecté chaque point centers: la matrice des centres des sous- nuages withinss: The within-cluster sum of squares for each cluster. size: le nombre de points dans chaque sous- nuage

41 La fonction hclust() ●

42 La fonction cutree() ●


Télécharger ppt "Cours 8 Les régressions linéaires. Les analyses statistiques avec R Modèles linéaires,lm() modèles linéaires généralisés,glm() analyse de variance, aov()"

Présentations similaires


Annonces Google