Probabilité et statistique M1-INFO François Kauffmann Université de Caen Normandie 10 octobre 2016 Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 1 / 66
Première partie I s Distributions s Variable aléatoire de Variable aléatoire binomiale Variable aléatoire uniforme discrète Variable aléatoire multinomiale Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 2 / 66
s s Chapitre Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 3 / 66
s Variable aléatoire réelle discrète Variables aléatoires X une variable aléatoire réelle discrète est définie par l ensemble fini valeurs prises par X {x 1,, x n } R la probabilité d obtenir la valeur x i, notée P([X = x i ]). Fonction des fréquences Soit X une variable aléatoire discrète à valeurs dans {x 1,, x n }. On appelle fonction des fréquences de X f X (x i ) = P([X = x i ]) Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 4 / 66
s Fonction de répartition Fonctions de répartitions Soit X une variable aléatoire réelle { R [0, 1] F X : x P([X x]) est appelée fonction de répartion de X. F X (x) est la probabilité de l évènement X est plus petit que x. Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 5 / 66
s Quantile Quantile Soit X une variable aléatoire ayant une foncton de répartition F X et p ]0, 1[, le p-quantile q F (p) est défini par De façon équivalente F X (q F (p)) p P([X q F (p)]) p Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 6 / 66
s Variable aléatoire de Chapitre Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 7 / 66
s Variable aléatoire de Paragraphe Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 8 / 66
s Variable de Une variable aléatoire X de bernoulli est une variable aléatoire qui ne prend que deux valeurs {0, 1}. Elle est définie par la probabilité de tirer la valeur 0 P([X = 0]) la probabilité de tirer la valeur 1 P([X = 1]) Soit p [0, 1], on dit qu une variable aléatoire de est de paramètre p si P([X = 1]) = p et on note l ensemble des variables alétoires de de paramètres p B(1, p) Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 9 / 66
s Moyenne, variance Sa moyenne, sa variance et son écart type sont E(X ) = 1 P([X = 1]) + 0 P([X = 0]) = p Var(X ) = E((X E(X )) 2 ) = (1 p) 2 P([X = 1]) + (0 p) 2 P([X = 0]) = (1 p) 2 p + p 2 (1 p) = (1 p)p sd(x ) = Var(X ) Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 10 / 66
s Variable aléatoire de Paragraphe Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 11 / 66
s Fonction des fréquences x=c(0,1) p=0.3;n=1 prob=dbinom(c(0,1), size=n, prob=p) #!c(1-p,p) plot(x,prob,ylim=c(0,1),ylab="p([x=x])",xlab="x",xaxt="n", main="fonction des fréquences",xlim=c(-1,2)) segments(x0=x,y0=0,x1=x,y1=prob) axis(1,-1:2,xlab="x") Fonction des fréquences Pr([X=x]) 0.0 0.2 0.4 0.6 0.8 1.0 1 0 1 2 X Figure : Fonction des fréquences Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 12 / 66
s Fonction de répartition x=seq(from=-2,to=2,by=1/100) prob.cum=pbinom(x, size=n, prob=p) plot(x,prob.cum,ylim=c(0,1),type="s",main="fonction de répartition") x=c(0,1) y=c(0,1-p,1) Fn=stepfun(x,y) plot(fn,verticals=false,xlab="x",ylab="p([x <= x])",main="fonction de réparition") Fonction de réparition Pr([X <= x]) 0.0 0.2 0.4 0.6 0.8 1.0 1.0 0.5 0.0 0.5 1.0 1.5 2.0 x Figure : Fonction des fréquences Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 13 / 66
ProbaStat s Simulation tirages=rbinom(n=100,size=n,prob=p) plot(tirages,main="tirages aléatoires",xlab="numéro",ylab="valeur tirée") table(tirages)/100 tirages aléatoires valeur tirée 0.0 0.2 0.4 0.6 0.8 1.0 0 20 40 60 80 100 numéro Figure : Tirages aléatoires tirages Fr([X=0]) 0.61 Fr([X=1] 0.39 Table : Frequence empirique Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 14 / 66
s Variable aléatoire de Paragraphe Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 15 / 66
s Données d infarctus I Cette étude est extraite du livre de Mr Kleinbaum Logistic regression, a self learning text [1]. On étudie une cohorte de 609 personnes suivies pendant 7 ans. On veut modéliser la probabilité d avoir un infarctus du myocarde π en fonction de covariables. Le fichier evans.txt contient 609 lignes et 12 colonnes. Les modalités de références sont indiquées avec une étoile. # lecture avec R fichier <- url("http://www.math.unicaen.fr/~kauffman/data/evans.rdata") print(load(fichier)) close(fichier) summary(x) Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 16 / 66
s Données d infarctus II colonne nom type modalités 1 id identifiant individu 2 y quali infarctus du myocarde(1=oui ; 0=non(*)) 3 cat quali concentration en catecholamine (1 = élevé ; 0 = norma 4 age quanti age 5 chl quanti concentration de cholesterol 6 smk quali fumeur (1 = oui ; 0=jamais(*)) 7 ecg quali electro-cardiogramme (1=anormal ; 0=normal(*)) 8 dpb quanti pression sanguine diastolique quantitative 9 sbp quanti pression sanguine systolique quantitative 10 hpt quali hypertension (1=oui ; 0=non(*)) 11 agec quali age >=55 (1=oui ; 0=non(*) 12? Table : Description des données Evans Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 17 / 66
s Données d infarctus III id y cat age chl smk ecg dbp sbp hpt agec 1 21 non normal 56 270 jamais normal 80 138 normal age 2 31 non normal 43 159 fumeur normal 74 128 normal jeune 3 51 oui eleve 56 201 fumeur anormal 112 164 anormal age 4 71 non eleve 64 179 fumeur normal 100 200 anormal age 5 74 non normal 49 243 fumeur normal 82 145 normal jeune 6 91 non normal 46 252 fumeur normal 88 142 normal jeune Table : Six premières lignes de la table evans D.G. Kleinbaum and Mitchell Klein. Logistic regression, a self learning text. Springer, 2002. Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 18 / 66
s pie(table(x$y))#$ Frequence d infarctus moyenne frequence non 0.88 oui 0.12 non oui Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 19 / 66
s Infarctus et catecholamine tableau=table(x$y,x$cat) barplot(prop.table(tableau,2), col=c('non'='green','oui'='red'), xlab="catecholamine",ylab="frequence") frequence 0.0 0.2 0.4 0.6 0.8 1.0 normal eleve catecholamine Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 20 / 66
s Modélisation constant La modélisation de la variable infarctus par une loi de bernoulli de paramètre p.12% constant semble insuffisant. cat La modélisation de la variable infarctus pour les individus ayant un taux de catécholamine normal par une loi de bernoulli de parametre p 9% elevee par une loi de bernoulli de parametre p 17% semble plus réaliste. Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 21 / 66
s Conclusion partielle On peut faire l hypothèse suivante Avoir un taux de catécholamine élevé augmente le risque d avoir un infarctus par rapport à un taux de catécholamine normal. Questions On modélise la probabilité d avoir un infarctus Peut-on prédire pour une personne si elle va avoir un infarctus? Peut-on être sur des proportions empiriques observées? Quel risque prend on en affirmant qu il faut mieux avoir un taux de catécholamine normal que élevé? Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 22 / 66
s Variable aléatoire binomiale Chapitre Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 23 / 66
s Variable aléatoire binomiale Paragraphe Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 24 / 66
s Variable aléatoire binomiale Soit n un entier, p [0, 1], X 1, X n n variables aléatoires indépendantes suivant une loi de de paramètre p, on dit que Y = X 1 + X 2 + + X n est une variable aléatoire suivant une loi binomiale de paramètres n et p Y B(n, p). Elle est à valeurs dans {0, 1,, n}. Elle modélise le nombre de succes quand on fait n tirages indépendants d une loi de bernoulli de paramètre p. ( ) n P([X = k]) = p k (1 p) n k, k [0, n] k Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 25 / 66
s E(Y /n) = E( X 1 + + X n ) n Moyenne, variance = 1 n (E(X 1) + + E(X n )) = p var(y /n) = 1 n 2 var(x 1 + + X n ) sd(y /n) = = 1 n 2 (var(x 1) + + var(x n )) indépendance = 1 (np(1 p)) n2 p(1 p) = n p(1 p) n Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 26 / 66
s Variable aléatoire binomiale Paragraphe Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 27 / 66
s Fonction des fréquences x=0:n p=0.3;n=10 prob=dbinom(x, size=n, prob=p) plot(x,prob,ylim=c(0,1),ylab="p([x=x])",xlab="x",xaxt="n", main=paste("fonction des fréquences p=",p),pch=19,xlim=c(-1,n+1),col="red") segments(x0=x,y0=0,x1=x,y1=prob) axis(1,c(-1,x,n+1),xlab="x") Fonction des fréquences p= 0.3 Pr([X=x]) 0.0 0.2 0.4 0.6 0.8 1.0 1 0 1 2 3 4 5 6 7 8 9 10 11 X Figure : Fonction des fréquences Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 28 / 66
s Fonction de répartition x=seq(from=0,to=n,by=1/100) prob.cum=pbinom(x, size=n, prob=p) plot(x,prob.cum,ylim=c(0,1),type="s",main="fonction de répartition") x=0:n y=c(0,pbinom(x, size=n, prob=p)) Fn=stepfun(x,y) plot(fn,verticals=false,xlab="x",ylab="p([x <= x])",main="fonction de réparition") Fonction de réparition Pr([X <= x]) 0.0 0.2 0.4 0.6 0.8 1.0 0 2 4 6 8 10 x Figure : Fonction des fréquences Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 29 / 66
s Simulation tirages=rbinom(n=100,size=n,prob=p) tableau=rep(0,n+1) names(tableau)=0:n tableau1=table(tirages)/100 tableau[names(tableau1)]=tableau1 points(as.numeric(names(tableau)),tableau,pch=20,col="blue") legend("topleft",c('theorique','observation'),pch=c(19,20),col=c('red','blue')) Pr([X=x]) 0.0 0.2 0.4 0.6 0.8 1.0 theorique observation Fonction des fréquences p= 0.3 1 0 1 2 3 4 5 6 7 8 9 10 11 Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 30 / 66
s Variable aléatoire binomiale Paragraphe Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 31 / 66
s Malformations des nourissons I L objectif de cette étude est de voir si il y a un lien entre les malformations congénitales du nourrisson et la consommation d alcool de sa mère pendant la grossesse. Après trois mois de grossesse, les femmes devaient remplir un questionnaire sur leur consommation d alcool. On évaluait alors la consommation d alcool grâce à un score, qui a été découpé 6 classes. Après la naissance on observait si le nourrisson avait au moins une malformation. Pour chaque classe, on a compté le nombre de nombre de nourrissons où les malformations étaient absentes : n A et le nombre de nourrissons ayant au moins une malformation : Y. Cet exercice est inspiré des exercices 3-3 et 3-4 page 91 du livre du A. Agresti [1]. Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 32 / 66
s Malformations des nourissons II consommation(x) n A (x) =Absent Y (x) =Présent x=score [0, 0] 17066 48 x 1 = 0 ]0, 1] 14464 38 x 2 = 0.5 ]1, 2] 788 5 x 3 = 1.5 ]2, 5] 126 1 x 4 = 4 ]5, + [ 37 1 x 5 = 7 Table : Tableau de contingence malformation et consommation d alcool L attribut consommation d alcool est mesuré de deux façons : La consommation d alcool par jour est codée grâce à une échelle quantitative appelée score. Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 33 / 66
s Malformations des nourissons III La variable score a été segmentée en cinq classes. Les classes retenues sont les suivantes : 0 aucune consommation d alcool, <1 moins de une unité par jour, 1-2 de un à deux unités par jour, 2-5 de deux à cinq unités par jour, >5 plus de cinq unités par jour. Alan Agresti. An introduction to categorical data Analysis. Wiley Series in probability and statistics, 2007. Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 34 / 66
s Création de la table X=matrix(c(17066,14464,788,126,37,48,38,5,1,1,0,0.5,1.5,4,7),ncol=3) dimnames(x)=list(c('[0,0]',']0,1]',']1,2]',']2,5]','>5'),c('absent','present','score')) X=data.frame(X) P=X$present/(X$absent+X$present) # proba malfomation X=data.frame(X,P)#$ plot(p~score,data=x,xlab="score",ylab="frequence malformation") frequence malformation 0.005 0.010 0.015 0.020 0.025 0 1 2 3 4 5 6 7 Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 35 / 66 score
s Question Conclusion partielle Peut -on dire que le risque de malformation congénitale augmente avec la consommation d alcool? Peut-on se tromper? Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 36 / 66
s Variable aléatoire uniforme discrète Chapitre Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 37 / 66
s Variable aléatoire uniforme discrète Paragraphe Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 38 / 66
s Variable aléatoire uniforme Soit n un entier et X une variable aléatoire à valeurs dans {0,, n} on dit que X une variable aléatoire de loi uniforme si P([X = k]) = cst = 1, k {0,, n} n + 1 Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 39 / 66
s Variable aléatoire uniforme discrète Paragraphe Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 40 / 66
ProbaStat s Fonction des fréquences n=10;k=0:n;prob=rep(1,n+1)/(n+1) tirage=sample(k,size=100,replace=true) tableau=table(tirage) frequence=function(k,prob,freq.obs,...) { plot(k,prob,,ylab="p([x=x])",xaxt="n",pch=20,...) segments(x0=k,y0=0,x1=k,y1=prob) axis(1,xlab="x") if(!is.null(freq.obs)) points(k,freq.obs,col="red",pch=20) legend("topleft",c('theorique','observation'),pch=c(20,20),col=c('black','red')) } frequence(k,prob,freq.obs=tableau/100,xlab="x",main="",xlim=c(-1,n+1),ylim=c(0,.3)) Pr([X=x]) 0.00 0.05 0.10 0.15 0.20 0.25 0.30 theorique observation 0 2 4 6 8 10 X Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 41 / 66
s Fonction de répartition repartition=function(k,prob,...) { prob=c(0,prob) Fn=stepfun(k,cumsum(prob)) plot(fn,verticals=false,xlab="x",ylab="p([x <= x])",...) } repartition(k,prob,main="fonction de réparition loi uniforme") Fonction de réparition loi uniforme Pr([X <= x]) 0.0 0.2 0.4 0.6 0.8 1.0 0 2 4 6 8 10 x Figure : Fonction des fréquences Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 42 / 66
s Variable aléatoire uniforme discrète Paragraphe Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 43 / 66
s Bootstrap L algorithme du bootstrap est une méthode permettant d évaluer la variabilité d un estimateur en modifiant l échantillon par tirage aléatoire avec remise. En faisant plusieurs tirages on peut donc estimer moyenne en faisant la moyenne des estimateurs obtenus pour chacun des tirages. écart type en calculant l écart type empirique de la série des estimateurs obtenus pour chacun des tirages. Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 44 / 66
s Algorithme du bootstrap Soit P = {1,, N} l ensemble des individus et K le nombre de répétitions. Pour k=1:k Tirer aléatoirement avec remise N individus P k de P Identifier le modèle avec l échantillon P k Calculer l erreur sur l échantillon total P Calculer la moyenne empirique et l écart type empirique de l estimateur. Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 45 / 66
s K=5 # nb repetitions n=10 # nb individus individus=1:n # numéros des individus tirages=c() for ( i in 1:K ){ tirage=sample(individus,n,replace=true) tirage=factor(tirage,levels=individus) tirages=cbind(tirages,table(tirage)) } dimnames(tirages)=list(paste('ind',individus),paste('tir',1:k)) tirage 1 tirage 2 tirage 3 tirage 4 tirage 5 ind 1 1 1 1 1 2 ind 2 2 0 1 1 0 ind 3 0 0 0 0 2 ind 4 1 2 0 2 1 ind 5 0 0 0 0 0 ind 6 2 2 0 1 1 ind 7 1 3 2 2 1 ind 8 3 1 2 1 0 ind 9 0 0 4 0 2 ind 10 0 1 0 2 1 Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 46 / 66
s Estimation de la frequence K=200 # nb repetitions n=nrow(x) # nb individus individus=1:n # numéros des individus moyennes=c() for ( i in 1:K ){ tirage=sample(individus,n,replace=true) moyenne=aggregate(x$y[tirage]=="oui",by=list(x$cat[tirage]),fun=mean) moyennes=rbind(moyennes,moyenne$x) } moyennes=as.data.frame(moyennes) names(moyennes)=as.character(moyenne$group.1) # histogrammes hist(moyennes$normal,freq=false,xlim=c(0.05,0.35),col="green",main="histogramme", xlab="frequence empirique infarctus") hist(moyennes$eleve,freq=false,col="red",add=true) legend('topright',c('normal','eleve'),lty=1,col=c('green','red')) Density 0 5 10 15 20 25 30 histogramme normal eleve Francois.Kauffmann@unicaen.fr UCBN ProbaStat 0.10 0.15 10 octobre 2016 47 / 66 0.05 0.20 0.25 0.30 0.35
s # boites à moustaches Variabilité de l estimation de la frequence tmp=data.frame(cat=c(rep('eleve',k),rep('normal',k)),freq=c(moyennes$eleve,moyennes$normal)) boxplot(freq~cat,data=tmp,col=c('eleve'='red','normal'='green')) 0.05 0.10 0.15 0.20 0.25 0.30 eleve normal Figure : Boîtes à moustaches Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 48 / 66
s Test quantile(moyennes$eleve,c(.05,0.95)) quantile(moyennes$normal,c(.05,0.95)) hist(moyennes$normal-moyennes$eleve,xlab="normal-eleve main="histogramme difference") table(moyennes$normal-moyennes$eleve<0) histo difference Density 0 2 4 6 8 10 0.25 0.20 0.15 0.10 0.05 normal eleve Figure : Differences Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 49 / 66
s Conclusion partielle Question : risque d infactuts augementé taux de catécholamine augmenté. Conclusions eleve la fréquence d infarctus pour un taux de catécholamine éléve pour nos tirages de bootstrap se trouve à 95 % dans l intervalle [0.16,.28] normal Pour un taux de catécholamine normal la fréquence d infarctus de trouve à 95% dans l intervalle [0.06, 0.12] risque Dans 100% des cas de tirages de bootstrap on a la fréquence d infarctus qui plus élevé si le taux de catécholamine est éleve/normal. Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 50 / 66
s Variable aléatoire multinomiale Chapitre Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 51 / 66
s Variable aléatoire multinomiale Paragraphe Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 52 / 66
s Variable alétoire vectorielle multinomiale On considère un ensemble à q éléments {x 1,, x q } et (p 1,, p q ) [0, 1] q, p 1 + p 2 + + p q = 1. La probabilité de tirer l élément x i est p i. On fait n tirages aléatoires indépendants avec remise d éléments de cet ensemble. La variable aléatoire vectorielle comptant le nombre de fois ou l on a tiré l objet x i est dite ayant une loi multinomiale de paramètres n et (p 1,, p q ). Pour (n 1,, n q ) N q, i=q i=1 n i = n on a : P(X = (n 1,, n q ) = n! n 1!n 2! n q! pn 1 1 pnq q Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 53 / 66
s Moyenne, covariance E((X 1,, X q)) = n(p 1,, p q) cov(x 1, X 1 ) cov(x 1, X q) Cov((X 1,, X q)) =.. cov(x q, X 1 ) cov(x q, X 1 ) p 1 (1 p 1 ) p 1 p 2 p 1 p q p 1 p 2 p 2 (1 p 2 ) p 2 p q = n.. p qp 1 p q(1 p q) Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 54 / 66
s Variable aléatoire multinomiale Paragraphe Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 55 / 66
s prob=c(.2,.3,.5) # prob=tirer 3eme=1/2 x=c(1,2,1) # nb 1er=1;2eme=1;3eme=1 proba=dmultinom(x=c(1,2,1), prob=prob)# 1/10 Fonction des fréquences N=3 # 3 tirages X=expand.grid(x1=0:N,x2=0:N,x3=0:N)# toutes les possibilites X=X[X$x1+X$x2+X$x3==N,] # selection 3 tirages X=as.data.frame(t(X)) # transposition X[[1]] # 1er elt liste # appli FUN à chaque elt liste resultat=lapply(x, FUN=function(x,prob=prob) dmultinom(x=x, prob=prob), prob=prob) X=rbind(X,unlist(resultat)) X=as.data.frame(t(X)) names(x)[4]="prob"#$ # ajout de la ligne # transposition # renomage nom 4 eme colonne Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 56 / 66
s Resultats Pour 3 tirages avec remise dans une urne contenant 3 types de boules ayant une proba respective d être tirée de 20%, 30% et 50% d être tirée. num x1 x2 x3 prob 4 3 0 0 0.004 7 2 1 0 0.03 10 1 2 0 0.06 13 0 3 0 0.04 19 2 0 1 0.04 22 1 1 1 0.17 25 0 2 1 0.17 34 1 0 2 0.13 37 0 1 2 0.25 49 0 0 3 0.13 Table : Proba de tirer (x1,x2,x3) elts Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 57 / 66
s Variable aléatoire multinomiale Paragraphe Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 58 / 66
s Le repas des alligators I On veut étudier ce que mange les alligators en fonction de leurs tailles et du lac dans les quels ils été attrapés. Cet exemple est inspiré de l exercice 6.3 du Pr. Alan Agresti An Introduction to categorical data analysis, p197 [1]. Le fichier de données alligator.txt contient une table nommée X ayant cinq colonnes et quatre-vingt lignes. colonne nom type commentaires 1 lac quali modalités (1= hancock,2=oklawaha,3=trafford,4=george) 2 sexe quali modalités (1=femelle,2=male) 3 taille quali modalités (1=plus petit que 2,3m, 2=plus grand que 2.3m) 4 nourriture quali modalités (1= fish,2= invert,3= rep,4= bird,5= other ) 5 N ordinal nombre d alligators Table : Descriptif table alligator Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 59 / 66
s Le repas des alligators II # lecture avec R fichier="http://www.math.unicaen.fr/~kauffman/data/alligator.txt" X=read.table(fichier,header=TRUE) X$nourriture=factor(X$nourriture, levels=1:5, labels=c("fish","invert","rep","bird","other")) X$lac =factor(x$lac,levels=1:4, labels= c("hancock","oklawaha","trafford","george")) X$sexe =factor(x$sexe,levels=1:2,labels=c('femelle','male')) X$taille =factor(x$taille,levels=1:2,labels=c('<=2.3','>2.3')) close(fichier) Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 60 / 66
s Le contenu de l estomac tab=xtabs(n~nourriture,data=x)/sum(x$n) barplot(tab)#$ 0.0 0.1 0.2 0.3 0.4 fish invert rep bird other Figure : Contenu moyen Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 61 / 66
s Le contenu de l estomac tab=xtabs(n~nourriture+taille,data=x) tab=prop.table(tab,2) apply(tab,2,sum) barplot(tab,legend.text=true,col=rainbow(5), xlab="taille",ylab="freq") freq 0.0 0.2 0.4 0.6 0.8 1.0 other bird rep invert fish <=2.3 >2.3 taille Figure : Contenu moyen par taille Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 62 / 66
s Conclusion partielle Est ce que tous les alligators mangent approximativement la même chose indépendamment de Questions de l endroit ou il se trouve? de son age ou de sa taille? de son sexe? Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 63 / 66
Deuxième partie II Index Sélection de modèles Index Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 64 / 66
Index Index Chapitre Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 65 / 66
Index Index I Francois.Kauffmann@unicaen.fr UCBN ProbaStat 10 octobre 2016 66 / 66