Die Diskriminanzanalyse ist ein Verfahren aus der multivariaten Statistik und wird dazu eingesetzt, Gruppen anhand ihrer Merkmale zu beschreiben, beispielweise bei der Auswertung einer Umfrage. Möchtest du eine Umfrage auswerten oder einen Fragebogen auswerten und Objekte klassifizieren, könnte dieses statistische Verfahren für dich in Frage kommen.
Die Diskriminanzanalyse ist ein wichtiges Hilfsmittel in der Marktforschung. Mit ihrer Hilfe kannst du zum Beispiel Kunden bestimmten Käufertypen zuweisen.
Kaufverhalten mit Fragebogen auswerten: Beispiel
Wir wollen nun mit der Diskriminanzanalyse anhand eines Beispiels das Kaufverhalten auf dem Oktoberfest vorhersagen. Indem wir eine Umfrage auswerten, ermitteln wir, wie viel Geld die Besucher auf dem Oktoberfest im Laufe eines Tages ausgeben.
Dieses teilen wir auf in die Gesamtausgaben und in die Ausgaben für Andenken. Zusätzlich erfragen wir, ob die Besucher im Anschluss an ihren Besuch in einem Hotelzimmer in der Nähe des Oktoberfests übernachten. Dadurch wollen wir herausfinden, wie sich das Ausgabeverhalten der Besucher auf dem Oktoberfest auf die Bereitschaft ein Hotelzimmer zu buchen auswirkt.
Die Umfrage-Auswertung führen wir mit R durch, einem Open Source Statistik-Programm, welches jedem kostenlos zur Verfügung steht. Als graphische Benutzeroberfläche verwenden wir RStudio.
Umfragedaten erzeugen
In der Praxis erhält man die Daten aus der Umfrage-Auswertung, wir erzeugen hier jedoch geeignete Zufallszahlen. Für die Erzeugung der Zufallszahlen und eine schöne grafische Darstellung benötigst du die Pakete MASS und ggplot2. Diese kannst du im Fenster unten rechts über Packages → Install installieren.
library(MASS)
library(ggplot2)
set.seed(42)Ausgaben.Hotel = mvrnorm ( n = 50 , mu = c(80,50) , Sigma = matrix(c(50,40,40,50),ncol=2) )
Ausgaben.kein.Hotel = mvrnorm ( n = 50 , mu = c(70,30) , Sigma = matrix(c(50,40,40,50),ncol=2) )
Ausgaben = rbind(Ausgaben.Hotel,Ausgaben.kein.Hotel)
colnames(Ausgaben) = c(„Ausgaben.insgesamt“, „Ausgaben.fuer.Andenken“)
Ausgaben = as.data.frame(Ausgaben)
Ausgaben$bucht = as.factor(c(rep(„Hotelzimmer“,50),rep(„kein Hotelzimmer“,50)))
Ausgaben
qplot(Ausgaben.insgesamt,Ausgaben.fuer.Andenken, data=Ausgaben, colour=bucht, xlab=“Ausgaben insgesamt“, ylab=“Ausgaben für Andenken“,
main=“Ausgaben der Bucher und Nichtbucher für das Oktoberfest“ )
Umfrage auswerten: Diskriminanzanalyse
Man kann in dem obigen Diagramm die Trennung der beiden Gruppen voneinander bereits gut erkennen. Die Bucher geben insgesamt mehr Geld auf dem Oktoberfest aus. Dieses zusätzliche Geld geben sie vorwiegend für Andenken aus.
Wenn man eine Linie zwischen den unterschiedlich farbigen Punkten von unten links nach oben rechts einzeichnet (siehe unteres Diagramm), kann diese Gerade die beiden Gruppen voneinander trennen. Man kann dann vorhersagen, dass Besucher mit einem Punkt oben links der Geraden vermutlich ein Hotelzimmer buchen werden und Besucher mit einem Punkt unten rechts vermutlich nicht.
Mit den folgenden Zeilen kannst du mit der linearen Diskriminanzanalyse deinen Fragebogen auswerten:
lineare.Diskriminanzanalyse = lda( bucht ~ Ausgaben.insgesamt + Ausgaben.fuer.Andenken , data = Ausgaben , CV = F )
lineare.Diskriminanzanalyse
Es werden drei Ergebnisse gelistet. A priori beträgt die Wahrscheinlichkeit für jede Gruppe 50%, weil es 50 Bucher und 50 Nichtbucher gibt. Anschließend werden die Gruppenmittelwerte für beide Merkmale aufgelistet.
Den Schluss bilden die Koeffizienten 0,15 und -0,25 für die Ausgaben insgesamt und die Ausgaben für Andenken. Eine negative Zahl bedeutet, dass große Werte dieses Merkmals die Wahrscheinlichkeit für die erste Gruppe erhöhen.
Dagegen erhöhen bei positiven Zahlen große Werte des Merkmals die Wahrscheinlichkeit für die zweite Gruppe. Mit höheren Gesamtausgaben bei gleichbleibenden Ausgaben für Andenken wird eine Person eher kein Hotelzimmer buchen. Steigt hingegen der Anteil der Ausgaben für Andenken an den Gesamtausgaben an, wird eine Person eher ein Hotelzimmer buchen.
Vorhersage der Diskriminanzanalyse
Du möchtest nun bestimmt beim Fragebogen auswerten die Klassenzugehörigkeit neuer Probanden aufgrund ihres Kaufverhaltens vorhersagen. Hierfür steht die Funktion predict.lda aus dem Paket MASS zur Verfügung.
In diesem Fall wird die Klasseneinteilung für die Probanden aus unserer Lernstichprobe vorgenommen. In der Praxis wird man hierfür neue Probanden verwenden, bei denen die Klassenzugehörigkeit nicht bekannt ist. Die neuen Probanden können dann optional in einem Datensatz mit dem Parameter newdata angegeben werden.
Vorhersage.lineare.Diskriminanzanalyse = MASS:::predict.lda (lineare.Diskriminanzanalyse)
Vorhersage.lineare.Diskriminanzanalyse
Die Funktion gibt zunächst die prognostizierten Klassenzugehörigkeiten der 100 Probanden aus. Wie in den Ergebnissen und der obigen Grafik ersichtlich ist, wird ein Proband fälschlicherweise in die Gruppe der Nichtbucher klassifiziert und zwei Probanden fälschlicherweise in die Gruppe der Bucher. Das ergibt eine Fehlklassifikationsrate von 3%.
Anschließend werden die a posteriori Wahrscheinlichkeiten für die Gruppenzugehörigkeit der einzelnen Probanden angegeben.
In welche Gruppe jemand klassifiziert wird, kann der nächsten Ergebnisliste (dem Wert der Diskriminanzfunktion) entnommen werden. Negative Werte stehen für die Gruppe 1 (Bucher) und positive Werte für die Gruppe 2 (Nichtbucher).
Weitere Varianten der Diskriminanzanalyse
Eine Alternative für den Fall von zwei Gruppen stellt die logistische Regression dar. In diesem Beitrag haben wir die Käufer von den Nichtkäufern unterschieden. Es sind aber auch mehr als zwei Gruppen möglich. Vielleicht willst du in der Umfrage-Auswertung mehrere Käufertypen voneinander unterscheiden. Für die Unterscheidung von g Gruppen benötigst du dann g-1 Trenngeraden.
Generative KI ist der Assistent, den ich mir schon immer gewünscht habe und der (fast) alles weiß. Und Machine Learning…
Interessanter Artikel zum RWE Aktienkurs, vielen Dank für die detaillierte Analyse! Ziemlich überraschend, wie stark die Aktie in letzter Zeit…
Ganz ohne Kapital klappt es nicht, aber bootstrappen bringt auch viele Vorteile. Ich bin froh kein Fremdkapital aufgenommen zu haben.…