25
Cours 6 : Les statistiques avec R XVII- Généralités XVIII- Les formules XIX- Les sorties XX- Les fonctions génériques XX- Les fonctions génériques

XVII-Généralités XVIII-Les formules XIX-Les sorties XX

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

Cours 6 : Les statistiques avec R

XVII- Généralités

XVIII- Les formules

XIX- Les sorties

XX- Les fonctions génériquesXX- Les fonctions génériques

Page 2: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XVII- Généralités

Fonctions d’analyse statistique disponibles

� Package « stats » : contient les fonctions d'analyse statistique classiques (tests d’hypothèses classiques, modèles linéaires, distributions, résumés statistiques, séries temporelles, analyses multivariées). Il est chargé au démarrage. Accessibles avec library(help="stats")

� Packages spécifiques : d'autres packages de méthodes statistiques sont disponibles, distribués avec R ou à télécharger.

Exemples :

class : fonctions pour classificationboot : fonctions bootstrapstats4: fonctions stats utilisant S4survival : analyse de survie

Page 3: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XVII- Généralités

� Quelques fonctions dans « stats »:

ModélisationSSlogis Modèle logistiqueaov Analyse de varianceglm Modèles linéaires généraliséslm Modèles linéairesmanova Analyse de variance multivariéeksmooth Kernel Regression Smootherksmooth Kernel Regression Smootherstep Choix d’un modèle par l’algorithme Stepwise

Tests bartlett.test Test de Bartlett d’homogénéité de variancesbinom.test Test Binomial exactchisq.test Test du Chi2cor.test Test d’ Association/Correlation t.test t-Test de Student de comparaison de moyennesvar.test F Test de Fisher de comparaison de Varianceswilcox.test Test de rang de Wilcoxonks.test Tests de Kolmogorov-Smirnov

Page 4: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XVII- Généralités

Estimation

density Estimation de densité par noyauxecdf Fonction de répartition empirique

Analyse des donnéeshclust Classifications hiérarchiqueshclust Classifications hiérarchiqueskmeans Classifications par partitionnementprincomp Analyse en composantes principalesprccomp Analyse en composantes principalesdist Calcul de matrices de distance

Page 5: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XVIII- Les formules

� Syntaxe des principales fonctions : les formules

� Certaines fonctions statistiques (en particulier les fonctions de modélisation) travaillent sur des formules (?formula):

fonction (formula=, data =…)

formula= de type réponse ~ prédicteursdata= tableau de données éventuel dans lequel se trouvent

les variables dans la formule.

réponse = variable à expliquerpredicteurs=ensemble des variables explicatives, séparées par des symboles arithmétiques qui ont ici une signification particulière.

Page 6: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XVIII- Les formules

� Exemple de formules :

y~a : prédicteur ay~a+b : prédicteurs a et by~M : autant de modèles que de predicteurs dans M (matrice)y ~ x - 1 ( ou y ~ 0 + x) : modèle sans terme constant. y~log(b)y~log(b)y ~ a + I(b+c) : predicteurs a et (b+c)

y~a:b : interactions de a et by~a*b : a+b+a:b effets principaux et interaction entre a et by~(a+b)^2 : effets principaux a et b et interactions du second ordre

a+b+a:by=a*b-a:b : a+b

Page 7: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XVIII- Les formules

� Exemples de fonctions travaillant sur des formules

Exemple 1 : Régression linéaire simple (RLS) de y sur x ( x et y quantitatives)>x=sample(s,200,replace=TRUE);y=3+7*x+rnorm(200,0,100)

> regression=lm(y~x)Exemple 2 : Régression linéaire multiple (RLM) de la fertilité sur l’éducation

et la mortalité infantile (toutes les variables sont quantitatives)et la mortalité infantile (toutes les variables sont quantitatives)> data(swiss)>fit = lm(Fertility~ Education+Infant.Mortality,swiss)

Exemple 3 : Analyse de variance à un facteur. Ici, analyse de l’effet du facteur insecticide à 6 niveaux (spray) sur la réponse nombre d’insectes (count), basée sur l’observation de 12 cultures, tour à tour pulvérisées par les 6 insecticides (la réponse est quantitative, le facteur est un facteur)

> data(InsectSprays) >anov=aov(sqrt(count) ~ spray, data = InsectSprays);anov

Page 8: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XVIII- Les formules

