Académique Documents
Professionnel Documents
Culture Documents
Principe
Code en python
Code en R
DEHMANE Malak
LACHGER Abderrazzak
AHMITO Meriem
AKIL Hajar
RAJAFALLAH Mouhcine
ENSAM-Casablanca
1 / 32
Introduction
Principe
Code en python
Code en R
Table de Matières
1 Introduction
2 Principe
3 Code en python
4 Code en R
2 / 32
Introduction
Principe
Code en python
Code en R
Table of Contents
1 Introduction
2 Principe
3 Code en python
4 Code en R
3 / 32
Introduction
Principe
Code en python
Code en R
Introduction
Au lieu de fixer des paramètres spécifiques pour décrire la
distribution des données, l’estimation non paramétrique utilise des
techniques plus flexibles qui s’adaptent aux données elles-mêmes,
comme l’exemple de l’estimation par noyau gaussien.
4 / 32
Introduction
Principe
Code en python
Code en R
Table of Contents
1 Introduction
2 Principe
3 Code en python
4 Code en R
5 / 32
Introduction
Principe
Code en python
Code en R
KDE
Définition
the kernel density estimation (KDE) est une méthode non
paramétrique utilisée pour estimer la densité de probabilité d’une
variable aléatoire. L’estimation de la densité est obtenue en
superposant des fonctions noyaux (ou kernels) centrées sur chaque
point de données, puis en les pondérant pour obtenir une
estimation continue
propriétés
la fonction Kernel doit être positive, symétrique,décroissante
6 / 32
Introduction
Principe
Code en python
Code en R
KDE
idée du principe
Le principe de la Kernel Density Estimation (KDE) repose sur la
construction d’une estimation continue de la densité de probabilité
d’une variable aléatoire à partir d’un ensemble fini d’observations
en utilisant cette formule :
n
ˆ 1 X x − Xi
f (x) = K
n·h h
i=1
Où :
fˆ(x) est l’estimation de la densité de probabilité à
l’emplacement x.
K est une fonction noyau.
h est la largeur de la bande.
7 / 32
Introduction
Principe
Code en python
Code en R
8 / 32
Introduction
Principe
Code en python
Code en R
Choix de la bande h
Le choix de la largeur de bande a une influence significative sur la
fonction (KDE). La largeur de bande h contrôle le degré de lissage
de l’estimation de la densité. Une valeur plus grande de h produit
une estimation plus lisse, tandis qu’une valeur plus petite de h
donne une estimation plus granulaire avec plus de détails. Cela
signifie qu’une large valeur de h rendra la fonction de densité
estimée plus ”plate” et moins sensible aux variations locales des
données, tandis qu’une petite valeur de h la rendra plus ”pointue”
et plus sensible aux fluctuations des données.
8 / 32
Introduction
Principe
Code en python
Code en R
Définition de la MISE
La Mean Integrated Squared Error (MISE) est une mesure
couramment utilisée pour évaluer la performance de la Kernel
Density Estimation (KDE) et pour choisir la largeur de bande
optimale h par validation croisée. La formule de la MISE est la
suivante :
Z 2
MISE(h) = fˆ(x) − f (x) dx
Où :
fˆ(x) est l’estimation de la densité de probabilité.
f (x) est la vraie densité de probabilité sous-jacente.
9 / 32
Introduction
Principe
Code en python
Code en R
10 / 32
Introduction
Principe
Code en python
Code en R
Problème
11 / 32
Introduction
Principe
Code en python
Code en R
Règle de Silverman
Où :
n est le nombre d’observations dans l’échantillon.
σ est l’écart-type des données.
12 / 32
Introduction
Principe
Code en python
Code en R
Table of Contents
1 Introduction
2 Principe
3 Code en python
4 Code en R
13 / 32
Introduction
Principe
Code en python
Code en R
Graphique
14 / 32
Introduction
Principe
Code en python
Code en R
Remaque
La représentation mathématique du noyau gaussien est :
(xi − x)2
1
√ · exp −
2πbandwidth2 2bandwidth2
15 / 32
Introduction
Principe
Code en python
Code en R
Code Python
import numpy as np
import matplotlib . pyplot as plt
16 / 32
Introduction
Principe
Code en python
Code en R
Code Python
bandwidth = 2
17 / 32
Introduction
Principe
Code en python
Code en R
Code Python
18 / 32
Introduction
Principe
Code en python
Code en R
19 / 32
Introduction
Principe
Code en python
Code en R
Explication de code
20 / 32
Introduction
Principe
Code en python
Code en R
Explication de code
21 / 32
Introduction
Principe
Code en python
Code en R
Explication de code
3. Définition de la fonction pour effectuer l’estimation de densité
par noyau (KDE) :
def kde ( data , xi , bandwidth ) :
kde_result = np . zeros_like ( xi )
for i , xi_val in enumerate ( xi ) :
for data_point in data :
kde_result [ i ] += gauss_kernel ( xi_val ,
data_point , bandwidth )
kde_result [ i ] /= len ( data ) * bandwidth
return kde_result
Explication de code
23 / 32
Introduction
Principe
Code en python
Code en R
Explication de code
24 / 32
Introduction
Principe
Code en python
Code en R
Explication de code
25 / 32
Introduction
Principe
Code en python
Code en R
Explication de code
26 / 32
Introduction
Principe
Code en python
Code en R
Explication de code
Cette partie du code trace le graphique KDE ainsi que les fonctions
de noyau gaussien individuelles pour chaque point de données.
Enfin, il ajoute un titre, des étiquettes d’axe, une légende et affiche
le graphique.
27 / 32
Introduction
Principe
Code en python
Code en R
Table of Contents
1 Introduction
2 Principe
3 Code en python
4 Code en R
28 / 32
Introduction
Principe
Code en python
Code en R
Graphique
29 / 32
Introduction
Principe
Code en python
Code en R
Code en R
30 / 32
Introduction
Principe
Code en python
Code en R
Code en R
31 / 32
Introduction
Principe
Code en python
Code en R
32 / 32