Was sind "Koeffizienten linearer Diskriminanten" in LDA?


16

In verwende Rich die ldaFunktion aus der Bibliothek, MASSum die Klassifizierung durchzuführen. Wie ich LDA verstehe, wird dem Eingang die Bezeichnung zugewiesen , die maximiert , richtig?xyp(y|x)

Aber wenn ich das Modell , in das verstehe ich die Ausgabe von nicht ganz ,

x=(Lag1,Lag2)
y=DichrectichÖn,
lda

Bearbeiten: Um die Ausgabe unten zu reproduzieren, führen Sie zuerst Folgendes aus:

library(MASS)
library(ISLR)

train = subset(Smarket, Year < 2005)

lda.fit = lda(Direction ~ Lag1 + Lag2, data = train)
> lda.fit
Call:
lda(Direction ~ Lag1 + Lag2, data = train)

Prior probabilities of groups:
    Down       Up 
0.491984 0.508016 

Group means:
            Lag1        Lag2
Down  0.04279022  0.03389409
Up   -0.03954635 -0.03132544

Coefficients of linear discriminants:
            LD1
Lag1 -0.6420190
Lag2 -0.5135293

Ich verstehe alle Informationen in der obigen Ausgabe, aber eine Sache, was ist LD1? Ich suche im Web danach. Ist es ein linearer Diskriminanz-Score ? Was ist das und warum brauche ich es?

AKTUALISIEREN

Ich habe mehrere Posts gelesen (wie diesen und diesen ) und auch im Web nach DA gesucht. Und jetzt ist hier, was ich von DA oder LDA halte.

  1. Es kann verwendet werden, um eine Klassifizierung durchzuführen, und wenn dies der Zweck ist, kann ich den Bayes-Ansatz verwenden, dh für jede Klasse das hintere berechnen und dann zu der Klasse mit dem höchsten hinteren klassifizieren . Auf diese Weise muss ich die Diskriminanten überhaupt nicht herausfinden, oder?p(y|x)yichx

  2. Wie ich in den Beiträgen gelesen habe, ist DA oder zumindest LDA hauptsächlich auf Dimensionsreduktion ausgerichtet , für Klassen und Dim-Prädiktorraum kann ich das Dim in einen neuen -Dim-Merkmalsraum projizieren , das heißt, , kann als transformierter Merkmalsvektor vom ursprünglichen , und jedes ist der Vektor, auf den projiziert wird.KDDx(K-1)z

    x=(x1,...,xD)z=(z1,...,zK-1)zich=wichTx
    zxwichx

Habe ich recht mit den obigen Aussagen? Wenn ja, habe ich folgende Fragen:

  1. Was ist eine Diskriminante ? Ist jeder Eintrag im Vektor eine Diskriminante? Oder ?zichzwich

  2. Wie mache ich eine Klassifizierung mit Diskriminanten?


1
LDA besteht aus zwei Phasen: Extraktion und Klassifizierung. Bei der Extraktion werden latente Variablen, die als Diskriminanten bezeichnet werden, als lineare Kombinationen der Eingangsvariablen gebildet. Die Koeffizienten in diesen linearen Kombinationen werden Diskriminanzkoeffizienten genannt; Das sind die Fragen, nach denen du fragst. In der zweiten Stufe werden Datenpunkte von diesen Diskriminanten und nicht von ursprünglichen Variablen Klassen zugewiesen. Um mehr zu erfahren, suchen Sie discriminant analysisauf dieser Site.
TTNPHNS

2
Die lineare Diskriminanzbewertung ist ein Wert eines Datenpunkts durch eine Diskriminante. Verwechseln Sie ihn also nicht mit einem Diskriminanzkoeffizienten, der einem Regressionskoeffizienten gleicht. Siehe meine ausführliche Antwort hier .
TTNPHNS

@ttnphns, danke und ich werde mehr über DA lesen. Übrigens dachte ich, um eine Eingabe zu klassifizieren , muss ich nur das hintere p ( y | x ) für alle Klassen berechnen und dann die Klasse mit dem höchsten hinteren auswählen, oder? Und ich verstehe nicht, warum ich L D 1 für die Berechnung des posterior benötige . Xp(y|x)LD1
Avocado

Sie können und können die Bayes-Regelklassifizierung basierend auf den ursprünglichen Variablen durchführen. Dies wird jedoch keine Diskriminanzanalyse sein. Der wesentliche Teil von LDA ist die Dimensionsreduzierung, mit der Sie die ursprünglichen Variablenklassifizierer durch eine kleinere Anzahl von abgeleiteten Klassifizierern, den Diskriminanten, ersetzen können. Bitte lesen Sie hier die Beiträge, besonders meine, sie beschreiben gründlich die Ideen und Mathematik von LDA.
TTNPHNS

