Le logiciel R. Documentations. http://cran.r-project.org/



Documents pareils
Plan. Notes de Cours sur le logiciel R. Documentations. Installation. Anne PHILIPPE. 26 septembre Documents sur le logiciel R :

Introduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011

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

Installation. Notes de Cours sur le logiciel R. Plan. Au démarrage

Introduction à la statistique non paramétrique

Lire ; Compter ; Tester... avec R

Une introduction. Lionel RIOU FRANÇA. Septembre 2008

Présentation du logiciel

Introduction aux Statistiques et à l utilisation du logiciel R

TABLE DES MATIERES. C Exercices complémentaires 42

Table des matières. I Mise à niveau 11. Préface

Tests d indépendance en analyse multivariée et tests de normalité dans les modèles ARMA

Introduction à MATLAB R

Cours 7 : Utilisation de modules sous python

PROBABILITES ET STATISTIQUE I&II

Évaluation de la régression bornée

Modèle de troncature gauche : Comparaison par simulation sur données indépendantes et dépendantes

Initiation au logiciel R

Programmes des classes préparatoires aux Grandes Ecoles

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

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

Simulation de variables aléatoires

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Lois de probabilité. Anita Burgun

La simulation probabiliste avec Excel

Introduction à l approche bootstrap

Fiche d utilisation du logiciel. 1 - Installation. J. Thioulouse & D. Chessel

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Analyse discriminante et régression logistique: application au cas de l innovation pour les entreprises du Canton du Tessin

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

TESTS PORTMANTEAU D ADÉQUATION DE MODÈLES ARMA FAIBLES : UNE APPROCHE BASÉE SUR L AUTO-NORMALISATION

Principe de symétrisation pour la construction d un test adaptatif

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

Tests non-paramétriques de non-effet et d adéquation pour des covariables fonctionnelles

Exemples d application

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

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Statistiques descriptives

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

Approche modèle pour l estimation en présence de non-réponse non-ignorable en sondage

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

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

Chapitre 3. Les distributions à deux variables

MÉTHODE DE MONTE CARLO.

FORMULAIRE DE STATISTIQUES

INTRODUCTION AU LOGICIEL R

Méthodes de Simulation

TP 1 Introduction à Matlab Février 2009

MODELE A CORRECTION D ERREUR ET APPLICATIONS

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

Statistiques Décisionnelles L3 Sciences Economiques & Gestion Faculté d économie, gestion & AES Université Montesquieu - Bordeaux

Probabilités III Introduction à l évaluation d options

Algebra & Trigonometry High School Level Glossary English / French

TP de Statistiques: Utilisation du logiciel R

IFT3245. Simulation et modèles

INTRODUCTION À L'ENVIRONNEMENT DE PROGRAMMATION STATISTIQUE R

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R

Pourquoi R devient incontournable en recherche, enseignement et développement

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

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

Analyse de la variance Comparaison de plusieurs moyennes

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

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Exemple PLS avec SAS

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI

UFR de Sciences Economiques Année TESTS PARAMÉTRIQUES

Exemples d Analyses de Variance avec R

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Approche par groupe de gènes pour les données longitudinales d expression génique avec une application dans un essai vaccinal contre le VIH

Une comparaison de méthodes de discrimination des masses de véhicules automobiles

Calcul Formel et Numérique, Partie I

Analyse exploratoire des données

STATISTIQUES. UE Modélisation pour la biologie

Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes

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

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.

Estimation: intervalle de fluctuation et de confiance. Mars IREM: groupe Proba-Stat. Fluctuation. Confiance. dans les programmes comparaison

(51) Int Cl.: H04L 29/06 ( ) G06F 21/55 ( )

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

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

Logiciel XLSTAT version rue Damrémont PARIS

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

$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU

LABO 5 ET 6 TRAITEMENT DE SIGNAL SOUS SIMULINK

PROJET MODELE DE TAUX

Calcul Formel et Numérique, Partie I

NON-LINEARITE ET RESEAUX NEURONAUX

Probabilités et Statistiques. Feuille 2 : variables aléatoires discrètes

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Que faire lorsqu on considère plusieurs variables en même temps?

Python - introduction à la programmation et calcul scientifique

Notes de cours Statistique avec le logiciel R

VI. Tests non paramétriques sur un échantillon

