Willkommen bei Stats by Randolph. Hier geht es zur Hauptseite mit weiteren Informationen und Inhalten.
Autor:innen dieser Seite: An den Inhalten dieser Seite haben mitgearbeitet: Valentin, Koob, Eva Röttger und Markus Janczyk. Der Inhalt dieser Seite wird in der Lehre in den Studiengängen Psychologie von der AG Forschungsmethoden und Kognitive Psychologie an der Universität Bremen verwendet, steht aber allen Interessierten zur Verfügung. Rückmeldungen/Fehler/Vorschläge können gesendet werden an randolph@uni-bremen.
Versionshistory:
Ausgangspunkt aller Analysen sind i.d.R. Rohdaten, d.h. die an Personen (oder allgemeiner: Merkmalsträgern, welche auch Tiere, Schulklassen, … sein können) erhobenen Werte auf den gemessenen Variablen vor einer Weiterverarbeitung. Wir betrachten in diesem Kapitel den Fall nominalskalierter und intervallskalierter Variablen (wobei die Möglichkeiten der Darstellung als Häufigkeiten auch auf ordinalskalierte Variablen zutreffen).
Nominalskalierte Variablen haben als Ausprägungen Kategorien, denen keine inhärente Ordnung zugrunde liegt. Haben wir an einer Stichprobe von \(n=10\) Personen die beiden Variablen \(A\) und \(B\) mit jeweils drei Stufen erhoben, so könnten die Daten wie folgt aussehen:
In der Regel werden wir mit derart abstrakten Variablen arbeiten, allerdings könnte hier ein weniger abstraktes Beispiel auch sein, dass die Variable \(A\) das Geschlecht angibt (mit den drei Stufen \(a_1\)=weiblich, \(a_2\)=männlich und \(a_3\)=divers) und die Variable \(B\) den Lieblingstee einer Person (mit den drei Stufen \(b_1\)=Ingwer, \(b_2\)=Rooibos und \(b_3\)=Grün). Dann würden die Rohdaten wie folgt aussehen:
Statt “passender Bezeichnung” werden auch bei nominalskalierten Variablen manchmal Zahlen für die Ausprägungen verwendet. Diese Zuordnung von Kategorien zu Zahlen ist allerdings komplett arbiträr und spiegelt dann keine Ordnung im Sinne von “größere Zahl ist besser” o.ä. wider.
Eine derartige Ordnung ist allerdings bei metrischen Variablen typisch. Hier bedeutet ein größerer Wert auch eine höhere Leistung etc. Haben wir bspw. an einer Stichprobe von \(n=20\) Personen den jeweiligen IQ ermittelt, so könnten diese Rohdaten wie folgt aussehen: \[\begin{align} &x_1 = 103 & & x_2 =100 & &x_3 =101 & &x_4 =95 & &x_5 =97\\ &x_6 =101 & &x_7 =103 & &x_8 =102 & &x_9 =100 & &x_{10} =103\\ &x_{11} =97 & &x_{12} =103 & &x_{13} =102 & &x_{14} =97 & &x_{15} =101\\ &x_{16} =103 & &x_{17} =96 & &x_{18} =97 & &x_{19} = 104 & &x_{20} =102\\ \end{align}\]
In beiden Fällen wird es schwierig sein, Regelmäßigkeiten und interessante Strukturen aufgrund der Unübersichtlichkeit von Rohdaten zu erkennen. Die Eine wichtige Aufgabe der Deskriptiven Statistik ist es daher, Methoden und Kennwerte bereitzustellen, die eine gewisse Übersicht wieder ermöglichen. In diesem Kapitel befassen wir uns dazu mit Zusammenfassungen zu Häufigkeiten oder Häufigkeitsverteilungen.
Die absolute Häufigkeit ist quasi die auszählbare Häufigkeit, also wie häufig kommt im Datensatz eine bestimmte Ausprägung vor. Wir bezeichnen die absolute Häufigkeit mit \(n(x)\), wobei das \(x\) in Klammern für die Kategorie steht, die betrachtet wird. Stellen wir die Variablen \(A\) und \(B\) von oben als absolute Häufigkeiten dar, kann dies wie folgt geschehen:
Hier steht in der letzten Zeile (mit \(\Sigma\) bezeichnet) die Summe der Einzelhäufigkeiten, was hier dann auch der Anzahl der Versuchspersonen entspricht.
Derartige Werte sind nicht sofort vergleichbar mit denen einer anderen Studie, die die gleichen Variablen erhoben hat aber nicht \(n=10\) sondern vielleicht \(n=43\) Versuchspersonen umfasst. Zur besseren Vergleichbarkeit mit anderen Stichproben (von anderem Umfang), werden absolute Häufigkeiten als relative Häufigkeiten \(p(x)\) dargestellt. Eine relative Häufigkeit berechnet sich, indem die absolute Häufigkeit durch die Stichprobengröße \(n\) (hier \(n=10\)) dividiert wird, also \(p(x)=\frac{n(x)}{n}\):
Relative Häufigkeiten summieren sich immer zu 1 auf, wie auch in der letzten Zeile dargestellt wird.
Die Zusammenfassung zu Häufigkeiten geht mit einem Tradeoff einher. Sie bedingt einerseits einen Informationsverlust, da Information über einzelne Personen nicht mehr rekonstruiert werden können. Andererseits wird aber Übersichtlichkeit hergestellt und z.B. relative Häufigkeiten lassen sich anschaulich in Form eines Balkendiagramms darstellen:
Häufig gilt das Interesse Zusammenhängen zweier Variablen. Etwas vereinfacht: Gehen Ausprägungen auf der einen Variablen eher mit bestimmten Ausprägungen der anderen Variablen einher (für mehr Details zu sog. Zusammenhangsmaßen siehe den späteren Teil 5)? Dies setzt natürlich die gemeinsame Betrachtung zweier Variablen voraus und geschieht bei nominalskalierten Variablen mit zweidimensionalen Häufigkeitsverteilungen (links: absolute Häufigkeiten; rechts: relative Häufigkeiten):
Die Zelle, die sich aus der Kreuzung der Kategorien \(a_2\) und \(b_3\) ergibt, gibt hier die absolute bzw. relative Häufigkeit (2 bzw. 0.2) von Personen an, die auf der Variablen \(A\) die Ausprägung \(a_2\) und auf der Variablen \(B\) die Ausprägung \(b_3\) aufweisen. Derartige Tabellen werden auch als Kontingenztafeln bezeichnet und die Summen der Zeilen bzw. Spalten (d.h. die letzte Spalte bzw. Zeile) werden als Randverteilungen bezeichnet. Die 2 in der ersten Spalte der letzten Zeile ergibt sich bspw. als Summe der Werte in der ersten Spalte. Insgesamt summieren sich die Werte wieder zur Anzahl der Versuchspersonen (absolute Häufigkeiten) oder zu 1 (relative Häufigkeiten) auf.
Ein wichtiger Schritt zur späteren Betrachtung von Zusammenhängen bei nominalskalierten Variablen ist die bedingte relative Häufigkeit.
Im Prinzip ist damit eine Zerlegung der Stichprobe in verschiedene Teile (auf Basis der einen Variablen) gemeint, woraus dann die relativen Häufigkeiten (auf der anderen Variablen) separat für jeden Teil berechnet werden. Dazu werden die Werte dann nicht mehr durch die Gesamtanzahl der Versuchspersonen dividiert, sondern durch den jeweiligen Wert einer Randsumme.
Wenn wir eine Bedingung nach \(A\) durchführen, dann meinen wir damit, dass die Häufigkeiten auf Variable \(B\) betrachtet werden, unter der Bedingung, eine Person habe eine bestimmte Ausprägung auf der Variablen A. Die Häufigkeiten werden dann durch die Randsumme der jeweiligen Ausprägung von \(A\) dividiert. Die doppelten vertikalen Striche verdeutlichen, dass hier nach \(A\) bedingt wird:
Auf Basis der absoluten Häufigkeiten ergibt sich bspw. der Wert 0.5 in der ersten Spalte und der dritten Zeile als \(\frac{1}{2}\), da es genaue eine Person gibt mit Ausprägung \(b_3\) von insgesamt zwei Personen mit Ausprägungen \(a_1\). Analog ergibt sich der gleiche Wert als \(\frac{0.1}{0.2}\) auf Basis der relativen Häufigkeiten.
Bedingen wir nach \(B\), betrachten wir die Ausprägungen der Variablen \(B\) getrennt voneinander, was hier durch die doppelten horizontalen Striche verdeutlicht wird:
Häufigkeiten können natürlich auch auf metrische Daten angewendet werden, insbesondere wenn wir ganzzahlige Werte vorliegen haben, wie im oben eingeführten Beispiel: \[\begin{align} &x_1 = 103 & & x_2 =100 & &x_3 =101 & &x_4 =95 & &x_5 =97\\ &x_6 =101 & &x_7 =103 & &x_8 =102 & &x_9 =100 & &x_{10} =103\\ &x_{11} =97 & &x_{12} =103 & &x_{13} =102 & &x_{14} =97 & &x_{15} =101\\ &x_{16} =103 & &x_{17} =96 & &x_{18} =97 & &x_{19} = 104 & &x_{20} =102\\ \end{align}\]
Die Spalten \(n(x)\) und \(p(x)\) der folgenden Tabelle stellen die absoluten und relativen Häufigkeiten der vorkommenden \(x\)-Werte dar: Metrische Daten können aber auch nach der Größe der Werte sortiert werden (wie dies auch in der Tabelle getan ist). Neu sind daher die absolute kumulative Häufigkeit \(H(x)\) und die relative kumulative Häufigkeit \(F(x)\). Diese geben die Summe der (nach Größe sortierten) Werte bis einschließlich des Wertes \(x\) an. Formal definiert ist die absolute kumulative Häufigkeit: \[ H(x):=\sum_{u \leq x} n(u) \] Dies bedeutet, dass der Wert der absoluten kumulativen Häufigkeit für \(x\), also \(H(x)\) die Summe aller absoluten Häufigkeiten \(n(u)\) ist für die gilt, dass \(u\) kleiner oder gleich \(x\) ist, also \(u\leq x\). In anderen Worten und an einem Beispiel: \(H(97)=n(95)+n(96)+n(97)\).
Analog dazu wird die relative kumulative Häufigkeit definiert als: \[ F(x):=\sum_{u \leq x} p(u) \]
Derartige kumulative Häufigkeitsverteilungen sind nützlich zur Beantwortung einer Reihe potentieller Fragen, wie z.B.:
Wie groß ist der Anteil an Personen in der Stichprobe mit einem IQ von 101 oder kleiner? In diesem Fall ist der gesuchte Wert der der relativen kumulativen Häufigkeit für \(x=101\), also \(F(101)=0.55\) (also 55.0%).
Wie groß ist der Anteil an Personen in der Stichprobe mit einem IQ von mehr als 97? In diesem Fall suchen wir nun zunächst den Anteil der Personen mit einem IQ von 97 oder weniger, also \(F(97)=0.3\). Der eigentlich gesuchte Anteil ist dann quasi der “Gegenanteil”, d.h. wir subtrahieren diesen Wert von 1 und erhalten \(1-F(97)=1-0.3=0.7\) (also 70.0%).
Empirische (kumulative) Verteilungsfunktion können sehr leicht mit
der Funktion ecdf()
erstellt werden, deren Ergebnis auch
direkt mit plot()
visualisiert werden kann:
x <- c(103, 100, 101, 95, 97, 101, 103, 102, 100, 103, 97, 103, 102, 97, 101, 103, 96, 97, 104, 102)
Fx <- ecdf(x) # kumulative Verteilung generieren, die direkt an plot übergeben wird
plot(Fx,
main = "relative kumulative Häufigkeit",
xlab = "x",
ylab = expression(italic(F)~plain("(x)")))
axis(side = 1,
at = c(94:104))
In der Abbildung stellen die Punkte die Werte von \(F(x)\) dar. Die sich nach rechts anschließeenden horizontalen Linien signalisieren, dass für diese Wertebereiche von \(x\) der Wert von \(F(x)\) gleich bleibt, bis er an einer Stelle wieder nach oben springt.
Wenn bei metrischen Daten einzelne mögliche Werte nicht besetzt sind oder manche Werte sehr häufig, andere dagegen selten auftreten, bietet sich eine Zusammenfassung der Werte zu Klassen an. Auch hier ist allerdings zu beachten, dass der mögliche Zugewinn an Übersicht mit einem Verlust an Information einhergeht.
Die folgende Tabelle ist ein Beispiel für die Zusammenfassung der Daten in Klassen, die jeweils zwei Werte umfassen (KG = Klassengrenzen):
Nach der Betrachtung von Häufigkeiten wenden wir uns der Entwicklung von Maßen zu, die geeignet sind, Daten möglichst umfassend in einem Wert auszudrücken. Die wichtigsten Werte werden dafür Lagemaße und Maße für die Variabilität darstellen. Die folgende Abbildung stellt Histogramme dreier Datensätze dar:
Vergleichen wir zunächst (1) und (2): Das Zentrum des Histogramms ist in beiden Diagrammen verschieden, allerdings sehen beide Diagramme um ihr Zentrum herum gleich aus. Auch die Größe des Wertebereiches ist in beiden Fällen mit \(4\) gleich: bei (1) \(9-5=4\) und bei (2) ergibt sich \(6-2=4\). Beide Datensätze haben zusammenfassend eine verschiedene Lage, aber die gleiche Variabilität.
Die umgekehrte Situation ergibt sich beim Vergleich von (2) und (3). In beiden Fällen liegt das Zentrum bei \(4\), allerdings sehen die Histogramme um das Zentrum herum anders aus und auch die Größe des Wertebereiches ist bei (3) mit \(7-1=6\) größer als bei (2).
Derartige Eigenschaften werden durch Lagemaße (auch Maße der zentralen Tendenz genannt) und Maße der Variabilität erfasst und wir werden in diesem Kapitel die folgenden Konzepte kennenlernen:
Der (arithmetische) Mittelwert ist gemeinhin bekannt (manchmal auch als “Durchschnitt”) und berechnet sich als die Summe der Datenpunkte dividiert durch Anzahl der Datenpunkte.
Als Beispiel betrachten wir die Werte von \(n=10\) Versuchspersonen auf einer Variablen \(X\):
\[\begin{aligned} & x_1 = 6 & &x_2 =6 & &x_3 =2 & &x_4 =5 & &x_5 = 8\\ & x_6 = 5 & &x_7 =6 & &x_8 =5 & &x_9 =8 & &x_{10} =6 \end{aligned}\]Der Mittelwert \(M_X\) berechnet sich dann als: \[ M_X=\frac{6+6+2+5+8+5+6+5+8+6}{10}=5.7 \]
Allgemeiner und formaler können wir unter Benutzung des Summenzeichens den arithmetischen Mittelwert wie folgt definieren: Seien \(x_1, \ldots, x_n\) Daten (von \(n\)-vielen Versuchspersonen). Dann heißt \[M_X:=\frac{1}{n}\cdot\sum_{i=1}^n x_i\] der (arithmetische) Mittelwert der Zahlen \(x_1,\ldots ,x_n\). Statt \(M_X\) wird der Mittelwert manchmal auch \(\bar{X}\) (“X quer”) geschrieben. Da beim Mittelwert alle Werte einer Variablen in ihrer absoluten Ausprägung eingehen, ist der Mittelwert i.d.R. nur bei mindestens intervallskalierten Daten sinnvoll.
Der arithmetische Mittelwert hat einige wichtige Eigenschaften, die wir im Verlaufe immer wieder benötigen werden (weitere Erläuterungen, Beweise und Datenbeispiele finden Sie hier):
Insgesamt eignet sich der Mittelwert \(M_X\) insbesondere zur Beschreibung der zentralen Tendenz unimodaler und symmetrischer Verteilungen, wie in der folgenden Abbildung: In diesem Fall wäre der Mittelwert \(M_X=4\) und um diesen Wert herum liegt tatsächlich auch ein Großteil der Daten. Weniger geeignet ist der Mittelwert allerdings bei anderen Formen der Verteilung:
In der linken Abbildung ist der Mittelwert “nach oben” gezogen, während er in der rechten Abbildung tatsächlich \(M_X=4\) ist. Allerdings liegt ein Großteil der Daten offenkundig nicht im Bereich der 4, sondern eher Richtung 1 und 7. Diese Beispiele illustrieren auch, dass es immer wichtig ist, sich die Rohdaten anzuschauen und nicht “mechanisch” Kennwerte zu berechnen. Neben der zentralen Tendenz und der Variabilität spielt auch immer die Form der Verteilung der Werte eine wichtige Rolle.
Die Bestimmung eines Mittelwerts ist sehr leicht mit R umsetzbar. Als
Beispiel betrachten wir die Datenpunkte \[x_1
= 3, x_2 = 5, x_3=4, x_4 = 7, x_5 = 8, x_6 = 3\] Im folgenden
Beispiel gehen wir davon aus, dass die Werte als Vektor vorliegen, der
der Funktion mean()
übergeben wird:
X <- c(3, 5, 4, 7, 8, 3)
mean(X) # Mittelwert
## [1] 5
Im Kontext des arithmetischen Mittelwerts betrachten wir abschließend noch zwei Spezialfälle:
Der erste Spezialfall ist der Mittelwert bei binären Variablen, also wenn die Variable nur die Werte 0 und 1 annimmt. Sei \(X\) eine binäre Variable und \(k\) die Anzahl der Einsen in der Stichprobe \(x_1,\ldots , x_n\). Dann gilt: \[M_X=\frac{k}{n}=:p\] Der Mittelwert einer binären Variablen entspricht also der relativen Häufigkeit von Einsen in der Stichprobe.
Ein zweiter Spezialfall liegt vor, wenn wir nur die absoluten oder relativen Häufigkeiten vorliegen haben, nicht aber die Rohdaten an sich. In der folgenden Tabelle sind mit \(x_1,\ldots,x_7\) nicht mehr einzelne Personen gemeint, sondern die verschiedenen Ausprägungen, die in der zugrundeliegenden Stichprobe auf der Variablen \(X\) aufgetreten sind. Wenn \(n\) die Summe der zugrundeliegenden Datenpunkte ist (z.B. Anzahl Versuchspersonen), d.h. die Summe der \(n(X\))-Werte, und \(I\) die Anzahl der verschiedenen Ausprägungen der Variablen \(X\) (hier \(I=7\)), dann lassen sich der Mittelwert aus Basis der absoluten bzw. relativen Häufigkeiten berechnen als: \[M_X = \frac{1}{n} \sum_{i=1}^I x_i\cdot n(x_i)\hspace{0.5cm}\text{bzw.}\hspace{0.5cm} M_X = \sum_{i=1}^I x_i\cdot p(x_i)\]
Zusammenfassend können wir festhalten, dass der (arithmetische) Mittelwert das beliebteste Maß zur Beschreibung der zentralen Tendenz metrischer Daten ist, insofern diese intervallskaliert sind und die Daten bestimmte Anforderungen erfüllen (unimodal, symmetrisch, …). Dann beschreibt er die Lage oder zentrale Tendenz der Daten intuitiv gut. Tatsächlich erfüllt der Mittelwert noch ein formales Kriterium: das “Kriterium der kleinsten Quadrate”. Dieses Kriterium wird uns in der Statistik häufiger begegnen und wir werden es nach der Einführung der Varianz auch genauer betrachten.
Umgangssprachlich könnte man den Median sehr leicht wie folgt einführen: “Wenn die Daten der Größe nach geordnet sind, dann ist der Median der in der Mitte stehende Wert.” Das heißt auch, dass 50% der Werte kleiner als der Median und 50% der Werte größer als der Median sind.
Im Detail müssen dann zwei Fälle unterschieden werden, nämlich in Abhängigkeit davon, wieviele Datenpunkte vorliegen:
Fall 1: ungerade Anzahl an Datenpunkten. Wir betrachten die (geordneten) Daten: \[11~~15~~15~~ 15~~ \boxed{16}~~17~~17~~17~~18\] Dann ist offensichtlich 16 der Median. Allgemeiner und formaler: Es seien \(x_1,\ldots , x_n\) nach ihrer Größe geordnete Datenpunkte, wobei \(n\) eine ungerade (natürliche) Zahl sei. Dann heißt \[Md_X := x_{\frac{n+1}{2}}\] der Median der Datenreihe \(x_1,\ldots ,x_n\).
Fall 2: gerade Anzahl an Datenpunkten Wir betrachten die (geordneten) Daten: \[11~~15~~15~~ 15~~||~~16~~17~~17~~17\] Als Median gilt dann jeder Wert zwischen den beiden Datenpunkten 15 und 16: \[Md_X \in [ x_{ \frac{n}{2}}, x_{ \frac{n}{2}+1} ]\] Meistens wird der Einfachheit halber der Mittelwert der Intervallgrenzen genommen, also hier 15.5. Allgemeiner und formaler: Es seien \(x_1,\ldots , x_n\) nach ihrer Größe geordnete Datenpunkte, wobei \(n\) eine gerade (natürliche) Zahl sei. Dann heißt \[Md_X := \frac{ x_{ \frac{n}{2}} + x_{ \frac{n}{2}+1} }{2}\] der Median der Datenreihe \(x_1,\ldots ,x_n\).
Der Median wird insbesondere bei ordinalskalierten Daten als Maß der zentralen Tendenz verwendet, da die absoluten Ausprägungen aller Werte, die nicht unmittelbar in die Formel des Medians eingehen, weniger Bedeutung besitzen. Darüber hinaus kann es sein, dass in einem Datensatz extreme Werte vorliegen (man sagt dann auch “Ausreißer”). Diese beeinflussen den Mittelwert sehr stark, sodass in der Folge dieser keine wirklich gute Repräsentation aller Werte mehr ist.
Die folgenden Daten enthalten das monatliche Einkommen von \(n=10\) Personen. Man sieht, dass der sechste Wert deutlich über all den anderen Werten liegt. Der Mittelwert wird allerdings stark von diesem Wert beeinflusst und liegt entsprechend mit \(M=2622\) in einem Bereich, in dem eigentlich keiner der Werte liegt. Der Median hingegen, mit \(Md=2000\), scheint eher eine gute Repräsentation der Daten zu sein.
einkommen <- c(2000, 2100, 2300, 1900, 1950, 7800, 1970, 2000, 2300, 1900)
mean(einkommen)
## [1] 2622
median(einkommen)
## [1] 2000
Bei symmetrischen Daten ohne Ausreißer sind Mittelwert und Median nah beieinander oder sogar gleich (linker Teil der folgenden Abbildung; \(M=Md=4\)). Beim Vorliegen extremer Werte hingegen (rechter Teil der folgenden Abbildung) sieht man wiederum, wie der Mittelwert von diesen beeinflusst wird, während der Median stabil bleibt (\(M=4.9375\) und \(Md=4\)):
Die Bestimmung des Medians gelingt mit der Funktion
median()
, ganz ähnlich wie es beim Mittelwert
geschieht:
X <- c(3, 5, 4, 7, 8, 3)
median(X) # Median
## [1] 4.5
Wir werden weiter unten noch andere Möglichkeiten zur Bestimmung des Medians kennenlernen, nämlich wenn dieser als das sog. 50%-Quantil aufgefasst wird.
Der Modus (oder Modalwert) ist derjenige Wert einer Datenreihe, der am häufigsten vorkommt. Er ist das einzige Maß der zentralen Tendenz, dass auch bei nominalskalierten Daten berechnen werden sollte und entspricht dort derjenigen Ausprägung, die am häufigsten vorkommt. Eine Datenreihe kann auch mehrere Modalwerte besitzen, wenn mehr als eine Ausprägung gleich häufig auftreten.
Zur Bestimmung des Modus gibt es keine genuine Funktion in R. Hier
muss der Umweg darüber gegangen werden, dass zunächst mit
table()
eine Häufigkeitstabelle erzeugt wird und aus dieser
dann das Maximum mit which.max()
gesucht wird:
X <- c(3,5,4,7,8,3)
tab <- table(X) # Häufigkeitstabelle
tab
## X
## 3 4 5 7 8
## 2 1 1 1 1
as.numeric(names(which.max(tab))) # Modus extrahieren
## [1] 3
Es gibt allerdings die Funktion Mode()
aus dem Paket
DescTools
, die den Modus auch direkt aus Daten
berechnet:
library(DescTools) # Paket laden
Mode(X) # Modus aus dem Vektor X suchen
## [1] 3
## attr(,"freq")
## [1] 2
Wollen wir den Modus weiterverwenden, kann er leicht extrahiert werden:
ergebnis <- Mode(X) # Ergebnis speichern
ergebnis[1] # ....liefert den Modus zurück
## [1] 3
Tatsächlich liefert diese Funktion auch mehrere Modi zurück. Im folgenden Beispiel gibt es 3 Modi:
X <- c(3,4,6,2,3,6,6,8,9,9,3,9)
ergebnis <- Mode(X)
ergebnis # ausgeben
## [1] 3 6 9
## attr(,"freq")
## [1] 3
length(ergebnis) # Wieviele Modi wurden gefunden?
## [1] 3
ergebnis[2] # einzeln zugeifen, z.B. auf den zweiten Modus
## [1] 6
Wie bereits zu Beginn dieses Kapitels erwähnt, können Daten bei gleicher zentraler Tendenz sehr unterschiedlich aussehen. In den folgenden Abbildungen sind jeweils \(M_X=4\) und \(Md_X=4\), dennoch sind die Daten im rechten Beispiel “breiter” verteilt als im linken Beispiel. Derartige Unterschiede werden über Maße der Datenvariabilität erfasst, die unerlässlich sind zur adäquaten Beschreibung von Daten.
Ein erstes Maß der Variabilität ist die Spannbreite. Damit ist i.W. der Abstand vom kleinsten zum größten Wert gemeint.
Seien \(x_1, \ldots x_n\) Datenpunkte. Dann bezeichnet man \(SB_X:= max(\{x_1, \ldots x_n\})-min(\{x_1, \ldots x_n\})\) als Spannbreite der Datenpunkte.
Der größte und kleinste Wert einer Datenreihe kann mit
max()
bzw. min()
bestimmt werden (alternativ
liefert die Funktion range()
ebenfalls beide Werte zurück),
woraus dann die Spannbreite berechnet werden kann:
X <- c(5, 3, 5, 4, 6, 7, 8, 3, 9, 8, 6, 4, 5, 6)
SB <- max(X) - min(X) # Spannbreite berechnen
SB
## [1] 6
range(X) # Minimum und Maximum mit range(): 9-3=6
## [1] 3 9
Der Interquartilabstand ist die Breite des Werteintervalls, unter und über dem jeweils 25% der Datenpunkte liegen. Quartile sind diejenigen Werte, die eine Reihe der Größe nach sortierter Daten in vier Teile zerlegen. Dazu sind drei Werte nötig: das 1. Quartil, das 2. Quartil und das 3. Quartil. Der Median \(Md_X\), unter und über dem ja 50% der Daten liegen, ist das 2. Quartil einer Datenreihe.
Eine Möglichkeit der Bestimmung des 1. und des 3. Quartils ist es, die gesamte Datenreihe in zwei Teildatenreihen zu erlegen: (1) bis zum Median und (2) ab dem Median. Der Median der 1. Teildatenreihe wiederum ist dann das 1. Quartil; der Median der 2. Teildatenreihe ist das 3. Quartil. Hat man diese bestimmt, dann berechnet sich der Interquartilabstand als die Differenz zwischen dem 3. und dem 1. Quartil: \[\text{Interquartilabstand}:=\text{3. Quartil} - \text{1. Quartil}\] Der übergeordnete und allgemeinere Begriff ist der des Quantils: Das p-Quantil trennt (geordnete) Daten so, dass etwa \(p \%\) der Daten darunter und \((100-p) \%\) darüber liegen. In diesem Sinne ist der Median also das 50% Quantil. Da es einige besonders häufig betrachtete Quantile gibt, haben sich für manche Spezielfälle bestimmte Namen eingebürgert:
R verfügt mit quantile()
über eine Funktion zur
Bestimmung beliebiger Quantile. Bevor wir diese Funktion einführen,
berechnen wir zunächst die Quartile “per Hand” mittels des Medians:
X <- c(5, 3, 5, 4, 6, 7, 8, 3, 9, 8, 6, 4, 5, 6)
X.Teil1 <- X[X<median(X)] # 1. Teil: bis zum Median
X.Teil2 <- X[X>median(X)] # 2. Teil: ab dem Median
Q1 <- median(X.Teil1) # 1. Quartil
Q2 <- median(X) # 2. Quartil
Q3 <- median(X.Teil2) # 3. Quartil
IQR <- Q3 - Q1 # Interquartilabstand
IQR
## [1] 3
Eine erste Alternative besteht in der Verwendung der Funktion
summary()
. Diese Funktion passt sich dem Objekt an, welches
ihr übergeben wird und entsprechend werden dann auch verschiedene
Ausgaben generiert. Wird der Funktion ein numerischer Vektor übergeben,
werden neben Minimum, Maximum und Mittelwert auch die drei Quartile
mitausgegeben:
summary(X)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.000 4.250 5.500 5.643 6.750 9.000
Ersichtlich würde hier der Interquartilabstand mit \(6.75-4.25=2.5\) anders ausfallen, als bei
der Berechnung per Hand. Dies rührt tatsächlich auch daher, dass es
(mindestens) neun verschiedene Berechnungsarten für Quantile gibt, die
insbesondere bei kleinen Stichproben zu mehr oder weniger
unterschiedlichen Ergebnissen kommen. In der Funktion
quantile()
kann auf diese verschiedenen Berechnungarten
zurückgegriffen werden (mehr Informationen gibt es auch in der
Hilfeseite der Funktion, also ?quantile
). Rufen wir für
unser Beispiel die Funktion ohne weitere Parameter auf, dann werden
Quartile berechnet und als Default wird type = 7
verwendet.
Dies führt in unserem Fall zum gleichen Ergebnis wie
summary()
:
quantile(X)
## 0% 25% 50% 75% 100%
## 3.00 4.25 5.50 6.75 9.00
Durch Spezifizierung des Parameters probs
können mit der
Funktion quantile()
auch andere Quantile berechnet werden,
indem ein entsprechender Vektor übergeben wird. Wollen wir bspw. Dezile
berechnen, benötigen wir einen Vektor
probs = c(0.0, 0.1, 0.2, ..., 0.9, 1.0)
, den wir sehr
leicht mit der Funktion seq()
erstellen. Zusätzlich wollen
wir im folgenden Beispiel die Quantile nach Typ 6 berechnen (sowie auch
SPSS es tun würde):
quantile(X,
probs = seq(from = 0, to = 1, by = 0.1),
type = 6)
## 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
## 3.0 3.0 4.0 4.5 5.0 5.5 6.0 6.5 8.0 8.5 9.0
Es sei noch darauf hingewiesen, dass eine derartige Einteilung in
Dezile mit insgesamt nur 14 Werten auf dem Vektor X
in der
Praxis nur wenig sinnvoll ist.
Wir hatten beider Einführung des Mittelwerts darauf hingewiesen, dass die Summe der Differenzen von Datenpunkten zu ihrem Mittelwert immer Null ergibt: \[\sum_{i=1}^n (x_i - M_X) = 0\] Um dieses Problem zu umgehen, wäre eine Möglichkeit die jeweiligen Beträge der Differenzen aufzusummieren. Da dann keine negativen Werte mehr mit in die Summe eingehen, kann diese Summe nur noch positiv werden (bzw. Null, wenn alles Daten den gleichen Wert haben): \[ \frac{1}{n}\cdot\sum_{i=1}^n |x_i-M_X| \] Es gibt aber einen guten Grund (siehe weiter unten beim Kriterium der kleinsten Quadrate), warum üblicherweise nicht die Abweichung zum Mittelwert, sondern die zum Median betrachtet wird.
Seien \(x_1,\ldots ,x_n\) Datenpunkte. Dann wird \[AD:=\frac{1}{n}\cdot \sum_{i=1}^n |x_i-Md_X|\] als die absolute (mittlere) Abweichung der Datenpunkte vom Median bezeichnet. Da hier \(n\)-viele Werte aufsummiert werden (eben die Abweichungen) und die Summe dieser Werte dann durch \(n\) dividiert wird, handelt es sich quasi um den Mittelwert der absoluten Abweichungen vom Median. Diese Abweichung ist ein Maß der Variabilität insbesondere bei ordinalskalierten Variablen.
Die Varianz ist das wichtigste Maß der Variabilität und generell ein enorm wichtiges und uns immer wieder begegnendes Konzept der Statistik, insbesondere dann, wenn wir von (mindestens) intervallskalierten Variablen ausgehen. Umgangsprachlich ist die Varianz ist die mittlere quadrierte Abweichung der Datenpunkte von ihrem Mittelwert. Das heißt, statt des Betrags, wird hier die Abweichung quadriert, um negative Werte “los zu werden”.
Seien \(x_1,\ldots ,x_n\) Datenpunkte. Dann wird \[S_X^2:=\frac{1}{n}\cdot \sum_{i=1}^n (x_i - M_X)^2 \] als die Varianz der Datenpunkte bezeichnet.
Konkret an einem Beispiel: Die Varianz der Werte \[x_1 = 3, x_2 = 5, x_3 = 4, x_4 = 8 \quad (M_X =5) \] berechnet sich als \[\begin{equation*} \begin{aligned} S_X^2 &=\frac{1}{4}\cdot \sum_{i=1}^4 (x_i - 5)^2 \\ &= \frac{1}{4}\cdot \left[ (3-5)^2+(5-5)^2+(4-5)^2+(8-5)^2\right]\\ &=0.25\cdot 14=3.5 \end{aligned} \end{equation*}\]
Auch die Varianz hat einige wichtige Eigenschaften, die wir im Verlaufe immer wieder benötigen werden (weitere Erläuterungen, Beweise und Datenbeispiele finden Sie hier):
Wir merken an dieser Stelle bereits an, dass die Varianz zuweilen auch definiert wird als: \[\hat{S}_X^2:=\frac{1}{n-1}\cdot \sum_{i=1}^n (x_i - M_X)^2 \] Der einzige Unterschied ist, dass die Summe nicht durch \(n\), sondern durch \(n-1\) dividiert wird. Wir bezeichnen diese Version als korrigierte Stichprobenvarianz \(\hat{S}_X^2\) (mit einem kleinen Dach über dem \(S\) und kommen später darauf zurück, worin der wichtige Unterschied liegt).
Korrigierte Stichprobenvarianz und unkorrigierte Stichprobenvarianz lassen sich anhand eines Umrechnungsfaktors leicht ineinander überführen: \[\frac{n-1}{n} \cdot \hat{S}_X^2 = \frac{n-1}{n} \cdot \frac{1}{n-1}\cdot \sum_{i=1}^n (x_i - M_X)^2 = \frac{1}{n} \cdot \sum_{i=1}^n (x_i - M_X)^2 = S_X^2\]
Um die Varianz mit R zu bestimmen, können wir zunächst die Formel der Definition in R-Code umsetzen:
X <- c(5, 3, 5, 4, 6, 7, 8, 3, 9, 8, 6, 4, 5, 6) # Daten
n <- length(X) # wieviele Werte gibt es?
varianz <- (1/n) * sum((X-mean(X))^2) # Umsetzung der Definition
varianz
## [1] 3.229592
Natürlich hat R mit var()
auch eine Funktion zur
Berechnung der Varianz:
var(X)
## [1] 3.478022
Ersichtlich ist aber, dass diese Funktion auf ein anderes Ergebnis
kommt. Tatsächlich berechnet var()
die
korrigierte Stichprobenvarianz. Um daraus die Varianz
zu berechnen, kann eine kleine Umrechnung vorgenommen werden, nämlich
durch die gerade eingeführte Multiplikation mit dem Faktor \(\frac{n-1}{n}\):
((n-1)/n) * var(X) # Stichprobenvarianz
## [1] 3.229592
Warum es beide Varianten zur Berechnung der Varianz gibt wird zu einem späteren Zeitpunkt erläutert.
Die Varianz ist auch der Ausgangspunkt für zwei weitere Maße. Zunächst berechnet sich die Standardabweichung als die Wurzel aus der Varianz.
Seien \(x_1,\ldots ,x_n\) Datenpunkte. Dann wird \[S_X:=\sqrt{S_X^2}=\sqrt{\frac{1}{n}\cdot\sum_{i=1}^n (x_i-M_X)^2}\] als die (unkorrigierte) Standardabweichung (oder Streuung) der Datenpunkte bezeichnet. Da es eine korrigierte Variante der Varianz gibt, gibt es auch eine korrigierte Standardabweichung: \[\hat S_X:=\sqrt{\hat S_X^2}=\sqrt{\frac{1}{n-1}\cdot\sum_{i=1}^n (x_i-M_X)^2}\]
Dividiert man nun noch die Standardabweichung durch die Wurzel aus \(n\), so erhält man den sog. Standardfehler (des Mittelwerts).
Seien \(x_1,\ldots ,x_n\) Datenpunkte. Dann wird \[SE_X:=\frac{S_X}{\sqrt{n}} \quad \quad \text{bzw.} \quad \quad \widehat {SE}_X:=\frac{\hat S_X}{\sqrt{n}}\] als der Standardfehler (des Mittelwerts) bezeichnet. Streng genommen ist der Standardfehler aber keine Beschreibung der Variabilität der Werte einer Stichprobe und wir werden darauf zu einem späteren Zeitpunkt zurück kommen.
Die Standardabweichung kann als Wurzel der Varianz berechnet werden:
sd <- sqrt(varianz)
sd # unkorrigiert
## [1] 1.797107
oder (mit ähnlicher Abweichung wie im Fall der Varianz) mit der
Funktion sd()
:
sd(X) # korrigiert
## [1] 1.864946
Wir hatten weiter oben festgehalten, dass für metrische Daten (bei Vorliegen bestimmter Eigenschaften) der Mittelwert die Voraussetzungen als geeignetes Maß der zentralen Tendenz intuitiv gut erfüllt. In der Statistik werden Ausdrücke wie “gut erfüllt” an bestimmten Kriterien fesgemacht und eines der wichtigsten Kriterien ist das Kriterium der kleinsten Quadrate. Tatsächlich erfüllt der Mittelwert dieses Kriterium; er ist derjenige Wert, bei dem die Summe der quadrierten Abweichungen ihr Minimum annimmt.
Die Bedeutung wollen wir im Folgenden erläutern. Zunächst ist die quadrierte Abweichung von Daten \(x_i\) von einem beliebigen Wert \(C\in\mathbb{R}\) ja \[(x_i-C)^2\] und die Summe der \(n\)-vielen solcher quadrierten Abweichungen ist dann \[\sum_{i=1}^n(x_i-C)^2\] Zur weiteren Illustration betrachten wir eine kleine Stichprobe von \(n=4\) Werten:
X <- c(3,5,4,8)
Nun berechen wir für verschiedene \(C\in[4;6]\) die Summe der quadrierten Abweichungen der vier Werte vom jeweilig betrachteten \(C\) und plotten diese Summe als Funktion von \(C\): Die gestrichelte Linie kennzeichnet denjenigen Wert von \(C\) für den die Funktion ihr Minimum annimmt. Dieser Wert \(C\) ist genau der Mittelwert der Daten, also kann man auch sagen: Für \(C=M_X\) wird die Summe der quadrierten Abweichungen minimal.
Allgemein kann man folgendes zeigen: Seien \(x_1,\ldots ,x_n\) Datenpunkte. Sei weiter \(C\) eine beliebige Zahl (\(C\in\mathbb{R}\)) mit \(C\neq M_X\). Dann gilt immer (den formalen Beweis finden Sie hier): \[\sum_{i=1}^n(x_i-M_X)^2 < \sum_{i=1}^n(x_i-C)^2\] Betrachten wir nun dieses Ergebnis aus einem anderen Blickwinkel. Dazu seien \(x_1,\ldots ,x_n\) Datenpunkte. Welche Zahl \(C\) kann die Lage dieser Daten “bestmöglich” beschreiben?
Dazu müssen wir klären was “bestmöglich” heißt und eine übliche Präzisierung ist es zu sagen, dass eine Zahl \(C\) die Datenpunkte bestmöglich repräsentiert, wenn sie das “Kriterium der kleinsten Quadrate” erfüllt, d.h. die Zahl \(C\), für die \[\sum_{i=1}^n (x_i-C)^2\] minimal wird. Nach diesen Ausführungen ist dies dann genau der Mittelwert \(M_X\). Da die Varianz als “mittlere quadratische Abweichung” aus der Summe der quadratischen Abweichungen durch Division durch \(n\) bzw. \(n-1\) hervorgeht, ist somit auch die mittlere quadratische Abweichung, also die Varianz, am kleinsten, wenn Abweichungen vom Mittelwert betrachtet werden.
Bei der absoluten mittleren Abweichung haben wir demgegenüber Abweichungen vom Median (bzw. deren Beträge) betrachtet. Die Summe dieser Abweichungen erfüllt in analogem Sinne das “Kriterium der kleinsten absoluten Abweichungen” (auch wenn dieses in der Praxis weniger häufig eine Rolle spielt als das der kleinsten Quadrate).
Zum Abschluss dieses Kapitels wollen wir noch die sog. \(z\)-Standardisierung einführen, die ein Ausdrücken von Abweichungen in Einheiten der Standardabweichung – statt in der Ausgangsmetrik der Variablen – ermöglicht. Dies ermöglicht z.B. Vergleiche wenn die gleiche Variable an mehreren Stichproben erhoben wurde, z.B.
Ein Beispiel seien die Häufigkeitsverteilungen von Ergebnissen in einem Vor- und einem Nachtest, z.B. in einem Rechentest zu Beginn und am Ende eines Schuljahres, wobei sechs mögliche Werte erreicht werden können:
In diesem Beispiel hat sich die Lage der Werte der beiden Erhebungen verändert und zusätzlich auch die Variabilität der Werte. Eine typische Frage wäre nun: Hat sich die Leistung eines Schülers bzw. einer Schülerin relativ zur Gruppe verändert? Angenommen, jemand hat zu Beginn des Schuljahres den Wert 3 erhalten. Dieser Wert hat eine Differenz von \(3-4=-1\) zum Mittelwert 4. Wenn diese Person zum Ende des Schuljahres nun den Wert 1 erhält, dann hat auch dieser eine Differenz von \(2-1=-1\) zum (neuen) Mittelwert 2. Da es zu Beginn des Schuljahres aber größere Abweichungen gab, die es zum Ende nun nicht mehr gibt, sind beide Differenzen trotz des gleichen Werts von \(-1\) unterschiedlich zu bewerten.
Dies trifft immer dann zu, wenn sich Varianz bzw. Standardabweichung zweier Messungen unterscheiden. Nehmen wir an, wir hätten an zwei Stichproben folgende Mittelwerte und Standardabweichungen gemessen:
Nun betrachten wir eine Person, die auf der Variablen \(X\) den Wert 70 erhalten hat. Die absolute Abweichung vom Mittelwert ist jeweils gleich, nämlich \(|50-70|=20\). Da aber die Standardabweichungen verschieden sind, ist die Frage: “In welcher Stichprobe weicht die Person ‘mehr nach oben’ ab?” bzw. “In welcher Stichprobe weicht sie stärker vom Mittelwert der Stichprobe ab?”
Dazu relativieren wir die Differenz an den jeweiligen Standardabweichungen und erhalten:
Das heißt auch, in Stichprobe 1 weicht die Person um eine Standardabweichung vom Mittelwert der Gruppe ab, während sie in Stichprobe 2 nur eine halbe Standardabweichung vom Mittelwert der Gruppe abweicht. Da größere Standardabweichungen natürlich mit mehr größeren Abweichungen einhergehen, stellt das Ergebnis \(X=70\) in Stichprobe 1 eine bessere Leistung relativ zur Gruppe dar als in Stichprobe 2.
Formal definiert wird die \(z\)-Transformation wie folgt: Seien \(x_1,\ldots ,x_n\) Datenpunkte einer Variablen \(X\). Dann versteht man unter dem \(z\)-Wert des Datenpunktes \(x_i\) die Zahl \[z_i:=\frac{x_i-M_X}{S_X}\] und die Variable mit den Werten \(z_1,\ldots ,z_n\) heißt die standardisierte Variable \(Z_X\) von \(X\). Für \(Z_X\) schreibt man auch: \[Z_X=\frac{X-M_X}{S_X}\] Eine \(z\)-standardisierte Variable hat zwei wichtige Eigenschaften (siehe hier für die Beweise):
Insgesamt können also mit der \(z\)-Standardisierung Stichproben mit der gleichen abhängigen Variablen, aber je verschiedenen Mittelwerten und Standardabweichungen (bzw. Varianzen) auf eine gemeinsame Skala gebracht werden und dadurch vergleichbar gemacht werden.
Eine \(z\)-Standardisierung kann in
R mit der Funktion scale()
durchgeführt werden. Die
Funktion hat zwei Parameter, die aber standardmäßig auf
TRUE
stehen: center
legt fest, ob von jedem
Wert der Mittelwert subtrahiert werden soll (was auch “Zentrierung”
genannt wird) und scale
legt fest, ob durch die
Standardabweichung dividiert werden soll. Beides zusammen ergibt dann
die \(z\)-Standardisierung:
X <- c(5, 3, 5, 4, 6, 7, 8, 3, 9, 8, 6, 4, 5, 6)
z.X <- scale(X,
center = TRUE, # zentrieren (d.h. M = 0)
scale = TRUE) # auf Standardabweichung normieren
round(mean(z.X), 2) # mit Rundungsungenauigkeit!
## [1] 0
sd(z.X)
## [1] 1