T. P. n o 1 Simulation de lois avec le logiciel R



Documents pareils
Initiation au logiciel R

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

1 Introduction - Qu est-ce que le logiciel R?

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

Initiation à l analyse en composantes principales

Lire ; Compter ; Tester... avec R

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

Commun à tous les candidats

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

TP 1. Prise en main du langage Python

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Présentation du logiciel

Leslie REGAD ; Gaëlle LELANDAIS. leslie.regad@univ- paris- diderot.fr ; gaelle.lelandais@univ- paris- diderot.fr

Moments des variables aléatoires réelles

Cours 1. I- Généralités sur R II- Les fonctions de R et autres objets III-Les vecteurs

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

Introduction à MATLAB R

R00 Installation du logiciel R sous Windows

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

Notes de cours Statistique avec le logiciel R

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

Aide - mémoire gnuplot 4.0

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

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

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

Simulation de variables aléatoires

Amphi 3: Espaces complets - Applications linéaires continues

Optimiser ses graphiques avec R

Competence Management System (Système de Gestion de Compétences)

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

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

Introduction à Eclipse

Lois de probabilité. Anita Burgun

La place de SAS dans l'informatique décisionnelle

TP1 : Initiation à l algorithmique (1 séance)

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

Le langage C. Séance n 4

Maple: premiers calculs et premières applications

La base de données XML exist. A. Belaïd

Une introduction au langage R

Introduction à la présentation graphique avec xmgrace

Programmation Web. Madalina Croitoru IUT Montpellier

Travaux dirigés d introduction aux Probabilités

MANIPULATION ET VISUALISATION DE GROSSES BASES DE DONNÉES AVEC R

3 Approximation de solutions d équations

Probabilités III Introduction à l évaluation d options

EXERCICE 4 (7 points ) (Commun à tous les candidats)

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

Installation et configuration de base de l active Directory

FORMULAIRE DE STATISTIQUES

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

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

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Manuel d utilisateur BilanKine Version 1.5

Installation et prise en main

Extraction d information des bases de séquences biologiques avec R

La simulation probabiliste avec Excel

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

TP Blender n 2 : Importation d un modèle SketchUp et animation

TP de Statistiques: Utilisation du logiciel R

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

BTS Groupement A. Mathématiques Session Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

Leçon N 4 : Statistiques à deux variables

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

Exemple d application en CFD : Coefficient de traînée d un cylindre

TD/TP 1 Introduction au SDK d Android

Chapitre 3. Les distributions à deux variables

TP 1 Introduction à Matlab Février 2009

Principe de fonctionnement du lanceur d'application "AdisTlsStartCfgLotus"

Programmes des classes préparatoires aux Grandes Ecoles

SOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le

Dérivation : Résumé de cours et méthodes

Ne pas prêter son compte à quelqu un d autre : les comptes informatiques sont strictement personnels.

Cours de Probabilités et de Statistique

TD : Codage des images

Les possibilités de paramétrage réseau des logiciels de virtualisation sont les suivantes quant à la connexion réseau :

Mode d emploi du Bureau Virtuel (BV) à destination des étudiants en Formation À Distance (FAD)

FileMaker Server 14. Guide de démarrage

EES : Engineering Equation Solver Fiche récapitulative - Marie-Sophie Cabot

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

Utilisez Toucan portable pour vos sauvegardes

Probabilités sur un univers fini

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

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

KeePass - Mise en œuvre et utilisation

Limites finies en un point

Actuariat I ACT2121. septième séance. Arthur Charpentier. Automne charpentier.arthur@uqam.ca. http ://freakonometrics.blog.free.

Calcul Formel et Numérique, Partie I

TD séance n 2c Mise à jour des Systèmes

Présentation du tableau blanc interactif Interwrite

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

OPTION SCIENCES BELLE-ISLE-EN-TERRE


4 Distributions particulières de probabilités

Méthode de Monte Carlo pour le calcul d'options

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Bases de données élémentaires Maude Manouvrier

Transcription:

