Main Content

Dichteschätzung unter Verwendung von Wavelets

In diesem Abschnitt lernen Sie die Funktionen der Dichteschätzung für 1D-Wavelets mit einem der spezialisierten Tools der Wavelet Toolbox™ kennen.

Die Toolbox enthält die Wavelet Analyzer-App, mit der Sie die Dichte einer Abtastung schätzen und bekannte Tools wie das Histogramm (verfügbar über den MATLAB®-Core) oder Kernel-basierte Schätzungen ergänzen können.

Stellen Sie für die Beispiele in diesem Abschnitt den Erweiterungsmodus mit dem folgenden Befehl auf symmetrisches Auffüllen:

dwtmode('sym')

1D-Schätzung mithilfe der Wavelet Analyzer-App

  1. Starten Sie das Tool zur 1D-Dichteschätzung.

    Geben Sie in der MATLAB-Eingabeaufforderung waveletAnalyzer ein.

    Wavelet Analyzer wird angezeigt.

    Klicken Sie auf den Menüpunkt Density Estimation 1-D. Das Tool für die diskrete Wavelet-Analyse für die 1D-Dichteschätzung wird angezeigt.

  2. Laden Sie die Daten.

    Geben Sie an der MATLAB-Befehlszeile Folgendes ein:

    load ex1cusp1
    Wählen Sie im Tool Density Estimation 1-D (Dichteschätzung 1D) File > Import from Workspace aus.

    Wenn das Dialogfeld Import from Workspace (Aus dem Arbeitsbereich importieren) angezeigt wird, wählen Sie ex1cusp1 aus. Klicken Sie auf OK, um die verrauschten Daten für Spitzen zu importieren.

    Die Abtastung, ein Histogramm mit 64 Intervallen und die nach der Einteilung in Intervalle erhaltenen verarbeiteten Daten werden angezeigt. In diesem Beispiel akzeptieren wir den Standardwert für die Anzahl der Intervalle (250). Die entsprechend normalisierten, in Intervalle eingeteilten Daten werden durch Wavelet-Zerlegung verarbeitet.

  3. Führen Sie eine Wavelet-Zerlegung der in Intervalle eingeteilten Daten durch.

    Wählen Sie das Wavelet sym6 aus dem Menü Wavelet aus, und 4 aus dem Menü Level (Ebene). Klicken Sie dann auf die Schaltfläche Decompose (Zerlegen). Nach einer Pause, in der die Berechnung durchgeführt wird, zeigt das Tool die Detailkoeffizienten der Zerlegung der in Intervalle eingeteilten Daten an.

  4. Führen Sie eine Dichteschätzung durch.

    Akzeptieren Sie die Standardwerte des globalen Soft-Thresholding. Über die Schieber auf der rechten Seite des Fensters werden die ebenenabhängigen Schwellenwerte gesteuert, die durch gestrichelte blaue Linien gekennzeichnet sind, die horizontal durch die Diagramme auf der linken Seite des Fensters verlaufen.

    Fahren Sie fort, indem Sie auf die Schaltfläche Estimate (Schätzen) klicken.

    Sie sehen, dass die Schätzung eine sehr unregelmäßige Dichte ergibt. Die Dichteschätzung (in Lila) ist die normalisierte Summe der darunterliegenden Signale: die Approximation a4 und die rekonstruierten Details nach der Schwellenwertbildung für Koeffizienten.

  5. Führen Sie eine Schwellenwertbildung durch.

    Sie können mit den verschiedenen vordefinierten Strategien für die Schwellenwertbildung experimentieren, indem Sie die entsprechenden Optionen aus dem Menü auf der rechten Seite des Fensters auswählen oder die gestrichelten blauen Linien direkt mit der linken Maustaste ziehen. Versuchen wir eine andere Schätzungsmethode.

    Wählen Sie aus dem Menü Select thresholding method (Methode der Schwellenwertbildung auswählen) die Option By level threshold 2 (Nach Ebenenschwellenwert 2) aus. Klicken Sie anschließend auf die Schaltfläche Estimate (Schätzen).

    Die geschätzte Dichte ist zufriedenstellender. Sie identifiziert korrekt den glatten Teil der Dichte und die Spitze bei 0,7.

Importieren und Exportieren von Informationen aus der Wavelet Analyzer App

Mit dem Tool können Sie die geschätzte Dichte auf der Festplatte speichern. Die Toolbox erstellt eine MAT-Datei im aktuellen Ordner mit einem von Ihnen ausgewählten Namen.

Um die geschätzte Dichte zu speichern, verwenden Sie die Menüoption File (Datei) > Save Density (Dichte speichern). Es wird ein Dialogfenster angezeigt, in dem Sie einen Ordner und Dateinamen zur Speicherung der Dichte angeben können. Geben Sie in den Namen dex1cusp ein. Nachdem Sie die Dichtedaten in der Datei dex1cusp.mat gespeichert haben, laden Sie die Variablen in Ihren Arbeitsbereich:

load dex1cusp 
whos
NameGrößeByteKlasse
ex1cusp11x10008000double array
thrParams1x4544cell array
wname1x48char array
xdata1x2502000double array
ydata1x2502000double array

Die ursprünglichen verrauschten Daten für Spitzen ex1cusp1 haben 1000 Abtastungen. Die Variablen thrParams, wname, xdata und ydata werden in dex1cusp.mat gespeichert. Die geschätzte Dichte wird durch xdata und ydata angegeben. Die Länge dieser Vektoren ist gleich der Anzahl an Intervallen, die Sie in Schritt 4 auswählen. Zudem werden die Parameter des Schätzungsprozesses durch den Wavelet-Namen in wname angegeben.

wname

wname = 
    sym6

und die ebenenabhängigen Schwellenwerte in thrParams, einem Zellen-Array der Länge 4 (der Zerlegungsgrad). Für i von 1 bis 4 enthält thrParams{i} die unteren und oberen Grenzen des Schwellenwertbildungsintervalls und den Schwellenwert (da intervallabhängige Schwellenwerte zulässig sind). Beispielsweise für Ebene 1

thrParams{1}
ans = 
    0.0560    0.9870    2.1179

Hinweis

Wenn Sie Daten aus einer Datei mit der Menüoption File (Datei) > Load Data for Density Estimate (Daten für Dichteschätzung laden) laden, wird die erste gefundene 1D-Variable als Signal angesehen. Variablen werden in alphabetischer Reihenfolge untersucht.

Stellen Sie am Ende dieses Abschnitts den Erweiterungsmodus wieder auf kein Auffüllen. Verwenden Sie dazu

dwtmode('zpd')