Estimation par noyau

En statistique, l’estimation par noyau (ou encore méthode de Parzen-Rosenblatt ; en anglais, kernel density estimation ou KDE) est une méthode non-paramétrique d’estimation de la densité de probabilité d’une variable aléatoire. Elle se base sur un échantillon d’une population statistique et permet d’estimer la densité en tout point du support. En ce sens, cette méthode généralise astucieusement la méthode d’estimation par un histogramme.
Définition
Si Modèle:Formule est un échantillon i.i.d. d'une variable aléatoire, alors l'estimateur non-paramétrique par la méthode du noyau de la densité est : Modèle:Retrait
où Modèle:Formule est un noyau (kernel en anglais) et Modèle:Formule un paramètre nommé fenêtre, qui régit le degré de lissage de l'estimation. Bien souvent, Modèle:Formule est choisi comme la densité d'une fonction gaussienne standard (espérance nulle et variance unitaire) : Modèle:Retrait
Intuition
La méthode de Parzen est une généralisation de la méthode d'estimation par histogramme. Dans un histogramme, la densité en un point Modèle:Formule est estimée par la proportion d'observations Modèle:Formule qui se trouvent à proximité de Modèle:Formule. Pour cela, on trace une boîte en Modèle:Formule et dont la largeur est gouvernée par un paramètre de lissage Modèle:Formule ; on compte ensuite le nombre d'observations qui appartiennent à cette boîte. Cette estimation, qui dépend du paramètre de lissage Modèle:Formule, présente de bonnes propriétés statistiques mais est par construction non-continue.
La méthode du noyau consiste à retrouver la continuité : pour cela, on remplace la boîte centrée en Modèle:Formule et de largeur Modèle:Formule par une gaussienne centrée en Modèle:Formule. Plus une observation est proche du point de support Modèle:Formule plus la courbe en cloche lui donnera une valeur numérique importante. À l'inverse, les observations trop éloignées de Modèle:Formule se voient affecter une valeur numérique négligeable. L'estimateur est formé par la somme (ou plutôt la moyenne) des courbes en cloche. Comme indiqué sur l'image suivante, il est clairement continu.

Propriétés
La vitesse de convergence de l'erreur quadratique moyenne intégrée, Modèle:Math est plus faible que la vitesse typique des méthodes paramétriques, généralement Modèle:Math.
L'utilisation pratique de cette méthode requiert deux choses :
- le noyau Modèle:Mvar (généralement la densité d'une loi statistique) ;
- le paramètre de lissage Modèle:Mvar.
Si le choix du noyau est réputé comme peu influent sur l'estimateur, il n'en est pas de même pour le paramètre de lissage. Un paramètre trop faible provoque l'apparition de détails artificiels apparaissant sur le graphe de l'estimateur ; à l'inverse, pour une valeur de Modèle:Mvar trop grande, la majorité des caractéristiques est au contraire effacée. Le choix de Modèle:Mvar est donc une question centrale dans l'estimation de la densité.
Une façon répandue d'obtenir une valeur de Modèle:Mvar est de supposer que l'échantillon est distribué selon une loi paramétrique donnée, par exemple selon la loi normale Modèle:Formule. Alors, on peut prendre : Modèle:Retrait Malheureusement, l'estimation gaussienne n'est pas toujours efficace, par exemple lorsque Modèle:Mvar est petit.
Une autre façon d'opérer est de chercher à fixer Modèle:Mvar de manière optimale. Soit Modèle:Math la fonction de risque de l'espace Modèle:Math pour Modèle:Mvar. Sous des hypothèses faibles sur Modèle:Mvar et Modèle:Mvar,
Modèle:Retrait où Modèle:Retrait
La fenêtre optimale est obtenue en minimisant la fonction de risque et vaut : Modèle:Retrait
où
Modèle:Retrait Modèle:Retrait Modèle:Retrait
Le paramètre Modèle:Mvar est toujours proportionnel à Modèle:Math : c'est la constante que l'on doit rechercher. La méthode précédente n'est pas opérante dans le sens où Modèle:Math dépend de la densité Modèle:Mvar elle-même, qui est justement inconnue.
Il existe dans la littérature différentes méthodes plus sophistiquées (voir méthode de la validation croisée introduite par Rudemo (1982) et Bowman (1984), qui utilise l'estimateur "Modèle:Lang").
Implémentations en informatique
- MATLAB : la méthode est codée par la fonction
ksdensity; - R (logiciel) : la méthode est codée par les scripts
densityetkde2det dans le package btb[1] par la fonctionkernelSmoothing; - SAS : il faut utiliser
proc kdepour les densités univariée ou bivariée. - Python : la fonction
gaussian_kdedu packagescipy(modulestats) permet le calcul de densités multi-dimensionnelles. - Apache Spark : la classe
KernelDensity()de la librairie MLlib[2]
Notes et références
Bibliographie
- Parzen E. (1962). On estimation of a probability density function and mode, Ann. Math. Stat. 33, pp. 1065-1076.
- Modèle:DudaHartStork
- Wasserman, L. (2005). All of statistics : a concise course in statistical inference, Springer Texts in Statistics.
- B.W. Silverman. Density Estimation. London: Chapman and Hall, 1986.