• Aucun résultat trouvé

XX- Les fonctions génériques

N/A
N/A
Protected

Academic year: 2022

Partager "XX- Les fonctions génériques"

Copied!
25
0
0

Texte intégral

(1)

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

(2)

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 classification boot : fonctions bootstrap

stats4: fonctions stats utilisant S4

survival : analyse de survie

(3)

XVII- Généralités

Quelques fonctions dans « stats »:

Modélisation

SSlogis Modèle logistique aov Analyse de variance

glm Modèles linéaires généralisés lm Modèles linéaires

manova Analyse de variance multivariée ksmooth Kernel Regression Smoother ksmooth Kernel Regression Smoother

step Choix d’un modèle par l’algorithme Stepwise Tests

bartlett.test Test de Bartlett d’homogénéité de variances binom.test Test Binomial exact

chisq.test Test du Chi2

cor.test Test d’ Association/Correlation

t.test t-Test de Student de comparaison de moyennes var.test F Test de Fisher de comparaison de Variances wilcox.test Test de rang de Wilcoxon

ks.test Tests de Kolmogorov-Smirnov

(4)

XVII- Généralités

Estimation

density Estimation de densité par noyaux ecdf Fonction de répartition empirique Analyse des données

hclust Classifications hiérarchiques hclust Classifications hiérarchiques

kmeans Classifications par partitionnement princomp Analyse en composantes principales prccomp Analyse en composantes principales dist Calcul de matrices de distance

(5)

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édicteurs

data= tableau de données éventuel dans lequel se trouvent les variables dans la formule.

réponse = variable à expliquer

predicteurs=ensemble des variables explicatives, séparées par des

symboles arithmétiques qui ont ici une signification particulière.

(6)

XVIII- Les formules

Exemple de formules : y~a : prédicteur a

y~a+b : prédicteurs a et b

y~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 b

y~a*b : a+b+a:b effets principaux et interaction entre a et b

y~(a+b)^2 : effets principaux a et b et interactions du second ordre a+b+a:b

y=a*b-a:b : a+b

(7)

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

(8)

XVIII- Les formules

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

données)

(9)

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)

(10)

XIX- Les Sorties

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

>regression #exemple 1 Call:

lm(formula = Y ~ X)

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

Paramètres estimés.

Droite de régression : 10.91 30.53 y = x

(Intercept) X -30.53 10.91

>anov Call:

aov(formula = sqrt(count) ~ spray, data = InsectSprays) Terms: (table d’analyse variance)

spray Residuals Sum of Squares 88.43787 26.05798 Deg. of Freedom 5 66

Residual standard error: 0.6283453 Estimated 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

(11)

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)

(12)

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

(13)

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().

(14)

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"

(15)

XIX- Les Sorties

>attributes(X2)

$names

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

[7] "expected" "residuals"

$class

[1] "htest

(16)

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

(17)

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

(18)

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.

(19)

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’analyse

summary() : retourne un résumé détaillé de l’analyse

df.residual() : retourne le nombre de degrés de libertés du résidu

coef (): retourne les coefficients estimés avec parfois leurs erreurs-standard coef (): retourne les coefficients estimés avec parfois leurs erreurs-standard residuals() : retourne les résidus

fitted() : retourne les valeurs ajustées par le modèle

logLik() : calcule la vraisemblance et le nombre de paramètres d’un modèle AIC() : calcule le critère d’information d’Akaike

anova():table d’analyse de la variance

plot() : graphique adapté à l’analyse. Résidus du modèle pour modélisation.

(20)

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"

>

(21)

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 freedom

Multiple 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)

(22)

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

(23)

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"

(24)

XX- Les fonctions génériques

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

> plot(anov)

(25)

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

> plot(anov)

Références

Documents relatifs

toutes les dérivées partielles de f sont identiquement nulles sur U

Au cours de ses études sur les groupes, Émile Picard a été amené à former des fonctions de deux variables qui restent inaltérées pour toutes les

formule analogue pour les durées d’attente moyennes, en des expressions susceptibles d’être évaluées numériquement sans trop de difficultés. est régulière à

— La classe Q^ est quasi-analytique dans le sens que chaque fonction appartenant à cette classe est déterminée d'une façon unique sur tout Vaxe réel par ses valeurs sur I' 1

— Dans ce travail nous étudions certaines classes de fonctions qui contiennent en particulier les fonctions de type positif usuelles définies sur un groupe localement compact et

{Mn} étant une suite (S^), E u n ensemble donné de nombres positifs, C^M^est l'ensemble des fonctions presque périodiques dont les exposants de Fourier À sont tels que X ] € E, qui

On obtient alors pour/(^) et cp(s) des développements conduisant à des expres- sions définies pour toute valeur de a, mais les fonctions uniformes y(^) et y (s) ainsi obtenues ne

Représentation graphique : La représentation graphique d'une fonction linéaire est une droite qui passe par l'origine du repère et par le point de coordonnées..