� Autres syntaxes : D’autres fonctions travaillent sur des matrices, des vecteurs ou des data.frame (tests statistiques, analyse des données)

Page 9: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XVIII- Les formules

� Exemples de fonctions ne travaillant pas sur les formules

Exemple 4 : Test du chi2 : On veut tester le lien existant entre de variables qualitatives X et Y à partir d’un échantillon sous forme de table de contingence (de croisement)

>O=matrix(c(442,514,38,6),nrow=2,byrow=TRUE)

> colnames(O)=c("homme","femme"); rownames(O)=c("voyant","aveugle") > colnames(O)=c("homme","femme"); rownames(O)=c("voyant","aveugle") X2=chisq.test(O,correct=FALSE)

Exemple 5 : Test de student : on veut tester l’egalité entre deux moyennes au vu d’un échantillon de chaque sous-population x= (X1, . . . , Xn1) et y=(Y1, . . . , Yn2) :

>x = rnorm(100,1,1); y = rexp(200,1)

>st=t.test(x,y) #Test de student (resp. de Welch) d’égalité de moyennes si variances des #variables égales (resp. diff érentes)

>x = rnorm(100,1,1); #avec sous populations identifiées par un facteur à deux niveaux

>z=rep(c(T,F),50) # de stratification

>st2=t.test(x~z)

Page 10: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XIX- Les Sorties

� Pour afficher un bref résumé de l’analyse , taper le nom de l’objet créé par la fonction:

>regression #exemple 1Call:lm(formula = Y ~ X)

Coefficients: (paramètres estimés)(Intercept) X

Paramètres estimés.Droite de régression :

10.91 30.53y x= −

(Intercept) X -30.53 10.91

>anovCall: aov(formula = sqrt(count) ~ spray, data = InsectSpr ays)Terms: (table d’analyse variance)

spray ResidualsSum of Squares 88.43787 26.05798Deg. of Freedom 5 66Residual standard error: 0.6283453Estimated effects may be unbalanced

Somme des carrés intra-classe

Somme des carrés inter-classes (résiduels)

Ecart-type estimé des résidus

Nbre de degres de libertés

Page 11: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XIX- Les Sorties

> X2

Pearson's Chi-squared test

data: tab

X-squared = 27.1387, df = 1, p-value = 1.894e-07

Valeur de la statistique de test du chi2

P(X>X-squared )P(X>X-squared )X v.a. de loi X² (1)

Page 12: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XIX- Les Sorties

> st

Welch Two Sample t-test

data: x and y

t = -0.2178, df = 178.446, p-value = 0.8278

alternative hypothesis: true difference in means is not equal to

Test t pour variances inégales

P(T>t )T v.a. de loi T(178.446)

0

95 percent confidence interval:

-0.2648092 0.2121608

sample estimates: mean of x : 0.9544127 mean of y : 0.9807369

et x y

Page 13: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XIX- Les Sorties

� Les fonctions statistiques de R retournent un objet de classe

empruntée au nom de la fonction (aov retourne un objet de classe "aov", lm retourne un objet de classe "lm" , les tests retournent des objets de classe "htest " ).

� Cet objet contient les résultats de l’analyse. C’est généralement une � Cet objet contient les résultats de l’analyse. C’est généralement une liste dont l'affichage est déterminé par sa classe (aov() et lm()produisent des listes différentes).

� On peut regarder les éléments de l'objet liste crée et afficher les noms de la liste associée par les fonctions attributes() et names().

Page 14: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XIX- Les Sorties

>names(regression) #ou names(fit)

[1] "coefficients" "residuals" "effects" "rank"

[5] "fitted.values" "assign" "qr" "df.residual"

[9] "xlevels" "call" "terms" "model" [9] "xlevels" "call" "terms" "model"

> names(anov)

[1] "coefficients" "residuals" "effects" "rank"

[5] "fitted.values" "assign" "qr" "df.residual"

[9] "contrasts" "xlevels" "call" "terms" "model"

Page 15: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XIX- Les Sorties

>attributes(X2)

$names

[1] "statistic" "parameter" "p.value" "method" "data.name" "observed"

[7] "expected" "residuals"

$class

[1] "htest

Page 16: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XIX- Les Sorties

� Pour extraire les éléments de la liste , on utilise les fonctions du même nom que ces éléments :

>coefficients(fit) # ou fit$coefficients #coefficients de la regression