Économetrie non paramétrique I. Estimation d une densité

Corrigé des TD 1 à 5

Echantillonnage Non uniforme

Modélisation aléatoire en fiabilité des logiciels

TSTI 2D CH X : Exemples de lois à densité 1

Transcription:

Le logiciel R Université de Nantes, Laboratoire de Mathématiques Jean Leray Journées académiques 9 de l IREM des Pays de la Loire Nantes, le 9 juillet Email : Anne.philippe@univ-nantes.fr www.math.sciences.univ-nantes.fr/ philippe Le logiciel R a été créé par Robert Gentleman et Ross Ihaka. C est une implémentation gratuite de Splus. Le logiciel R est disponible sur le site Il eiste des versions Windows MacOS Linu. Outils disponibles : http://cran.r-project.org/ un langage de programmation orienté objet des fonctions de base des librairies complémentaires (8 sur le site CRAN) 9 juillet / 9 juillet / Documentations Initiation au logiciel R : www.math.sciences.univ-nantes.fr/ philippe/r.html Site consacré au graphiques addictedtor.free.fr/graphiques/ Collection spécifique UseR chez Springer Plus de 8 livres, par eemple Introductory Statistics With R Bayesian Computation With R Applied Statistical Genetics With R : Generalized Additive Models : An Introduction with R Etending the Linear Model With R Time Series Analysis And Its Applications : With R Eamples 9 juillet / 9 juillet /

