Main Content

Estimation de la densité à l'aide d'ondelettes

Cette section vous présente les caractéristiques de l'estimation de la densité des ondelettes 1-D à l'aide de l'un des outils spécialisés Wavelet Toolbox™.

La toolbox propose l'application Wavelet Analyzer pour estimer la densité d'un échantillon et compléter des outils bien connus comme l'histogramme (disponible dans le fonctionnalités de base de MATLAB®) ou les estimations par noyau.

Pour les exemples de cette section, utilisez le mode d'extension « symmetric padding » (remplissage symétrique), en utilisant la commande

dwtmode('sym')

Estimation 1-D avec l'application Wavelet Analyzer

  1. Lancez l'outil d'estimation de la densité 1-D.

    À l'invite MATLAB, tapez waveletAnalyzer.

    La fenêtre Wavelet Analyzer apparaît.

    Cliquez sur l’élément du menu Density Estimation 1-D. L'outil d'analyse par ondelettes discrète pour l'estimation de la densité 1-D apparaît.

  2. Chargez les données.

    Dans la ligne de commande MATLAB, tapez

    load ex1cusp1
    Dans l'outil d'estimation de la densité 1-D, choisissez File > Import from Workspace.

    Lorsque la boîte de dialogue Import from Workspace apparaît, sélectionnez ex1cusp1. Cliquez sur OK pour importer les données de seuil bruitées.

    L'échantillon, un histogramme à 64 bins (cases), et les données traitées obtenues après un regroupement sont affichés. Dans cet exemple, nous accepterons la valeur par défaut pour le nombre de bins (250). Les données regroupées (par bin), convenablement normalisées, seront traitées par décomposition en ondelettes.

  3. Effectuez une décomposition en ondelettes des données regroupées.

    Sélectionnez l'ondelette sym6 dans le menu Wavelet et sélectionnez 4 dans le menu Level, puis cliquez sur le bouton Decompose. Après une pause pour le calcul, l'outil affiche les coefficients détaillés de la décomposition des données regroupées.

  4. Effectuez une estimation de la densité.

    Acceptez les valeurs par défaut du seuillage doux global. Les curseurs (situés à droite de la fenêtre) contrôlent les seuils dépendant du niveau, indiqués par des lignes bleues pointillées traversant horizontalement les graphiques à gauche de la fenêtre.

    Continuez en cliquant sur le bouton Estimate.

    Vous pouvez voir que le processus d'estimation donne une densité résultante très irrégulière. L'estimation de la densité (en violet) est la somme normalisée des signaux situés en dessous : l'approximation a4 et les détails reconstruits après le seuillage des coefficients.

  5. Effectuez un seuillage.

    Vous pouvez expérimenter les différentes stratégies de seuillage prédéfinies en sélectionnant les options appropriées dans le menu situé à droite de la fenêtre ou directement en faisant glisser les lignes bleues pointillées avec le bouton gauche de la souris. Essayons une autre méthode d'estimation.

    Dans le menu Select thresholding method, sélectionnez l'élément By level threshold 2. Ensuite, cliquez sur le bouton Estimate.

    La densité estimée est plus satisfaisante. Elle identifie correctement la partie lisse de la densité et le seuil à 0,7.

Importation et exportation d'informations depuis l'application Wavelet Analyzer

L'outil vous permet d'enregistrer la densité estimée sur le disque. La toolbox crée un fichier MAT dans le dossier actuel avec le nom de votre choix.

Pour enregistrer la densité estimée, utilisez l'option de menu File > Save Density. Une boîte de dialogue apparaît et vous permet de spécifier un dossier et un nom de fichier pour stocker la densité. Tapez le nom dex1cusp. Après avoir enregistré les données de densité dans le fichier dex1cusp.mat, chargez les variables dans votre espace de travail :

load dex1cusp 
whos
NomTailleOctetsClasse
ex1cusp11x10008000double array
thrParams1x4544cell array
wname1x48char array
xdata1x2502000double array
ydata1x2502000double array

Les données de seuil originales bruitées ex1cusp1 ont 1 000 échantillons. Les variables thrParams, wname, xdata, et ydata sont stockées dans dex1cusp.mat. La densité estimée est donnée par xdata et ydata. La longueur de ces vecteurs est égale au nombre de bins que vous avez choisi à l'étape 4. De plus, les paramètres du processus d'estimation sont donnés par le nom de l'ondelette dans wname.

wname

wname = 
    sym6

et les seuils dépendant du niveau contenus dans thrParams, qui est un cell array de longueur 4 (le niveau de la décomposition). Pour i de 1 à 4, thrParams{i} contient les limites inférieure et supérieure de l'intervalle de seuillage et la valeur du seuil (puisque les seuils dépendant de l'intervalle sont autorisés). Par exemple, pour le niveau 1,

thrParams{1}
ans = 
    0.0560    0.9870    2.1179

Remarque

Lorsque vous chargez des données à partir d'un fichier en utilisant l'option de menu File > Load Data for Density Estimate, la première variable 1-D rencontrée dans le fichier est considérée comme le signal. Les variables sont inspectées par ordre alphabétique.

À la fin de cette section, remettez le mode d'extension sur « zero padding » en utilisant

dwtmode('zpd')