le logiciel r - université de nantesphilippe/... · le langage r plan 1 le langage r 2 graphiques...
TRANSCRIPT
Le logiciel R
Anne PHILIPPE
Universite de Nantes,Laboratoire de Mathematiques Jean Leray
Journees academiques 2009 de l’IREM des Pays de la LoireNantes, le 29 juillet 2010
Email : [email protected]/∼philippe
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 1 / 50
Le logiciel R a ete cree par Robert Gentleman et Ross Ihaka .C’est une implementation gratuite de Splus.Le logiciel R est disponible sur le site
http://cran.r-project.org/
Il existe des versions
Windows
MacOS
Linux.
Outils disponibles :
un langage de programmation oriente objet
des fonctions de ”base”
des librairies complementaires (1800 sur le site CRAN)
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 2 / 50
Documentations
Initiation au logiciel R :
www.math.sciences.univ-nantes.fr/∼ philippe/R.html
Site consacre aux graphiques
addictedtor.free.fr/graphiques/
Collection specifique UseR chez Springer
Plus de 80 livres,par exemple
Introductory Statistics With RBayesian Computation With RApplied Statistical Genetics With R :Generalized Additive Models : An Introduction with RExtending the Linear Model With RTime Series Analysis And Its Applications : With R Examples
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 3 / 50 Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 4 / 50
Le langage R
Plan
1 Le langage R
2 Graphiques
3 Statistique descriptive
4 Autour des lois de probabilites
5 Tests
6 Regression
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 5 / 50
Le langage R
Objets
Fonctions
Vecteurs, Matrices, etc
Listes : C’est une structure qui regroupe des objets (pasnecessairement de meme type).
Example
>rdn=list(serie=c(1:100),taille=100,type="arithm")
Cette liste contient
un vecteur dans serie
un scalaire dans taille
une chaıne de caracteres dans type
...
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 6 / 50
Le langage R
Quelques fonctions usuelles
Les operations + - / * sont des operations terme a terme
Idem por les fonctions :
sqrt square root
abs absolute value
sin cos tan trigonometric functions (radians)
exp log exponential and natural logarithm
log10 common logarithm
gamma lgamma gamma function and its natural log
Example
Soit A = (ai ,j) t une matrice, exp(A) retourne une matrice constituee deselements eai,j .
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 7 / 50
Le langage R
1 sum() (somme∑
i xi ), prod() (produit∏
i xi ), mean() (moyenne1n
∑ni=1 xi )
max(), min()
length(), ncol(), nrow()
Ces fonctions retournent un scalaire.
2 cumsum() (sommes cumulees (x1, x1 + x2, . . . ,∑n
i=1 xi ), cumprod()
(produits cumules),sort (tri), order, unique
remarque : sort(x) = x[order(x)]
fft() (transforme de Fourier)
Ces fonctions retournent un vecteur.
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 8 / 50
Le langage R
Structures de controles et Iterations
Instructions conditionnellesif (condition) {instructions}
if (x>0) y=x*log(x) else y=0
Iterations
> for ( i in 1:10) { ...... }
> while (i< 11) {........}
> repeat { .... ; if (i> 10) break }
La fonction apply() permet d’effectuer des operations sur leslignes ou les colonnes d’une matrice.
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 9 / 50
Le langage R
Importer/exporter des donnees
1 Importer une suite : x=scan("data.dat") : pour creer un vecteura partir de donnees stockees dans un fichier, ici data.dat.
2 Importer un tableau : x=read.table("data.dat")
3 Exporter : write, write.table
4 Importer / exporter aux formats des differents logiciels commerciaux(SAS , matlab , minitab SPSS etc )
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 10 / 50
Le langage R
Creer des fonctions
La structure generale d’une fonction est
>myname=function(liste_des_parametres)
{
commandes
list(variables-retournees-par la fct)
}
Les accolades { et } definissent le debut et la fin de la fonction.
La derniere instruction contient le nom de l’objet retourne par lafonction.
On peut donner des valeurs par defaut aux parametres
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 11 / 50
Le langage R
Exemple
>PF = function(n)
{
u=runif(n) #nb aleatoire suivant Unif(0,1)
pf=(u>1/2)
freq=sum(pf)/n
list(pile.face=pf, size=n, freq.pile=freq)}
}
>PF(5)
$pile.face
[1] TRUE TRUE TRUE FALSE FALSE
$size
[1] 5
$freq.pile
[1] 0.6
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 12 / 50
Graphiques
Plan
1 Le langage R
2 Graphiques
3 Statistique descriptive
4 Autour des lois de probabilites
5 Tests
6 Regression
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 13 / 50
Graphiques
Fonction ”centrale” plot
Le graphique produit par la fonction plot(x) depend de la classe del’objet x.
> methods(plot)
[1] plot.acf* plot.add plot.data.frame*
[4] plot.Date* plot.decomposed.ts* plot.default
[7] plot.dendrogram* plot.density plot.ecdf
[10] plot.factor* plot.formula* plot.hclust*
[13] plot.histogram* plot.HoltWinters* plot.isoreg*
[16] plot.ker plot.lm plot.medpolish*
[19] plot.mlm plot.POSIXct* plot.POSIXlt*
[22] plot.ppr* plot.prcomp* plot.princomp*
[25] plot.profile.nls* plot.spec plot.spec.coherency
[28] plot.spec.phase plot.stepfun plot.stl*
[31] plot.table* plot.ts plot.tskernel*
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 14 / 50
Graphiques
plot( )
5 10 15 20 25
020
4060
80100
speed
dist
plot(cars)
-2 0 2 4 6
-1.0-0.5
0.00.5
1.0
x
sin (x)
plot(sin, -pi, 2*pi)
05
1015
20
plot(table(rpois(100,5)))
table(r
pois(1
00, 5))
1 2 3 4 5 6 7 8 9 11 0 10 20 30 40
-10
12
plot(x, type = "s")
Index
x <- so
rt(rnorm
(47))
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 15 / 50
Graphiques
demo(graphics)plot(... ) pie(... ) boxplot(... )
0 10 20 30 40 50
-2-1
01
2
Simple Use of Color In a Plot
Just a Whisper of a Label
12
34
56789
101112
1314151617 18 19 20
21222324
A Sample Color Wheel
(Use this as a test of monitor linearity)
Blueberry
Cherry
Apple
Boston CreamOther
Vanilla Cream
January Pie Sales
(Don't try this at home kids)
1 2 3 4 5 6 7 8 9
-20
24
6
Notched Boxplots
Group
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 16 / 50
Graphiques
polygon(x,y,..) plot(x... ) hist(x..)
0 20 40 60 80 100
-50
5
Time
Distance
Distance Between Brownian Motions
0.0
0.5
1.0
1.5
2.0
Jan Mar May Jul Sep Nov
The Level of Interest in R
1996
x
Freque
ncy
-4 -2 0 2 4
050
100150
200
1000 Normal Random Variates
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 17 / 50
Graphiques
biplot : pairs(matrice, ....)
Sepal.Length
2.0 2.5 3.0 3.5 4.0 0.5 1.0 1.5 2.0 2.5
4.55.5
6.57.5
2.02.5
3.03.5
4.0
Sepal.Width
Petal.Length
12
34
56
7
4.5 5.5 6.5 7.5
0.51.0
1.52.0
2.5
1 2 3 4 5 6 7
Petal.Width
Edgar Anderson's Iris Data
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 18 / 50
Graphiques
contour(x, y, matrice.... ) image( ) persp( )
x
y
100 200 300 400 500 600 700 800
100
200
300
400
500
600
Maunga Whau Volcano
x
y
z
x
y
zAnne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 19 / 50
Statistique descriptive
Plan
1 Le langage R
2 Graphiques
3 Statistique descriptive
4 Autour des lois de probabilites
5 Tests
6 Regression
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 20 / 50
Statistique descriptive
Les donnees Island
VancouverHainanPrince of WalesTimorKyushuTaiwanNew BritainSpitsbergenAxel HeibergMelvilleSouthamptonTierra del FuegoDevonBanksCelonTasmaniaMoluccasSakhalinHispaniolaHokkaidoNovaya ZemlyaIrelandMindanaoIcelandLuzonCubaNewfoundlandNew Zealand (N)JavaNew Zealand (S)CelebesEllesmereVictoriaBritainHonshuSumatraBaffinMadagascarBorneoNew GuineaGreenlandAustraliaEuropeAntarcticaSouth AmericaNorth AmericaAfricaAsia
0 5000 10000 15000
islands data: area (sq. miles)Africa Antarctica Asia
11506 5500 16988
Australia Axel Heiberg Baffin
2968 16 184
Banks Borneo Britain
23 280 84
Celebes Celon Cuba
73 25 43
Devon Ellesmere Europe
21 82 3745
Greenland Hainan Hispaniola
840 13 30
Hokkaido Honshu Iceland
30 89 40
Ireland Java Kyushu
33 49 14
Luzon Madagascar Melville
42 227 16
Mindanao Moluccas New Britain
36 29 15
New Guinea New Zealand (N) New Zealand (S)
306 44 58
Newfoundland North America Novaya Zemlya
43 9390 32
Prince of Wales Sakhalin South America
13 29 6795
Southampton Spitsbergen Sumatra
16 15 183
Taiwan Tasmania Tierra del Fuego
14 26 19
Timor Vancouver Victoria
13 12 82
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 21 / 50
Statistique descriptive
Statistique descriptive pour les donnees islands
> mean(x)
[1] 3.734162
> var(x)
[1] 9.134685
> quantile(x,c(.25,.5,.75))
25% 50% 75%
1.794741 2.990066 4.326417
020
4060
80100
120
boxplot data : sqrt(islands)
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 22 / 50
Statistique descriptive
histogramme
equidistant breaks
sqrt(islands)
Density
0 20 40 60 80 100 140
0.00
0.02
0.04
0.06
NON - equidistant breaks
sqrt(islands)
Density
0 20 40 60 80 100 140
0.00
0.05
0.10
0.15
11
19
5321 0 0 2 3 2
WRONG histogram
sqrt(islands)
Freque
ncy
0 20 40 60 80 100 140
05
1015
hist(sqrt(islands), breaks = 12)
hist(sqrt(islands), breaks = c(4*0:5, 10*3:5, 70, 100, 140))
hist(sqrt(islands), breaks = c(4*0:5, 10*3:5, 70, 100, 140) ,freq=TRUE)
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 23 / 50
Statistique descriptive
histogramme : le choix du nombre de classes
x
Density
-4 -2 0 2 4
0.0
0.1
0.2
0.3
0.4
1000 Normal Random Variates
x
Density
-4 -2 0 2 4
0.0
0.1
0.2
0.3
0.4
x
Density
-4 -2 0 2 4
0.0
0.1
0.2
0.3
0.4
xDensity
-4 -2 0 2 4
0.0
0.1
0.2
0.3
0.4
1 On simule un echantillon suivantla loi gaussienne de taille 1000
2 On trace l’histogramme pourdifferentes valeurs du nombre declasses.
3 On compare l’histogramme avecla densite theorique de loigaussienne (courbe en rouge)
hist(x, nclass=100 ) ou hist(x) par defaut le nombre declasses est optimise pour des echantillons gaussiens
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 24 / 50
Statistique descriptive
Estimation de la densite par l’estimateur a noyau
On compare sur des donnees simulees suivant la loi gaussienne deuxestimateurs de la densite (hist / density) avec la densite theorique de la loi
Histogram of dat
dat
Density
-3 -2 -1 0 1 2 3 4
0.0
0.2
0.4
-4 -2 0 2 4
0.0
0.2
0.4
density.default(x = dat)
N = 1000 Bandwidth = 0.2179
Density
#calcul de l’estimateur
>hist(dat)
> y=density(dat)
> plot(y)
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 25 / 50
Autour des lois de probabilites
Plan
1 Le langage R
2 Graphiques
3 Statistique descriptive
4 Autour des lois de probabilites
5 Tests
6 Regression
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 26 / 50
Autour des lois de probabilites
Generalites
Soit X une variable aleatoire de loi PX
PX (A) = P(X ∈ A) =
{∑x∈A P(X = x) loi discrete∫
A f (x)d.x loi continue
Pour les lois classiques, des fonctions R existent pour
calculer
la densite
{P(X = x) pour les lois discretes
f (x) pour les lois continues
la fonction de repartition F (x) = P(X ≤ x)les quantiles F−(u) = inf{x : F (x) ≥ u}
simuler des nombres aleatoires suivant la meme loi que X .
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 27 / 50
Autour des lois de probabilites
Quelques lois disponibles
1 Lois discretes
Loi binomiale (n,p) binom
Loi hypergeometrique (N,n,k) hyper
Loi de Poisson (a) pois
Loi geometrique (p) geom
Loi a support fini {(ai , pi ), i = 1...m} sample
2 Lois continues
Loi Gaussienne (m,σ2) norm
Loi uniforme sur [a, b] unif
Loi de Student a ν degres de liberte t
Loi du χ2 a ν degres de liberte chisq
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 28 / 50
Autour des lois de probabilites
Exemple : loi gaussienne de moyenne 0 et de variance 1
dnorm(x,0,1) : densite au point xpnorm(x,0,1) : fonction de repartition au point xqnorm(α,0,1) : quantile d’ordre αrnorm(n,0,1) : echantillon de taille n
-4 -2 0 2 4
0.00.1
0.20.3
0.4
x
dnorm(x)
Gaussian N(0,1) distribution density
-4 -2 0 2 4
0.00.2
0.40.6
0.81.0
x
pnorm(x)
cdf
0.0 0.2 0.4 0.6 0.8 1.0
-4-2
02
4
u
qnorm(u)
quantile function
2 4 6 8 10
0.00.5
1.01.5
2.0
Index
rnorm(10)
random values
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 29 / 50
Autour des lois de probabilites
Simuler le resultat d’un de a 6 faces
> DE = sample((1:6),100,replace =TRUE)
> DE
[1] 3 2 5 3 4 5 4 4 2 4 2 5 2 6 5 6 4 3 5 4 5 3 5
[24] 3 5 4 4 5 5 4 4 4 3 5 5 2 5 3 5 4 3 1 3 1 3 4
[47] 2 5 6 2 1 5 1 6 2 1 2 3 5 1 3 4 2 3 1 2 6 1 6
[70] 6 4 1 3 4 5 6 1 6 3 5 4 1 5 2 2 2 3 3 2 2 6 6
[93] 6 4 2 5 5 1 5 4
> table(DE)
DE
1 2 3 4 5 6
12 17 17 19 23 12
> plot(table(DE))
05
1015
20
DE
table(DE)
1 2 3 4 5 6
1OO lancers
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 30 / 50
Autour des lois de probabilites
Comportement asymptotique des frequences empiriques
lancer=function(n)
{
DE = sample((1:6),n,replace =TRUE)
plot(table(DE), ,lwd=3) ; abline(h=n/6,lwd=1)
}
02
46
810
1214
DE
table(D
E)
1 2 3 4 5 6
nb de lancers 50
05
1015
20
DE
table(D
E)
1 2 3 4 5 6
nb de lancers 100
020
4060
80100
DE
table(D
E)
1 2 3 4 5 6
nb de lancers 500
050
100150
DE
table(D
E)
1 2 3 4 5 6
nb de lancers 1000
0200
400600
800
DE
table(D
E)
1 2 3 4 5 6
nb de lancers 5000
0500
1000
1500
DE
table(D
E)
1 2 3 4 5 6
nb de lancers 10000
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 31 / 50
Autour des lois de probabilites
Sondages
On considere les resultats des elections europeennes
2 4 6 8 10
510
1520
25
candidat
prob
résultats des elections
27.9
16.5 16.3
8.5
6.34 65.4 5 5.2
2.86
> prob=c(27.9,16.5,16.3, 8.5, 6.34,6,5.4,5,5.2,2.86)
> plot(prob,type="h",lwd = 3)
> points(prob )
> title(’resultats des elections ’)
> text(1:10,prob+.5,prob,col="red")
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 32 / 50
Autour des lois de probabilites
Simuler les resultats d’un sondage
On simule un echantillon de taille 1000 suivant la loi multinomiale
> prob=c(27.9,16.5,16.3, 8.5, 6.34,6,5.4,5,5.2,2.86)
> size = 1000
> (Sondage = rmultinom(1, size, prob/100) )
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 296 152 174 89 51 63 56 40 51 28
Estimation par les frequences empiriques
> estimation = Sondage /size*100
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 29.6 15.2 17.4 8.9 5.1 6.3 5.6 4 5.1 2.8
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 33 / 50
Autour des lois de probabilites
Erreur d’estimation des proportions
2 4 6 8 10
-1.5-1.0
-0.50.0
0.51.0
candidat
erreur sur un sondage de taille 1000
Classement estime
2 4 6 8 10
24
68
10
candidats
classem
ents
classement des candidats
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 34 / 50
Autour des lois de probabilites
Second tour d’une election presidentielle: A 51% contre B 49%
Quel est la probabilite d’annoncer le candidat gagnant en realisant unsondage sur un echantillon de taille 1000 ?
Le resultat d’un sondage est obtenu en simulant un nombre aleatoirex suivant la loi binomiale (1000, .51)
On simule les resultats de N sondagesx=rbinom(N, 1000,0.51)
On calcule la frequence de l’evenement ”X>500”
y = (x>500)
sum(y)/length(y)
0.71
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 35 / 50
Autour des lois de probabilites
Resultat des sondages simules :
0 100 200 300 400 500
0.48
0.50
0.52
0.54
estimation du score de A
sondage
0.71
0.29
71 % des sondages donnent A gagnant
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 36 / 50
Autour des lois de probabilites
on augmente la taille de l’echantillon
Sondage sur des echantillons de taille 5000
0 100 200 300 400 500
0.49
0.50
0.51
0.52
0.53
estimation du score de A
sondage
0.912
0.912
0.088
Sondage sur des echantillons de taille 10000
0 100 200 300 400 500
0.495
0.500
0.505
0.510
0.515
0.520
0.525
estimation du score de A
sondage
0.98
0.02Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 37 / 50
Autour des lois de probabilites
On change
les resultats
les resultats sont 53% contre 47 %les sondages sont realises sur des echantillons de taille 1000
0 100 200 300 400 500
0.48
0.50
0.52
0.54
0.56
0.58
estimation du score de A
sondage
0.962
0.038
96 % des sondages donnent A gagnantAnne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 38 / 50
Tests
Plan
1 Le langage R
2 Graphiques
3 Statistique descriptive
4 Autour des lois de probabilites
5 Tests
6 Regression
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 39 / 50
Tests
Tests classiques :
Test sur la moyenne : test de Student
t.test(x,mu=5,alt="two.sided")
t.test(x,y,alt="less", conf=.95)
Test sur la variance
var.text(x,y) # comparaison variance
cor.test(x,y) # non correlation
Box.test(z, lag = 1) #non correlation
Test χ2
chisq.test(x,y) #independance
chisq.test(x) #ajustement a une loi donnee
Test d’ajustement
ks.test(x,"pnorm") #normalite K-S
ks.test(x,y) # meme distribution
shapiro.test(x) #normalite
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 40 / 50
Tests
Exemple : Test de Student t.test()
X1, . . . ,Xn iid N (1, 1)
Y1, . . . ,Ym iid Expo(1)
Test H0 : E (X ) = E (Y ) vs H1 : E (X ) 6= E (Y )
> x = rnorm(100,1,1)
> y = rexp(200,1)
> t.test(x,y)
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 0
95 percent confidence interval:
-0.2648092 0.2121608
sample estimates: mean of x : 0.9544127 mean of y : 0.9807369
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 41 / 50
Tests
Test d’ajustement du χ2 : lancer d’un de
1
2
3
4
5
6
02
46
810
DE
table(DE)
1 2 3 4 5 6
nb de lancers 50
1
2
3
4
5
6
020
40
60
80
DE
table(DE)
1 2 3 4 5 6
nb de lancers 500
50 lancers
>tab = table(de)
1 2 3 4 5 6
10 7 5 10 10 8
>chisq.test(tab)
Chi-squared test for given probabilities
data: table(de)
X-squared = 2.56, df = 5, p-value = 0.7674
500 lancers
1 2 3 4 5 6
84 82 94 84 76 80
Chi-squared test for given probabilities
data: table(DE)
X-squared = 2.176, df = 5, p-value = 0.8243
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 42 / 50
Tests
Test d’ajustement a une gaussienne
On simule une loi normale en utilisant le TCL sur des variables iid suivantla loi uniforme.
Methode de simulation non exacte ....
U = U1, . . . ,Un iid suivant la loi uniforme
√12n(Un −
1
2)⇒ X ∼ N(0, 1) Un =
1
n
n∑i=1
Ui
Le generateur s’ecrit
simU<-function(size,n)
{
y = matrix(runif(n*size),ncol=n)
(apply(y,1,mean)-1/2)*sqrt(n*12)
}
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 43 / 50
Tests
Test de normalite. n = 1, 2, 5
One-sample Kolmogorov-Smirnov test
data: X
D = 0.0682, p-value = 0.0001841
data: X
D = 0.0325, p-value = 0.2401
data: X
D = 0.0296, p-value = 0.3439
Shapiro-Wilk normality test
data: X
W = 0.9523, p-value < 2.2e-16
data: X
W = 0.9924, p-value = 5.496e-05
data: X
W = 0.9975, p-value = 0.1354
-2 -1 0 1 2
0.00.1
0.20.3
0.4
n= 1
N = 1000 Bandwidth = 0.2251
Density
-3 -2 -1 0 1 2 3
0.00.1
0.20.3
0.4
n= 2
N = 1000 Bandwidth = 0.2247
Density
-3 -2 -1 0 1 2 3
0.00.1
0.20.3
0.4
n= 5
N = 1000 Bandwidth = 0.2334
Density
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 44 / 50
Regression
Plan
1 Le langage R
2 Graphiques
3 Statistique descriptive
4 Autour des lois de probabilites
5 Tests
6 Regression
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 45 / 50
Regression
Regression lineaire
Lien lineaire entre les variables x et Y
Yi = axi + b + εi
ou (εi )i est une suite de variables aleatoires iid, centrees et L2.Pour realiser une regression lineaire, par la methode des moindres carres,on utilise la fonction lm :Si les donnees sont sous la forme de 2 vecteurs X et Y (de meme taille)
r=lm(Y~X)
Call:
lm(formula = Y ~ X)
Coefficients:
(Intercept) X
1.368 1.031
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 46 / 50
Regression
plot(X,Y) plot(r$residual, type="h")
abline(r)
qqnorm(r$residual)
abline(0,1) acf(r$residuals)
5 10 15 20 25
510
1520
25
X
Y
5 10 15 20 25
-2-1
01
Index
r$residua
l
-2 -1 0 1 2
-2-1
01
Normal Q-Q Plot
Theoretical Quantiles
Samp
le Quan
tiles
0 2 4 6 8 10 12
-0.4
0.00.4
0.8
Lag
ACF
Series r$residuals
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 47 / 50
Regression
Ajustement polynomial : r=lm(Y∼poly(X,deg)))
5 10 15 20 25
020
4060
80100
speed
dist
deg = 1
5 10 15 20 25
020
4060
80100
speed
dist
deg = 2
5 10 15 20 25
020
4060
80100
speed
dist
deg = 3
5 10 15 20 25
020
4060
80100
speed
dist
deg = 4
plot(cars)
r = lm(dist ~ poly(speed, i), data = cars)
lines(cars$speed,r$fitted)
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 48 / 50
Regression
Generalisation
regression multiple lm(v ∼ v1 + v2 + v3)
regression lineaire generalisee glm
selection de modeles, anova
approche non parametrique par noyau
lissage
polynomes locaux
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 49 / 50
Regression
Conclusion
Peut on utiliser R pour l”enseignement ?
Difficulte : Langage a apprendre
Solutions :
proposer des fonctions boite noireutiliser des librairies avec interface graphique
Exemple : la librairie Rcmdr
Anne PHILIPPE (U. Nantes) Logiciel R 29 juillet 2010 50 / 50