(Intercept) Education Infant.Mortality 48.8212736 - 0.8166573 1.5187190 48.8212736 - 0.8166573 1.5187190

>regression$residuals #ou residuals(regression) #residus observés

1 2 3 4 5 6 -123.946168 191.916329 -208.535569 64.916267 133.420840 84.429343

7 8 9 10 11 12 62.864581 46.774152 59.915367 -57.501492 -124.808049 166.122648

13 14 15 16 17 18 -31.454873 68.544191 15.157573 -84.833735 -8.562422 -85.613688

19 20 21 22 23 24 -23.749085 -90.788796 50.403354 39.877642 -53.584722 8.778597

25 26 27 28 29 30 1.148411 94.606969 28.210454 21.132875 -162.464691 -82.376306

Page 17: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XIX- Les Sorties

> X2$expected #tableau des effectifs théoriques

homme femme

voyant 458.88 497.12

aveugle 21.12 22.88

>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

Page 18: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XX- Les fonctions génériques

� Certaines fonctions sont aussi utilisées pour extraire les résultats désirés : les fonctions génériques.

� Elles agissent spécifiquement en fonction de la classe de l'objet.

� Les fonctions génériques ont une syntaxe unique pour tous les cas.

Page 19: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XX- Les fonctions génériques

� Principales fonctions génériques permettant d'extraire des informations d'un objet qui résulte d'une analyse:

print() : retourne un résumé succint de l’analysesummary() : retourne un résumé détaillé de l’analysedf.residual() : retourne le nombre de degrés de libertés du résiducoef (): retourne les coefficients estimés avec parfois leurs erreurs-standardcoef (): retourne les coefficients estimés avec parfois leurs erreurs-standardresiduals() : retourne les résidusfitted() : retourne les valeurs ajustées par le modèlelogLik() : calcule la vraisemblance et le nombre de paramètres d’un modèleAIC() : calcule le critère d’information d’Akaikeanova():table d’analyse de la varianceplot() : graphique adapté à l’analyse. Résidus du modèle pour modélisation.

Page 20: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XX- Les fonctions génériques

� Exemple : summary() permet d'afficher un résumé détaillé de l’analyse, spécifique à la classe de l’objet.

> apropos("^summary")

[ 1] "summary.aov" "summary.aovlist" "summary.glm" [ 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"

>

Page 21: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XX- Les fonctions génériques

> summary(regression)Call:lm(formula = Y ~ X)

Residuals:Min 1Q Median 3Q Max

-206.89 -76.47 12.28 61.42 192.04 Tests de student de nullité des

coefficients

Coefficient de détermination(=r² )

Coefficients:Estimate Std. Error t value Pr(>|t|)

(Intercept) -30.2553 34.3536 -0.881 0.386 X 7.4199 0.5869 12.642 4.31e-13 ** *---Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '. ' 0.1 ' ' 1

Residual standard error: 96.41 on 28 degrees of fre edomMultiple R-Squared: 0.8509, Adjusted R-squared: 0.8456 F-statistic: 159.8 on 1 and 28 DF, p-value: 4.312e -13

coefficients

Test de fisher de

Significativite du

modèle

Ecart-type résiduel et nombre

de dl des residus (n-2)

Page 22: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XX- Les fonctions génériques

>summary(anov)

Df Sum Sq Mean Sq F value Pr(>F)

spray 5 88.438 17.688 44.799 < 2.2e-16 ***

Residuals 66 26.058 0.395

---

Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1

Somme des carrés inter-classe

Variance inter-classe

Test de Fisher de significativité du modèle

Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1

Somme des carrés intra-classe

Variance intra-classe

Page 23: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XX- Les fonctions génériques

� Exemple : plot() retourne des graphes choisis pour l’analyse en question

>apropos("^plot")

[1] "plot.density" "plot.ecdf" "plot.lm" [1] "plot.density" "plot.ecdf" "plot.lm"

[4] "plot.mlm" "plot.spec" "plot.spec.coherency"

[7] "plot.spec.phase" "plot.stepfun" "plot.ts"

[10] "plot.TukeyHSD" "plot" "plot.default"

[13] "plot.design" "plot.new" "plot.window"

[16] "plot.xy"

Page 24: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

XX- Les fonctions génériques

> par(mfrow=c(2,2))

> plot(anov)

Page 25: XVII-Généralités XVIII-Les formules XIX-Les sorties XX

> par(mfrow=c(2,2))> plot(anov)