Plan Objets Graphiques Statistique descriptive Tests Régression Eample Fonctions Vecteurs, Matrices, etc Listes : C est une structure qui regroupe des objets (pas nécessairement de même type). >rdn=list(serie=c(:),taille=,type="arithm") Cette liste contient un vecteur dans serie un scalaire dans taille une chaîne de caractères dans type... 9 juillet / Quelques fonctions usuelles 9 juillet / Les opérations + - / * sont des opérations terme à terme Idem por les fonctions : sqrt square root abs absolute value sin cos tan trigonometric functions (radians) ep log eponential and natural logarithm log common logarithm gamma lgamma gamma function and its natural log Eample Soit A = (a i,j ) t une matrice, ep(a) retourne une matrice constituée des éléments e a i,j. sum() (somme i i), prod() (produit i i), mean() (moyenne n n i= i ) ma(), min() length(), ncol(), nrow() Ces fonctions retournent un scalaire. cumsum() (sommes cumulées (, +,..., n i= i), cumprod() (produits cumulés), sort (tri), order, unique remarque : sort() = [order()] fft() (transformé de Fourier) Ces fonctions retournent un vecteur. 9 juillet 7 / 9 juillet 8 /

Structures de contrôles et Itérations Importer/eporter des données Instructions conditionnelles if (condition) {instructions} if (>) y=*log() else y= Itérations > for ( i in :) {... } > while (i< ) {...} > repeat {... ; if (i> ) break } Importer une suite : =scan("data.dat") : pour créer un vecteur à partir de données stockées dans un fichier, ici data.dat. Importer un tableau : =read.table("data.dat") Eporter : write, write.table Importer / eporter au formats des différents logiciels commerciau (SAS, matlab, minitab SPSS etc ) La fonction apply() permet d effectuer des opérations sur les lignes ou les colonnes d une matrice. 9 juillet 9 / Créer des fonctions 9 juillet / Eemple La structure générale d une fonction est >myname=function(liste_des_paramètres) { commandes list(variables-retournées-par la fct) } Les accolades { et } définissent le début et la fin de la fonction. La dernière instruction contient le nom de l objet retourné par la fonction. On peut donner des valeurs par défaut au paramètres >PF = function(n) { u=runif(n) #nb aléatoire suivant Unif(,) pf=(u>/) freq=sum(pf)/n list(pile.face=pf, size=n, freq.pile=freq)} } >PF() $pile.face [] TRUE TRUE TRUE FALSE FALSE $size [] $freq.pile []. 9 juillet / 9 juillet /

Graphiques Graphiques Plan Fonction centrale plot Le graphique produit par la fonction plot() dépend de la classe de l objet. Graphiques Statistique descriptive Tests Régression > methods(plot) [] plot.acf* plot.add plot.data.frame* [] plot.date* plot.decomposed.ts* plot.default [7] plot.dendrogram* plot.density plot.ecdf [] plot.factor* plot.formula* plot.hclust* [] plot.histogram* plot.holtwinters* plot.isoreg* [] plot.ker plot.lm plot.medpolish* [9] plot.mlm plot.posixct* plot.posixlt* [] plot.ppr* plot.prcomp* plot.princomp* [] plot.profile.nls* plot.spec plot.spec.coherency [8] plot.spec.phase plot.stepfun plot.stl* [] plot.table* plot.ts plot.tskernel* 9 juillet / Graphiques plot( ) 9 juillet / Graphiques demo(graphics) plot(... ) pie(... ) boplot(... ) plot(cars) plot(sin, -pi, *pi) dist 8 sin () -. -.... - - - Simple Use of Color In a Plot A Sample Color Wheel 8 7 9 7 8 9 speed Just a Whisper of a Label (Use this as a test of monitor linearity) table(rpois(, )) plot(table(rpois(,))) plot(, type = "s") <- sort(rnorm(7)) - 7 8 9 January Pie Sales Cherry Blueberry Apple Vanilla Cream Other Boston Cream - Notched Boplots Inde 7 8 9 (Don't try this at home kids) Group 9 juillet / 9 juillet /

y Graphiques z y Graphiques polygon(,y,..) plot(... ) hist(..) biplot : pairs(matrice,...) Distance Between Brownian Motions. The Level of Interest in R Edgar Anderson's Iris Data.......... Distance -... Sepal.Length... 7. 8 Time. Jan Mar May Jul Sep Nov 99..... Sepal.Width Frequency Normal Random Variates..... Petal.Length Petal.Width 7 - -... 7. 7 9 juillet 7 / Graphiques contour(, y, matrice... ) image( ) persp( ) 9 juillet 8 / Statistique descriptive Plan Maunga Whau Volcano z y Graphiques Statistique descriptive 7 8 Tests Régression 9 juillet 9 / 9 juillet /

Statistique descriptive Statistique descriptive Statistique descriptive pour les donne es islands histogramme boplot data : sqrt(islands) 8 > mean() [].7 > var() [] 9.8 > quantile(,c(.,.,.7)) % % 7%.797.99.7 Antarctica Asia 988 Ael Heiberg Baffin 8 Borneo Britain 8 8 Celon Cuba Ellesmere Europe 8 7 Hainan Hispaniola Honshu Iceland 89 Java Kyushu 9 Madagascar Melville 7 Moluccas New Britain 9 New Zealand (N) New Zealand (S) 8 North America Novaya Zemlya 99 Sakhalin South America 9 79 Spitsbergen Sumatra 8 Tasmania Tierra del Fuego 9 9 juillet / Vancouver Victoria 8 Asia Africa North America South America Antarctica Europe Australia Greenland New Guinea Borneo Madagascar Baffin Sumatra Honshu Britain Victoria Ellesmere Celebes New Zealand (S) Java New Zealand (N) Newfoundland Cuba Luzon Iceland Mindanao Ireland Novaya Zemlya Hokkaido Hispaniola Sakhalin Moluccas Tasmania Celon Banks Devon Tierra del Fuego Southampton Melville Ael Heiberg Spitsbergen New Britain Taiwan Kyushu Timor Prince of Wales Hainan Vancouver Africa Australia 98 Banks Celebes 7 Devon Greenland 8 Hokkaido Ireland Luzon Mindanao New Guinea Newfoundland Prince of Wales Southampton Taiwan Timor Statistique descriptive islands data: area (sq. miles) Les donne es Island Statistique descriptive 9 juillet / histogramme : le choi du nombre de classes NON - equidistant breaks Normal Random Variates 8 sqrt(islands)... 8. On simule un e chantillon suivant la loi gaussienne de taille On trace l histogramme pour diffe rentes valeurs du nombre de classes. On compare l histogramme avec la densite the orique de loi gaussienne (courbe en rouge)........ 9...... equidistant breaks - - sqrt(islands) - - 8. - - hist(sqrt(islands), breaks = ) hist(sqrt(islands), breaks = c(*:, *:, 7,, )) hist(sqrt(islands), breaks = c(*:, *:, 7,, ),freq=true).. - sqrt(islands)...... Frequency. WRONG histogram 9 juillet / - hist(, nclass= ) ou hist() par de faut le nombre de classes est optimise pour des e chantillons gaussiens 9 juillet /

Statistique descriptive Estimation de la densité par l estimateur à noyau Plan On compare sur des données simulées suivant la loi gaussienne deu estimateurs de la densité (hist / density) avec la densité théorique de la loi... Histogram of dat Graphiques Statistique descriptive... - - - dat density.default( = dat) #calcul de l estimateur >hist(dat) > y=density(dat) > plot(y) Tests Régression - - N = Bandwidth =.79 9 juillet / Généralités 9 juillet / Quelques lois disponibles Soit X une variable aléatoire de loi P X { A P(X = ) loi discrète P X (A) = P(X A) = A f ()ḍ loi continue Pour les lois classiques, des fonctions R eistent pour calculer { P(X = ) pour les lois discrètes la densité f () pour les lois continues la fonction de répartition F () = P(X ) les quantiles F (u) = inf{ : F () u} simuler des nombres aléatoires suivant la même loi que X. Lois discrètes Loi binomiale (n,p) Loi hypergéométrique (N,n,k) Loi de Poisson (a) Loi géométrique (p) Loi à support fini {(a i, p i ), i =...m} Lois continues Loi Gaussienne (m,σ ) Loi uniforme sur [a, b] Loi de Student à ν degrés de liberté Loi du χ à ν degrés de liberté binom hyper pois geom sample norm unif t chisq 9 juillet 7 / 9 juillet 8 /

Autour des lois de probabilite s Autour des lois de probabilite s Simuler le re sultat d un de a faces - -...8 OO lancers. u..... rnorm() qnorm(u) - -. random values quantile function. table() - =TRUE) pnorm() -.....8. cdf..... dnorm() Gaussian N(,) distribution density > = sample((:),,replace > [] [] [7] [7] [9] > table() 7 7 9 > plot(table()) dnorm(,,) : densite au point pnorm(,,) : fonction de re partition au point qnorm(α,,) : quantile d ordre α rnorm(n,,) : e chantillon de taille n Eemple : loi gaussienne de moyenne et de variance 8 Inde Autour des lois de probabilite s 9 juillet 9 / Comportement asymptotique des fre quences empiriques Autour des lois de probabilite s 9 juillet / 9 juillet / Sondages On conside re les re sultats des e lections europe ennes lancer=function(n) { = sample((:),n,replace =TRUE) plot(table(),,lwd=) ; abline(h=n/,lwd=) } résultats des elections 7.9 8.. table() table(). 8 8 nb de lancers...8 table() nb de lancers prob. nb de lancers nb de lancers nb de lancers table() > > > > > 8 candidat table() table() nb de lancers 8 prob=c(7.9,.,., 8.,.,,.,,.,.8) plot(prob,type="h",lwd = ) points(prob ) title( re sultats des elections ) tet(:,prob+.,prob,col="red") 9 juillet /

Simuler les résultats d un sondage Erreur d estimation des proportions erreur sur un sondage de taille On simule un échantillon de taille suivant la loi multinomiale > prob=c(7.9,.,., 8.,.,,.,,.,.8) > size = > (Sondage = rmultinom(, size, prob/) ) -. -. -.... 8 candidat [,] [,] [,] [,] [,] [,] [,7] [,8] [,9] [,] [,] 9 7 89 8 Classement estimé classement des candidats Estimation par les fréquences empiriques > estimation = Sondage /size* [,] [,] [,] [,] [,] [,] [,7] [,8] [,9] [,] [,] 9.. 7. 8.9.....8 classements 8 8 candidats 9 juillet / Second tour d une élection présidentielle : A % contre B 9% 9 juillet / Résultat des sondages simulés : estimation du score de A Quel est la probabilité d annoncer le candidat gagnant en réalisant un sondage sur un échantillon de taille? Le résultat d un sondage est obtenu en simulant un nombre aléatoire suivant la loi binomiale (,.) On simule les résultats de N sondages =rbinom(n,,.) On calcule la fréquence de l événement X>.8....7.9 sondage y = (>) sum(y)/length(y).7 7 % des sondages donnent A gagnant 9 juillet / 9 juillet /

on augmente la taille de l échantillon On change Sondage sur des échantillons de taille.9.....9 estimation du score de A.9.88 sondage Sondage sur des échantillons de taille.9...... estimation du score de A.98. 9 juillet 7 / sondage Plan Tests les résultats les résultats sont % contre 7 % les sondages sont réalisés sur des échantillons de taille.8.....8 estimation du score de A.9.8 sondage 9 juillet 8 / 9 % des sondages donnent A gagnant Tests classiques : Tests Test sur la moyenne : test de Student Graphiques Statistique descriptive Tests Régression t.test(,mu=,alt="two.sided") t.test(,y,alt="less", conf=.9) Test sur la variance var.tet(,y) cor.test(,y) Bo.test(z, lag = ) Test χ chisq.test(,y) chisq.test() Test d ajustement ks.test(,"pnorm") ks.test(,y) shapiro.test() # comparaison variance # non correlation #non correlation #independance #ajustement à une loi donnée #normalité K-S # m^eme distribution #normalité 9 juillet 9 / 9 juillet /

- - N = Bandwidth =. - - - N = Bandwidth =.7 - - - N = Bandwidth =. Tests Eemple : Test de Student t.test() Tests Test d ajustement du χ : lancer d un dé X,..., X n iid N (, ) nb de lancers lancers Y,..., Y m iid Epo() Test H : E(X ) = E(Y ) vs H : E(X ) E(Y ) > = rnorm(,,) > y = rep(,) > t.test(,y) Welch Two Sample t-test data: and y t = -.78, df = 78., p-value =.878 alternative hypothesis: true difference in means is not equal to 9 percent confidence interval: -.89.8 sample estimates: mean of :.97 mean of y :.9879 table() table() 8 8 nb de lancers >tab = table(de) 7 8 >chisq.test(tab) Chi-squared test for given probabilities data: table(de) X-squared =., df =, p-value =.77 lancers 8 8 9 8 7 8 Chi-squared test for given probabilities data: table() X-squared =.7, df =, p-value =.8 9 juillet / Tests Test d ajustement à une gaussienne 9 juillet / Tests Test de normalité. n =,, On simule une loi normale en utilisant le TCL sur des variables iid suivant la loi uniforme. Méthode de simulation non eacte... One-sample Kolmogorov-Smirnov test data: X D =.8, p-value =.8 Shapiro-Wilk normality test data: X W =.9, p-value <.e- U = U,..., U n iid suivant la loi uniforme n(ūn ) X N(, ) Ū n = n n i= U i data: X D =., p-value =. data: X D =.9, p-value =.9 data: X W =.99, p-value =.9e- data: X W =.997, p-value =. Le générateur s écrit n= n= n= simu<-function(size,n) { y = matri(runif(n*size),ncol=n) (apply(y,,mean)-/)*sqrt(n*) }............... 9 juillet / 9 juillet /

Plan Régression Régression linéaire Régression Lien linéaire entre les variables et Y Graphiques Statistique descriptive Tests Régression Y i = a i + b + ɛ i où (ɛ i ) i est une suite de variables aléatoires iid, centrées et L. Pour réaliser une régression linéaire, par la méthode des moindres carrés, on utilise la fonction lm : Si les données sont sous la forme de vecteurs X et Y (de même taille) r=lm(y~x) Call: lm(formula = Y ~ X) Coefficients: (Intercept) X.8. 9 juillet / Régression plot(x,y) plot(r$residual, type="h") abline(r) 9 juillet / Régression Ajustement polynomial : r=lm(y poly(x,deg))) qqnorm(r$residual) abline(,) acf(r$residuals) deg = deg = Y r$residual - - dist 8 speed dist 8 speed deg = deg = X Inde Sample Quantiles - - Normal Q-Q Plot - - Theoretical Quantiles ACF -....8 Series r$residuals 8 9 juillet 7 / Lag dist 8 speed dist 8 speed plot(cars) 9 juillet 8 /

Généralisation Régression Conclusion Régression régression multiple lm(v v + v + v) régression linéaire généralisée glm sélection de modèles, anova approche non paramétrique par noyau lissage polynômes locau Peut on utiliser R pour l enseignement? Difficulté : Langage à apprendre Solutions : proposer des fonctions boite noire utiliser des librairies avec interface graphique Eemple : la librairie Rcmdr 9 juillet 9 / 9 juillet /