T. P. n o 1 Simulation de lois avec le logiciel R Introduction : Qu est ce que R? R est un logiciel permettant de faire des analyses statistiques et de produire des graphiques. Nous allons utiliser R dans ce cours comme une boîte à outils pour faire des analyses statistiques que nous allons étudier dans le cours. Mais R est également un langage de programmation complet. C est cet aspect qui fait que R est différent des autres logiciels statistiques. Les informations sur R sont disponibles sur la homepage du projet : http ://www.r-project.org/ C est le premier résultat pour la recherche de la lettre R avec le moteur de recherche google et la meilleure source d informations sur le logiciel R. Vous pourrez y trouver les différentes distributions du logiciel, de nombreuses bibliothèques de fonctions et des documents d aide. Enfin, R est un clône gratuit du logiciel S-Plus commercialisé par MathSoft et développé par Statistical Sciences autour du langage S (conçu par les laboratoires BELL). Notre objectif pendant les travaux pratiques Apprendre à manipuler les données Apprendre à faire des graphiques Apprendre à utiliser la documentation et le système d aide Et bien sûr apprendre les bases du langage. Remarques d ordre général, valable pour tous les T.P. : Bien sûr il existe une version française de R. R fonctionne avec plusieurs fenêtres sous Windows. En particulier, nous distinguons la fenêtre «R Console», fenêtre principale où sont réalisées par défaut les entrées de commandes et sorties de résultats en mode texte. À celle-ci peuvent s ajouter un certain nombre de fenêtres facultatives, telles que les fenêtres graphiques et les fenêtres d informations (historique des commandes, aide, visualisation de fichier, etc...), toutes appelées par des commandes spécifiques via la console. Le menu File ou Fichier contient les outils nécessaires à la gestion de l espace de travail, tels que la sélection du répertoire par défaut, le chargement de fichiers sources externes, la sauvegarde et le chargement d historiques de commandes, etc. Le menu Edit ou Edition contient les habituelles commandes de copier-coller, ainsi que la boîte de dialogue autorisant la personnalisation de l apparence de l interface. 1

