Master Ingénierie mathématique, Univ.
Nantes
Statistique Inférentielle.
Anne Philippe
Université de Nantes, LMJL
Adresses email :
[email protected]
Pages web :
Information sur le cours / données / exercices
http://www.math.sciences.univ-nantes.fr/~philippe/stat.html
http://www.math.sciences.univ-nantes.fr/~philippe/R_freeware.html
Fiche 1. Estimation non paramétrique
Exercice 1. Estimation d’une loi discrète finie
1) Récupérer les données dans le fichier
http://www.math.sciences.univ-nantes.fr/~philippe/data/SampleDiscret.txt Les
données ont été simulées suivant la loi binomiale de paramètre n = 5 et p = 0.3
Soit X1 une variable aléatoire discrète prenant les {0, ..., 5}. On veut estimer la loi de
X1 à partir d’un échantillon X1 , ..., Xn
On définit les deux estimateurs suivants :
-o- les fréquences empiriques
1
p̂n = (p̂n (0), ...., p̂n (5)) = (Nn (0), ...., Nn (5))
n
où
n
X
Nn (j) = I{j} (Xi )
i=1
La fonction table calcule les valeurs des Nn (j)
1
2 Anne PHILIPPE, Université de Nantes
-o- la fonction de répartition empirique
n
1X
Fn (x) = I]−∞,x] (Xi )
n i=1
qui estime la fonction de répartition de X1 :
F (x) = P (X1 ≤ x)
La fonction ecdf calcule la fonction Fn :
> Fn = ecdf(x)
> plot(Fn)
2) Justifier que p̂n est un estimateur de la densité c’est à dire du vecteur de probabilités
(P (X1 = 0), ..., P (X1 = 5))
3) Pour n = 50, 500, 1000, 10000,
a) Tracer l’estimation de la loi par l’estimateur des fréquences empiriques p̂n calculées
sur les n premières observations
b) Ajouter les valeurs de {(i, P (X1 = i)), i = 0...5}
Indication : Représenter les 4 graphiques sur une même fenêtre en utilisant
la commande par(mfrow=c(2,2)) qui partage la fenêtre en 2 lignes et 2 colonnes
4) Pour n = 50, 500, 1000, 10000,
a) Tracer la fonction de répartition empirique Fn calculée sur les n premières observa-
tions
b) Superposer la fonction de répartition théorique
Indication : utiliser pbinom pour calculer les valeurs de la fonction de répartition,
puis construire avec stepfun une fonction constante par morceaux et continue à
droite.
La syntaxe est
F=stepfun(x, z) où
— le vecteur x contient les points de discontinuité de la fonction,
— le vecteur z est de la forme c(a, y) où a est la valeur prise par F avant
le premier point de discontinuité et y les valeurs de la fonction aux points de
discontinuités x.
Pour représenter graphiquement la fonction F on utilise plot ou lines (pour su-
perposer) : avec l’argument vertical=FALSE
> plot(F, vertical=FALSE) ou lines(F, vertical=FALSE)
5) Commenter les résultats obtenus
Anne PHILIPPE, Université de Nantes 3
Exercice 2. Le processus empirique
Soit (Xn )n∈N une suite de variables aléatoires indépendantes et identiquement distribuées
suivant une loi continue. On rappelle que le processus empirique est défini par
n
1X
Fn (t) = I]−∞,t] (Xi ).
n i=1
1) Illustrer la convergence presque sûre de Fn (x) vers F (x) = P (X1 ≤ x) et le théorème
de Glivenko Cantelli sur les exemples suivants
— X1 suit une loi uniforme sur [0, 1]
— X1 suit une loi gaussienne standard
— X1 suit une loi beta de paramètre (1/2, 1/4) ,
— X1 suit une loi de student à 1 degré de liberté.
2) Illustrer la propriété suivante :
la loi de la variable aléatoire supt |Fn (t) − F (t)| ne dépend pas de la loi de X1
Reprendre les exemples de la question 1).
3) Par la simulation, trouver une suite (un ) telle que
un sup |Fn (t) − F (t)|
t
converge en loi vers une variable aléatoire non dégénérée.
Exercice 3. Estimation non paramétrique sur des lois continues
Récupérer les fichiers de données suivantes :
-•- le fichier SampleGauss01.txt contient une réalisation (x1 , . . . , xn ) de l’échantillon
X = (X1 , . . . , Xn ) iid suivant la loi normale N (0, 1).
http://www.math.sciences.univ-nantes.fr/~philippe/data/SampleGauss01.txt
-••- le fichier SampleGauss03.txt contient une réalisation (y1 , . . . , yn ) de l’échantillon
Y = (Y1 , ..., Yn ) iid suivant la loi normale N (0, 32 ).
http://www.math.sciences.univ-nantes.fr/~philippe/data/SampleGauss03.txt
Estimation de la densité par un histogramme
Quelques fonctions R : La fonction hist trace l’histogramme de l’échantillon x.
La syntaxe est
— hist(x, proba = TRUE), le choix du nombre de classes est optimisé pour minimiser
l’erreur quadratique moyenne.
On peut fixer les classes en ajoutant l’argument breaks.
— hist(x, proba = TRUE , breaks = p) avec p un entier, le nombre de classes est
approximativement p et les classes sont de même longueur.
4 Anne PHILIPPE, Université de Nantes
— hist(x, proba = TRUE , breaks = a) avec a un vecteur, les coordonnées de a dé-
finissent les classes de l’histogramme. Il y a donc length(a) - 1 classes.
1) Dans cette question, on estime la densité par un histogramme en utilisant le nombre de
classes optimal de la fonction hist.
Pour n = 50, 500, 1000 10000 :
a) Tracer l’histogramme calculé sur les n premières observations X1 , ..., Xn .
b) Superposer la densité de la loi théorique c’est à dire la densité de la loi N (0, 1).
c) Commenter les résultats.
Tracer les 4 graphiques sur une même fenêtre en utilisant
par(mfrow=c(2,2)).
2) Refaire la question 1 sur l’échantillon Y et comparer les résultats.
3) Sur l’échantillon X, nous allons illustrer les effets du nombre de classes sur la qualité
de l’estimateur.
On fixe le nombre d’observations n = 500 et on construit l’histogramme avec k classes
de même longueur pour différentes valeurs de k = 3, 5, 10, 15, 20, 25, 50, 100, 150.
a) Construire une suite arithmétique a de longueur k + 1 allant min(X1 , ..., X500 ) à
max(X1 , ..., X500 ). Ces points définissent les classes de l’histogramme.
b) Tracer l’histogramme de X1 , ..., X500 ayant k classes définies par le vecteur a.
c) Superposer la densité de la loi théorique c’est à dire la densité de la loi N (0, 1).
d) Commenter les résultats obtenus. Comparer avec le résultat obtenu à la question 1.
Tracer les 9 histogrammes sur une même page : par(mfrow=c(3,3)).
Estimation de la densité par l’estimateur à Noyau
Quelques fonctions R :
— La fonction fn = density(x) calcule sur l’échantillon x l’histogramme à noyau avec
un choix automatique de h, optimisé pour minimiser l’erreur quadratique moyenne
et par défaut le noyau gaussien
— Pour changer la valeur de h, on ajoute l’option bw
— Pour changer le noyau, on ajoute l’option kernel
— La commande plot(fn) permet ensuite de représenter graphiquement l’estimateur.
1) Dans cette question, on utilise l’estimateur avec la valeur de h optimisée par la fonction
density et le gaussien (par défaut).
Pour n = 5, 10, 50, 100, 1000 10000, (tracer les 6 graphiques sur une même
fenêtre.)
Anne PHILIPPE, Université de Nantes 5
a) Tracer l’estimateur à noyau calculé sur les n premières observations X1 , ..., Xn .
b) Superposer la densité de la loi théorique c’est à dire la densité de la loi N (0, 1).
c) Commenter les résultats.
2) On fixe n = 1000 et on fait varier le paramètre h.
Pour h = 0.01, 0.02, 0.1, 0.25, 0.5, 1 , 2. On conserve le noyau gaussien.
a) Tracer l’estimateur à noyau calculé sur les 1000 premières observations de X.
b) Superposer la densité de la loi théorique, c’est à dire la densité de la loi N (0, 1).
c) Commenter les résultats.
3) Refaire les questions 1 et 2 avec le noyau uniforme.