In verwende R
ich die lda
Funktion aus der Bibliothek, MASS
um die Klassifizierung durchzuführen. Wie ich LDA verstehe, wird dem Eingang die Bezeichnung zugewiesen , die maximiert , richtig?
Aber wenn ich das Modell , in das verstehe ich die Ausgabe von nicht ganz , 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.
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?
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.
Habe ich recht mit den obigen Aussagen? Wenn ja, habe ich folgende Fragen:
Was ist eine Diskriminante ? Ist jeder Eintrag im Vektor eine Diskriminante? Oder ?
Wie mache ich eine Klassifizierung mit Diskriminanten?
quelle
discriminant analysis
auf dieser Site.Antworten:
LDA1
Lag1
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.
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 MASSdiscriminant
auf die Koeffizienten bezieht.Die
lda
Funktion 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 derMASS
Funktion ist, aber diese bequemeren Koeffizienten erzeugt (das Paket wird aufgerufenDisplayr/flipMultivariates
, und wenn Sie ein Objekt mit erstellen, könnenLDA
Sie die Koeffizienten mit extrahierenobj$original$discriminant.functions
).Ich habe das R für Code alle Konzepte in diesem Beitrag hier veröffentlicht .
library(MASS) getAnywhere("predict.lda")
quelle
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.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.
quelle