Le menu Misc traite de la gestion des objets en mémoire et permet d arrêter une procédure en cours de traitement. Le menu Packages automatise la gestion et le suivi des librairies de fonctions, permettant leur installation et leur mise à jour de manière transparente au départ du site CRAN (Comprehensive R Archive Network, http ://cran.r-project.org/) ou de toute autre source locale. Enfin, les menus Windows ou Fen^etres et Help ou Aide assument des fonctions similaires à celles qu ils occupent dans les autres applications Windows, à savoir la définition spatiale des fenêtres et l accès à l aide en ligne et aux manuels de références de R. Ce qui est entré par l utilisateur figure en rouge, et la réponse de R est en bleu. Les nombres entre crochets au début de chaque ligne donnent l indice du premier nombre de la ligne. Quand deux vecteurs ne sont pas de même longueur, le plus court est recyclé. Pour en savoir plus Pour un public francophone, un point de départ est le manuel d Emmanuel Paradis, «R pour les débutants», 81 pages, qui a la particularité d exister également en version anglaise «R for Beginners». Les deux documents sont disponibles ici : http ://cran.r-project.org/ dans la rubrique «Documentation», sous-rubrique «Contributed». Plusieurs milliers de pages d enseignement en français de statistiques sous R sont disponibles ici : http ://pbil.univ-lyon1.fr/r/ Commandes utiles pour ce T.P. : Quelques lois usuelles Loi Nom Paramètres Valeurs par défaut Beta beta shape1, shape2 Binomiale binom size, prob Exponentielle exp 1/mean 1 Fisher f df1, df2 Gamma gamma shape, 1/scale, 1 Géométrique geom prob Hypergéométrique hyper m, n, k Khi-deux chisq df Normale norm mean, sd 0, 1 Poisson pois lambda Student t df Uniforme unif min, max 0, 1 Remarque : Dans ce tableau, nous remarquons que la loi gamma est définie par deux paramètres tandis que dans le cours la loi gamma est définie par un seule 2

paramètre noté r. En fait, la définition la plus générale de la loi gamma, d après le livre de Foata et Fuchs, «Calcul des probabilités», Éditions Masson ou Dunod est la suivante : Définition 0.1 Une variable aléatoire positive X suit une loi gamma de paramètres r > 0, λ > 0 si elle est absolument continue et admet pour densité et f X (t) = 0 sinon. Exercice 1 f X (t) = λ Γ(r) exp( λt)(λt)r 1, pour tout t 0, Espérance et variance d une loi γ(r, λ). Soit X une variable aléatoire réelle qui suit une loi gamma de paramètres r et λ. 1. Calculer l espérance mathématique de X. 2. Calculer la variance de X à l aide de la formule de Huygens. Pour chacune de ces distributions, nous disposons de quatre commandes préfixées par une des lettres d, p, q, r et suivi du nom de la distribution : dnomdist : il s agit de la fonction de densité pour une distribution de probabilité continue et de la fonction de probabilité (P[X = k]) dans le cas d une loi discrète ; pnomdist : il s agit de la fonction de répartition (P[X < x]) ; qnomdist : il s agit de la fonction des quantiles, c est-à-dire la valeur pour laquelle la fonction de répartition atteint une certaine probabilité ; dans le cas discret, cette fonction renvoie le plus petit entier u tel que F (u) p où F est la fonction de répartition de la distribution considérée ; rnomdist : génère des réalisations aléatoires indépendantes de la distribution nomdist. Exercice 2 Un premier programme. Que font ces lignes de commande? Indiquer ce que R vous retorune. > qnorm(0.975) ; > dnorm(0) ; > pnorm(1.96) ; > rnorm(20) ; > rnorm(10,mean=5,sd=0.5) ; > x=seq(-3,3,0.1) ;pdf=dnorm(x) ;plot(x,pdf,type="l") ; > runif(3) ; > rt(5,10) ; Remarques : 1. Nous avons écrit x=seq(-3,3,0.1). Ici x est un nom de variable. Les noms de variables sont très flexibles. N importe quelle variable peut stocker n importe quelle valeur (il n y a pas besoin de déclarer les variables). Cependant, il faut savoir que : 3

Les noms de variables ne peuvent pas commencer par un chiffre ou un caractère spécial. Les noms sont sensibles à la casse des caractères. Un caractère minuscule comme x est différent d un caractère majuscule comme X. Quelques noms courants sont déjà utilisés par R. e.g. c, q, t, C, D, F, I, T et par conséquent doivent être évités. La liste des noms prédéfinis dans la bibliothèque de base peut être consultée ainsi : > noms <- ls("package :base") > length(noms) Combien y en a-t-il d installer sur votre ordinateur sur lequel vous travaillez? Si vous souhaitez les voir apparaitre à l écran, tapez noms. 2. Dans cette liste de commandes, l opérateur = a été utilisé. Comme la plupart des langages de programmation, R a des variables auxquelles nous pouvons affecter une valeur. Pour cela, nous utilisons l opérateur <- ou ->. L opérateur classique = marche aussi. 3. De plus dans cette liste de commandes, deux fonctions sont intervenues : seq() plot() Vous remarquerez que les appels aux fonctions sous R sont indiqués par la présence de parenthèses. De plus, la plupart des choses utiles sous R sont faites par des fonctions. De plus, length() et ls() sont aussi des fonctions. Pour en savoir d avantage sur ces fonctions, tapez?sujet que nous pouvons aussi écrire help(sujet). Toutes les fonctions de R ont une page d aide. Quand vous connaissez le nom de la fonction ou du sujet qui vous intéresse, c est en général le meilleur moyen d apprendre à l utiliser. Les pages d aide sont généralement très détaillées. Elles contiennent souvent, entre autres : Une section See Also qui donne les pages d aide sur des sujets apparentés. Une section Description de ce que fait la fonction. Une section Examples avec du code illustrant ce que fait la fonction documentée. Ces exemples peuvent être exécutés directement en utilisant la fonction example(), essayez par exemple : > example(plot) 4. La manière la plus simple de produire des graphiques sous R est d utiliser la fonction plot(). > plot(weight height, data=women) Les fonctions graphiques de comportent de nombreuses options qui permettent de contrôler de façon très fine les graphiques. Par exemple, les paramètres de la fonction plot() utilisés par défaut sont : > args(plot.default) function (x, y = NULL, type = "p", xlim = NULL, ylim = NULL, log = "", main = NULL, sub = NULL, xlab = NULL, ylab = NULL, ann = par("ann"), axes = TRUE, frame.plot = axes, panel.first = NULL, panel.last = NULL, asp = NA,...) 4

NULL L argument... signifie qu il y a encore d autres paramètres graphiques possibles. Ils sont contrôlés par la fonction par(). > names(par()) [1] "xlog" "ylog" "adj" "ann" "ask" "bg" [7] "bty" "cex" "cex.axis" "cex.lab" "cex.main" "cex.sub" [13] "cin" "col" "col.axis" "col.lab" "col.main" "col.sub" [19] "cra" "crt" "csi" "cxy" "din" "err" [25] "family" "fg" "fig" "fin" "font" "font.axis" [31] "font.lab" "font.main" "font.sub" "gamma" "lab" "las" [37] "lend" "lheight" "ljoin" "lmitre" "lty" "lwd" [43] "mai" "mar" "mex" "mfcol" "mfg" "mfrow" [49] "mgp" "mkh" "new" "oma" "omd" "omi" [55] "pch" "pin" "plt" "ps" "pty" "smo" [61] "srt" "tck" "tcl" "usr" "xaxp" "xaxs" [67] "xaxt" "xpd" "yaxp" "yaxs" "yaxt" Pour une exploration systématique des paramètres graphiques, voir la fiche http ://pbil.univ-lyon1.fr/r/fichestd/tdr75.pdf. Un exemple de graphique utilisant quelques options : > plot(weight height, pch=19, col="royalblue3", + las=1,main="weight vs. height", xlab="height", + ylab=weight", data="women") Il existe une autre fonction que plot() pour faire des graphiques. Cette fonction est la fonction curve(). Exercice 3 À vous maintenant. Dans le polycopié de cours, il manque le tracé de certaines densités et de fonctions de répartition. 1. Tracer la densité et la fonction de répartition pour la loi γ(r, λ) pour les valeurs suivantes de r et λ = 1 : 1/2, 1, 3/2, 2, 3. Mettre un titre sur chaque graphique. Ensuite, sur un même graphique, tracer les densités pour les différentes valeurs du paramètre r demandées et mettre un titre. 2. Tracer la densité et la fonction de répartition pour la loi bêta de type I pour les valeurs suivantes de n et p : (1/2, 1/2), (1, 1), (1, 2), (2, 1), (3, 3), (9, 2). Mettre un titre sur chaque graphique. Ensuite, sur un même graphique, tracer les densités pour les différentes valeurs du paramètre r demandées et mettre un titre. 5

3. Tracer la densité et la fonction de répartition pour la loi du chi-deux pour la valeur suivante de p : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 40, 50. Mettre un titre sur chaque graphique. Ensuite, sur un même graphique, tracer les densités pour les différentes valeurs du paramètre r demandées et mettre un titre. 4. Tracer la densité et la fonction de répartition pour la loi de Fisher-Snedecor pour les valeurs suivantes de n et p : (1, 2), (2, 2), (3, 2), (4, 2), (5, 2). Mettre un titre sur chaque graphique. Ensuite, sur un même graphique, tracer les densités pour les différentes valeurs du paramètre r demandées et mettre un titre. 5. Tracer la densité et la fonction de répartition pour la loi de Student pour la valeur suivante de n : 1, 2, 5, 10, 50. Mettre un titre sur chaque graphique. Ensuite, sur un même graphique, tracer les densités pour les différentes valeurs du paramètre r demandées et mettre un titre. Exercice 4 Approximation d une loi de Poisson par une loi normale. Lorsque λ est grand, la loi de Poisson de paramètre λ peut être approchée par une loi normale de moyenne λ et d écart-type λ. Par simulation, étudier graphiquement la validité du résultat précédent. Vous pourrez, par exemple, simuler 1000 réalisations indépendantes d une loi de Poisson de paramètre λ = 10, 20, 50, 100 et étudier l évolution de l histogramme. Pour tracer un histogramme sous R, la fonction hist() peut-être utile. Exercice 5 Le théorème de la limite centrée L étude de somme de variables aléatoires indépendantes et de même loi joue un rôle important en statistique. Le théorème de la limite centrée établit la convergence vers la loi normale sous des hypothèses peu contraignantes : Si (X n ) n N est une suite de variables aléatoires indépendantes de même loi d espérance µ et ( d écart-type ) σ, alors, lorsque n tend vers l infini, la variable aléatoire Xn µ n converge en loi vers la loi normale centrée-réduite. σ Par simulation, vérifier graphiquement la validité du théorème précédent dans le cas d un échantillon binomial et d un échantillon exponentiel. 6

Exercice 6 Densité de lois normales bivariées Le package dans R permettant d obtenir la densité, les quantiles ou de générer des réalisations de lois normales multivariées est le package mvtnorm. Que font les instructions suivantes? > library(mvtnorm) > help(package="mvtnorm") > dmvnorm(c(0,0), c(0,0), diag(2), log=false) Nous allons maintenant représenter graphiquement la fonction de densité de deux lois normales bivariées. Éxecuter les instructions suivantes et identifier leur action. En particulier il faudra déterminer à quoi servent les fonctions c(), cbind(), diag(), matrix()? library(lattice) # N2(c(0,0),I_2) > g <- expand.grid(x = seq(-2,2,0.05), y = seq(-2,2,0.05)) > g$z <- dmvnorm(x=cbind(g$x,g$y),mean=c(0,0), sigma=diag(2), + log=false) > wireframe(z ~ x * y, data = g,colorkey = TRUE,drape=TRUE) # N2(c(0,0),matrix(c(1,0.75,0.75,1),byrow=T,nrow=2)) > var <- matrix(c(1,0.75,0.75,1),byrow=t,nrow=2) > g <- expand.grid(x = seq(-2,2,0.05), y = seq(-2,2,0.05)) > g$z <- dmvnorm(x=cbind(g$x,g$y),mean=c(0,0), sigma=var, log=false) > wireframe(z ~ x * y, data = g,colorkey = TRUE,drape=TRUE) Les graphiques précédents sont statiques. Le package rgl permet de rémédier à ce défaut et de faire pivoter les graphiques à l aide de la souris. library(rgl) # N2(c(0,0),matrix(c(1,0,0,1),byrow=T,nrow=2)) > g <- expand.grid(x = seq(-4,4,0.05), y = seq(-4,4,0.05)) > g$z <- dmvnorm(x=cbind(g$x,g$y),mean=c(0,0), sigma=diag(2), + log=false) > g2z <- matrix(g$z*5000,byrow=t,nrow=length(seq(-4,4,0.05))) > g2x <- 10 * (1:nrow(g2z)) 7

> g2y <- 10 * (1:ncol(g2z)) > zlim <- range(g2y) > zlen <- zlim[2] - zlim[1] + 1 > colorlut <- terrain.colors(zlen) # height color lookup table > col <- colorlut[ g2y-zlim[1]+1 ] # assign colors to heights for each point > open3d() > surface3d(g2x, g2y, g2z, color=col, back="lines") # N2(c(0,0),matrix(c(1,0.75,0.75,1),byrow=T,nrow=2)) > g <- expand.grid(x = seq(-4,4,0.05), y = seq(-4,4,0.05)) > g$z <- dmvnorm(x=cbind(g$x,g$y),mean=c(0,0), + sigma=matrix(c(1,0.75,0.75,1), byrow=t,nrow=2), log=false) > g2z <- matrix(g$z*5000,byrow=t,nrow=length(seq(-4,4,0.05))) > g2x <- 10 * (1:nrow(g2z)) > g2y <- 10 * (1:ncol(g2z)) > zlim <- range(g2y) > zlen <- zlim[2] - zlim[1] + 1 > colorlut <- terrain.colors(zlen) # height color lookup table > col <- colorlut[ g2y-zlim[1]+1 ] # assign colors to heights for each point > open3d() > surface3d(g2x, g2y, g2z, color=col, back="lines") 8

Quelques fonctions de statistique descriptive > data(women) > names(women) > attach(women) > mean(height) Calcul de la moyenne empirique de la variable quantitative height > var(height) Calcul de la variance empirique de height estimateur non biaisé (diviseur n 1) > sd(height) Calcul de l écart-type de height > median(height) Calcul de la médiane empirique de height > quantile(height) Calcul des quantiles empiriques de height > summary(weight) Résumé de height > summary(women) Résumé de women > hist(weight,nclass=15) Histogramme de weight constitué de 15 classes > boxplot(weight) Diagramme en boîte à moustaches de weight > cor(height,weight) Calcul du coefficient de corrélation linéaire empirique entre weight et height > v1=rnorm(100) > hist(v1) > v2=factor(sample(letters[1 :4],100,rep=T)) > table(v2) Résumé de la variable qualitative v2 > barplot(table(v2)) 9

Diagramme en barre de v2 > piechart(table(v2)) Diagramme en secteur de v2 > boxplot(v1 v2) Diagramme en boîte de v1 pour chaque modalité de v2 10