Diese Ausgabe wurde durch die Anfrage eines Kunden zu zwei unserer nichtparametrischen Datenanpassungsfunktionen inspiriert: NxLOCREG(.) und NxKREG(.). Der Kunde schrieb:
Anfrage 1:
"Ich brauche Hilfe beim Verständnis der Funktionen NxLOCREG und NxKREG.
- Für NxLOCREG & NxKREG - Wenn Y 100 Datenpunkte und Alpha = 0,333 ist, bedeutet dies, dass der Algorithmus die letzten 33 Datenpunkte oder eine Verteilung für jeden dritten Punkt betrachtet?
- Ich kann nur Polynome bis zur Ordnung 3 (kubisch) verwenden. Alles, was höher ist, wird als #NUM! zurückgegeben. Erlauben die Algorithmen höhere Ordnungen?
- Mir ist der Unterschied zwischen NxLOCREG und NxKREG nicht ganz klar. Können Sie mir eine kurze Erklärung geben?"
Die Funktion NxLOCREG(.) implementiert einen lokalisierten Regressionsalgorithmus - LOESS, auch bekannt als der Savitzky-Golay-Filter.
Die Funktion NxKREG(.) implementiert eine gewichtete Regression der kleinsten Quadrate.
Die beiden Funktionen sind sehr ähnlich, aber NxLOCREG(.) hat ein zusätzliches Argument: Alpha oder H, das einen Wert zwischen Null (ausschließlich) und 1 (einschließlich) annehmen kann. Folglich wählt die Funktion NxLOCREG die nächstgelegenen H*N-Datenpunkte aus, während NxKREG (.) immer den gesamten Datensatz (d. h. N) einschließt.
Im Einzelnen läuft das Kernel-Regressionsverfahren bei einem Zielwert X wie folgt ab:
- Berechnen Sie den Abstand zwischen dem Zielwert und den Datenpunkten in der Stichprobe.
- Sortieren Sie die Datenpunkte anhand ihres Abstands in aufsteigender Reihenfolge.
- Wählen Sie den Regressions-Eingabedatensatz aus:
- (Fall NxLOCREG) Auswahl der nächstgelegenen (d. h. ersten) H*N Datenpunkte.
- (Fall NxKREG) Wählen Sie die gesamten N Datenpunkte aus.
- Berechnen Sie die Gewichte der ausgewählten Datenpunkte unter Verwendung der angegebenen Kernel-Funktion.
- Führen Sie das Regressionsmodell der gewichteten kleinsten Quadrate durch.
- Berechnen Sie den Regressionswert beim Wert X.
Das Verfahren/der Algorithmus verwendet die H*N Datenpunkte, die dem Zielwert am nächsten liegen, so dass für jeden Wert ein eigenes Regressionsmodell mit einem (möglicherweise) anderen Datensatz erstellt wird.
Wenn Alpha = 1,0 ist und alle anderen Argumente gleich bleiben, liefern die Funktionen NxKREG(.) und NxLOCREG(.) identische Ergebnisse.
Derzeit unterstützen die Funktionen NxLOCREG(.) und NxKREG(.) Polynome der Ordnung bis 3 (kubisch).
Unabhängig von der gewählten gewichtenden Kernel-Funktion benötigen wir einen Wert für die Bandbreite (auch bekannt als Glättungsparameter). NumXL verwendet eine datenbasierte Bandbreitenauswahlmethode, die den RMSE für die Kreuzvalidierung minimiert.
Kurz gesagt, berechnen wir für eine gegebene Bandbreite den Regressionswert für jeden Datenpunkt (unter Verwendung der Leave-One-Out-Kreuzvalidierung) und berechnen den RMSE zwischen den Regressionswerten und den tatsächlichen Werten.
Anfrage 2:
"Wenn wir also eine Spitze in unseren Daten haben, sind einige der Punkte in der Spitze möglicherweise nicht im Regressionsdatensatz enthalten."
Dies hängt davon ab, wie Sie "Spike" definieren. Wenn "Spike" ein Verweis auf einen Ausreißer ist (ein großer Y-Wert), dann schließt diese Methode Datenpunkte mit Ausreißern ein. Dennoch können diese Datenpunkte auf der Grundlage ihres euklidischen Abstands zum Zielwert nach unten gewichtet werden.
Ist Spike hingegen ein Verweis auf einen entfernten Datenpunkt entlang der x-Domäne, so werden diese entfernten Datenpunkte in der Regression deutlich nach unten gewichtet.
Anfrage 3:
"Es sieht so aus, als ob die Standardglättung von Excel für Streudiagramme auf einer LOESS-Funktion beruht. Wenn ich die Zwischenwerte manuell berechnen möchte, welcher Ansatz ist dann die Standardfunktion von Excel, um diese lokalisierte Glättung zu erzeugen?"
Ja, wir glauben, dass Microsoft Excel einen LOESS-Algorithmus verwendet, um die geglätteten Linien im Streudiagramm zu erzeugen. Sie können die Funktion NxLOCREG(.) verwenden, aber wir können uns nicht sicher sein, welche Parameterwerte verwendet werden, z. B. die Kernel-Funktion, die Polynomordnung oder der Alphawert.
Laden Sie eine voll funktionsfähige, kostenlose 14-Tage-Testversion von NumXL, um diese Funktionen zu testen oder auf Ihre eigenen Daten anzuwenden.
Prüfen Sie unbedingt die Tipps & Tricks und Datenanpassung finden Sie weitere Artikel, die Sie interessieren könnten.
Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.