@ttnphns, ich lese den Beitrag, den Sie im obigen Kommentar verlinkt haben ;-)
Avocado

Antworten:


5

LDA1-0,6420190×Lag1+-0,5135293×Lag2

Die folgende Grafik zeigt die Beziehung zwischen dem Score, der posterioren Wahrscheinlichkeit und der Klassifizierung für den in der Frage verwendeten Datensatz. Das Grundmuster gilt immer für LDA mit zwei Gruppen: Es gibt eine 1: 1-Zuordnung zwischen den Scores und der posterioren Wahrscheinlichkeit, und Vorhersagen sind äquivalent, wenn sie entweder anhand der posterioren Wahrscheinlichkeiten oder der Scores getroffen werden.

Partitur, hintere Wahrscheinlichkeit, Klassifikation

Antworten auf die Unterfragen und einige andere Kommentare

  • Obwohl LDA zur Dimensionsreduzierung verwendet werden kann, ist dies im Beispiel nicht der Fall. Bei zwei Gruppen ist nur eine einzige Punktzahl pro Beobachtung erforderlich, da dies alles ist, was benötigt wird. Dies liegt daran, dass die Wahrscheinlichkeit, in einer Gruppe zu sein, das Komplement der Wahrscheinlichkeit ist, in der anderen Gruppe zu sein (dh sie addieren sich zu 1). Sie können dies in der Grafik sehen: Punktzahlen von weniger als -.4 werden als in der Down- Gruppe klassifiziert, und höhere Punktzahlen werden als Up vorhergesagt .

  • Manchmal wird der Vektor der Punktzahl a genannt discriminant function. Manchmal werden die Koeffizienten so genannt. Mir ist nicht klar, ob beides richtig ist. Ich glaube, dass sich MASS discriminantauf die Koeffizienten bezieht.

  • Die ldaFunktion des MASS-Pakets erzeugt Koeffizienten auf eine andere Weise als die meisten anderen LDA-Programme. Der alternative Ansatz berechnet einen Satz von Koeffizienten für jede Gruppe und jeder Satz von Koeffizienten hat einen Schnittpunkt. Bei der Diskriminanzfunktion (Punktzahl), die unter Verwendung dieser Koeffizienten berechnet wird, basiert die Klassifizierung auf der höchsten Punktzahl, und es ist nicht erforderlich, hintere Wahrscheinlichkeiten zu berechnen, um die Klassifizierung vorherzusagen. Ich habe einen LDA-Code in GitHub eingefügt, der eine Modifikation der MASSFunktion ist, aber diese bequemeren Koeffizienten erzeugt (das Paket wird aufgerufen Displayr/flipMultivariates, und wenn Sie ein Objekt mit erstellen, können LDASie die Koeffizienten mit extrahieren obj$original$discriminant.functions).

  • Ich habe das R für Code alle Konzepte in diesem Beitrag hier veröffentlicht .

  • Es gibt keine einzige Formel für die Berechnung der posterioren Wahrscheinlichkeiten aus der Partitur. Der einfachste Weg, die Optionen zu verstehen, ist (für mich jedenfalls), den Quellcode zu betrachten, indem man verwendet:

library(MASS) getAnywhere("predict.lda")


I'm not clear on whether either [word use] is correct"Diskriminanzfunktion" oder "Diskriminanz" ist eine extrahierte Variable - eine Variable, eine Dimension. Es ist daher sowohl durch Koeffizienten (Gewichte) zur Bewertung anhand der Eingangsvariablen als auch durch Bewertungen der Werte gekennzeichnet. Genau wie ein PC in PCA. Daher sind "Diskriminanzkoeffizienten" und "Diskriminanzbewertungen" die richtige Verwendung.
TTNPHNS

@ttnphns, Ihre Verwendung der Terminologie ist sehr klar und eindeutig. Aber es ist nicht die Verwendung, die in vielen Beiträgen und Veröffentlichungen zum Thema vorkommt, was der Punkt ist, den ich anstrebte. Allein aufgrund der Wortbedeutung ist mir ziemlich klar, dass sich die "Diskriminanzfunktion" auf die mathematische Funktion (dh das Summenprodukt und die Koeffizienten) beziehen sollte, aber auch hier ist mir nicht klar, dass dies die weit verbreitete Verwendung ist.
Tim

@ Wenn der Link, den Sie für den Code gepostet haben, tot ist, können Sie den Code bitte in Ihre Antwort kopieren?
Baxx

0

Die Theorie hinter dieser Funktion lautet "Fischers Methode zur Unterscheidung zwischen mehreren Bevölkerungsgruppen". Ich empfehle Kapitel 11.6 in Angewandte multivariate statistische Analyse (ISBN: 9780134995397) als Referenz.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.