Einführung in die quadratische diskriminanzanalyse
Wenn wir über eine Reihe von Prädiktorvariablen verfügen und eine Antwortvariable in eine von zwei Klassen klassifizieren möchten, verwenden wir im Allgemeinen die logistische Regression .
Wenn eine Antwortvariable jedoch mehr als zwei mögliche Klassen hat, verwenden wir im Allgemeinen die lineare Diskriminanzanalyse , oft LDA genannt.
LDA geht davon aus, dass (1) die Beobachtungen in jeder Klassenormalverteilt sind und (2) die Beobachtungen in jeder Klasse dieselbe Kovarianzmatrix aufweisen. Unter Verwendung dieser Annahmen ermittelt LDA dann die folgenden Werte:
- μ k : Der Durchschnitt aller Trainingsbeobachtungen der k- ten Klasse.
- σ 2 : Der gewichtete Durchschnitt der Stichprobenvarianzen für jede der k Klassen.
- π k : Der Anteil der Trainingsbeobachtungen, die zur k- ten Klasse gehören.
LDA setzt diese Zahlen dann in die folgende Formel ein und ordnet jede Beobachtung X = x der Klasse zu, für die die Formel den größten Wert ergibt:
d k (x) = x * (μ k /σ 2 ) – (μ k 2 /2σ 2 ) + log(π k )
LDA hat „linear“ im Namen, da der von der obigen Funktion erzeugte Wert aus dem Ergebnis linearer Funktionen von x stammt.
Eine Erweiterung der linearen Diskriminanzanalyse ist die quadratische Diskriminanzanalyse , oft auch QDA genannt.
Diese Methode ähnelt LDA und geht außerdem davon aus, dass die Beobachtungen jeder Klasse normalverteilt sind, geht jedoch nicht davon aus, dass jede Klasse dieselbe Kovarianzmatrix aufweist. Stattdessen geht QDA davon aus, dass jede Klasse ihre eigene Kovarianzmatrix hat.
Mit anderen Worten wird davon ausgegangen, dass eine Beobachtung der k- ten Klasse die Form X ~ N(μ k , Σ k ) hat.
Unter dieser Annahme ermittelt QDA dann die folgenden Werte:
- μ k : Der Durchschnitt aller Trainingsbeobachtungen der k-ten Klasse.
- Σ k : Die Kovarianzmatrix der k-ten Klasse.
- π k : Der Anteil der Trainingsbeobachtungen, die zur k- ten Klasse gehören.
QDA fügt diese Zahlen dann in die folgende Formel ein und ordnet jede Beobachtung X = x der Klasse zu, für die die Formel den größten Wert liefert:
D k (x) = -1/2*(x-μ k ) T Σ k -1 (x-μ k ) – 1/2*log|Σ k | + log( πk )
Beachten Sie, dass der Name von QDA „quadratic“ enthält, da der von der obigen Funktion erzeugte Wert aus dem Ergebnis quadratischer Funktionen von x stammt.
LDA vs. QDA: Wann man das eine oder das andere verwenden sollte
Der Hauptunterschied zwischen LDA und QDA besteht darin, dass LDA davon ausgeht, dass jede Klasse eine gemeinsame Kovarianzmatrix hat, was es zu einem viel weniger flexiblen Klassifikator als QDA macht.
Dies bedeutet grundsätzlich, dass die Varianz gering ist, d. h., dass die Leistung bei unterschiedlichen Trainingsdatensätzen gleich ist. Der Nachteil besteht darin, dass LDA möglicherweise unter einer hohen Verzerrung leidet, wenn die Annahme, dass K- Klassen dieselbe Kovarianz aufweisen, falsch ist.
QDA wird in den folgenden Situationen im Allgemeinen gegenüber LDA bevorzugt:
(1) Der Trainingssatz ist groß.
(2) Es ist unwahrscheinlich, dass K- Klassen eine gemeinsame Kovarianzmatrix haben.
Wenn diese Bedingungen erfüllt sind, ist die Leistung von QDA tendenziell besser, da es flexibler ist und sich besser an die Daten anpassen kann.
So bereiten Sie Daten für QDA vor
Stellen Sie sicher, dass Ihre Daten die folgenden Anforderungen erfüllen, bevor Sie ein QDA-Modell darauf anwenden:
1. Die Antwortvariable ist kategorisch . QDA-Modelle sind für den Einsatz bei Klassifizierungsproblemen konzipiert, d. h. wenn die Antwortvariable in Klassen oder Kategorien eingeordnet werden kann.
2. Die Beobachtungen in jeder Klasse folgen einer Normalverteilung . Überprüfen Sie zunächst, ob die Werteverteilung in jeder Klasse ungefähr normalverteilt ist. Wenn nicht, können Siezunächst die Daten transformieren, um die Verteilung normaler zu gestalten.
3. Berücksichtigen Sie extreme Ausreißer. Stellen Sie sicher, dass der Datensatz auf extreme Ausreißer überprüft wird, bevor Sie LDA anwenden. Normalerweise können Sie Ausreißer visuell überprüfen, indem Sie einfach Boxplots oder Streudiagramme verwenden.
QDA in R und Python
Die folgenden Tutorials bieten Schritt-für-Schritt-Beispiele zur Durchführung einer quadratischen Diskriminanzanalyse in R und Python:
Quadratische Diskriminanzanalyse in R (Schritt für Schritt)
Quadratische Diskriminanzanalyse in Python (Schritt für Schritt)