Quantitative Analysen

Inhalte

Studienplanung

Die Analyse einer Forschungsfrage beginnt schon bei der Planung der Studie. Das liegt daran, dass innerhalb der Analyse mathematische beschrieben werden muss, was und wie innerhalb einer Studie erhoben bzw. gemacht wurde. Damit hat die Art der Durchführung einer Studie Einfluss auf die Analyse der Studie. Es sollte daher schon bei der Planung der Studie, dass Studiendesign identifizert und die statistische Analyse bestimmt werden. Wichtig hierbei ist zu prüfen, ob die statistische Analyse, die Antwort auf die Fragestellung gibt. Gelingt dies nicht (z.B. weil das Design nicht identifiziert werden kann oder die statistische Analyse nicht die passende Antwort gibt), kann ein Fehler in dem Studiendesign vorliegen, der vor der Durchführung der Studie behoben werden sollte. Dieser Schritt ist meistens ein wenig kompliziert und sollte in Zusammenarbeit mit Deinem:r Betreuer:In stattfinden.

In den nächsten zwei Kapiteln findest Du noch mehr Information zur Studiendesign Identifikation und Analysebestimmung.

Studiendesign identifizieren

Die Identifizerung des Studiendesign ist der Schritt, der Studiendurchführung in mathematische Begriffe übersetzt. Ohne diesen Schritt ist eine Analyse nicht möglich.

Das Studiendesign ist relativ einfach zu identifizieren. Dazu musst Du nur vier Fragen beantworten:

  1. Welche Variablen erhebst Du in Deiner Studie (egal ob abhängige oder unabhängige Variable)?
  2. Für jede Variable gibt an, welches Skalenniveau (d.h. nominal-, ordinal-, intervall- oder verhältnisskaliert) sie hat. Beachte, dass manchmal das Skalenniveau auch Interpretationssache sein kann, z.B. können Ratingskalen als Intervall oder Ordinalskalen interpretiert werden.
  3. Hast du eine nominalskalierte Variable (Du kannst diesen Schritt für die Variablen mit anderen Skalenniveaus überspringen)? Dann gibt für jede nominalskalierte Variable (d.h. Faktor) separat an, ob die Gruppen innerhalb des Faktors (d.h. die Levels), unabhängig (d.h. between-subject) oder abhängig (d.h. within) sind. Dazu musst Du dich für jeden Faktor separat fragen, ob die Datenpunkte aus einer Gruppe des Faktors von ein und demselben gemessenen Subjekten (dies kann z.B. eine befragte Person, ein Paar oder ein Unternehmen sein) stammen wir die Daten einer anderen Gruppe des Faktors. Falls die Daten von demselben subjekt stammen, hast Du ein within-subjekt Faktor. Falls die Daten von verschiedenen Subjekten stammen hast Du einen between-subject Faktor.
  4. Bestimme welche Variable(n) Deine abhängigen Variablen (AV) sind und welche Variablen Deine unabhängigen Variable(n) (UV) sind.

Jetzt benutzen wir diese Information, um Dein Design zu beschreiben. Generell

  1. Schau auf Deine UV. Ist dort mindestens eine kontinuierliche darunter?

    • Falls ja: Du hast ein Zusammenhangsdesign.
      Wenn man will kann zu dem Design noch grob die generellen Analyseart mit angeben. Die findest Du wie folgt raus:
      a. Falls Du mehr als eine UV und eine kontinuierliche AV hast, dann hast Du eine multiple Regression vorliegen.
      b. Falls Du mehr als eine UV und eine nominale AV hast, dann hast Du eine multiple logistische Regression vorliegen.
      c. Falls Du nur eine UV und eine kontinuierliche AV hast, dann hast Du eine entweder eine Korrelation oder eine einfache lineare Regression (ELR) vorliegen. In diesem Fall, kommt es auf Deine Zielstellung an. Generell liefert die ELR dasselbe wie die Korrelation und noch ein wenig mehr.
      d. Wir haben Deinen Fall nicht besprochen? Ich habe hier nur die häufigsten Formen angsprochen. Sprich bitte nochmal mit Deinem:r Beteuer:In über Dein Design.

      Vergiss nicht, dass bei einem Zusammenhangsdesign, die UVs 'Prädiktoren' genannt werden.

      Beispiel: Nehmen wir an, dass wir den Einfluss von Alter (kontinuierlich erhoben - hier verhältnisskaliert) und Gehalt auf die Lebenszufriedenheit untersuchen. Man könnte das Design wie folgt beschreiben:

      In der folgenden Studie wurde der Einfluß von Gehalt und Alter auf die Lebenszufriedenheit mittels eines Zusammenhangsdesigns untersucht. Im Speziellen wurde der Einfluss des Prädiktors 'Gehalt' und des Prädiktors 'Alter' auf die 'Lebenszufriedenheit' mittels einer multiplen Regression untersucht.

    • Falls nein (d.h. alle UVs sind nominal): Du hast ein ANOVA Design.
      Hier musst Du noch ein wenig mehr Hand anlegen. Vergiss nicht, dass bei einem ANOVA Design, die UVs 'Faktoren' genannt werden. Für jeden Faktor stelle die folgende Information zusammen:

      1. Finde einen kurzen, aber aussagekräftigen Namen für den Faktor.
      2. Zähle für jeden Faktor die Anzahl der Gruppen (d.h. die Anzahl der Levels).
      3. Notiere, ob der Faktor within-subject oder between-subject war.

      Jetzt prüfen wir, ob Dein Design sich eventuell für eine Kurzbeschreibung eignet. Sind alle Deine Faktoren nur between oder nur within?
      a. Falls ja, dann kannst Du sagen, dass Du ein reines within-subject Design (bei nur within-subject Faktoren) oder ein reines between-subject Design (bei nur between-subject Faktoren) hast.
      b. Falls nein, dann hast Du ein mixed ANOVA Design. Hier empfiehlt es sich dieses genauer zu beschreiben (das hilft Dir dann auch bei statistischen Analyse, weil Du dort genau diese Information angeben musst). Gib jeden Faktor mit dem Kurznamen, der Abhängigkeit und Anzahl der Levels an.

      Beispiel: Nehmen wir an wir haben eine Langzeitstudie durchgeführt in der wir die Lebenszufriedenheit unserer Probanden über derern Lebenszeit hinweg nach Geschlecht getrennt erhoben haben. Man könnte das Design wie folgt beschreiben:

      In der folgenden Studie wurde der Einfluß von Geschlecht und Alter auf die Lebenszufriedenheit mit einer mixed ANOVA untersucht. Im Speziellen wurde der Einfluss des between subject Faktors 'Geschlecht' (3 Levels: männlich, weiblich, divers) und des within-subject Faktors 'Alter' (2 Levels: jung und alt) auf die abhängige Variable 'Lebenszufriedenheit' untersucht.

Gratulation! - jetzt hast Du Dein Design identifiziert.

Statistische Analyse bestimmen

Mit der Information über Deine Variablen, die Du mittels der Identifikation des Studiendesign erhalten hast, kannst Du jetzt mittels dieses Entscheidungsbaums für statistische Analysemethoden Deine Analyse bestimmen.
Falls Du noch bei der Planung der Studie bist, mach Dich mit der Art der Analyse vertraut. Finde heraus, welche Hypothese bei der Analyse, Deine Fragestellung beantwortet. Kannst Du dies nicht, diskutier Deine Analyse noch einmal mit Deiner Betreuer:In. Generell solltest Du Deine Analyse und welche Effekte Deine Fragestellung beantworten nochmal mit Deinem:r Betreuer:In besprechen.

Vorgehen bei quantitativen Analysen

Für Videos zum Thema siehe auch die Sektion 'Codes'

  1. Informationen zur Fragestellung und Methodik sammeln:
    • Was will ich wissen/was war die Frage die es zu beantworten gilt?
    • Was wurde wie gemessen? Was ist die AV, UV, und das Design? Welche Skalenniveaus haben die Daten?
    • Mit welcher/welchen statistischen Prozeduren kann ich diese Frage am besten beantworten? Sie dazu auch die Übersicht der inferenzstatistischen Tests
  2. Rohdaten anschauen:
    • Welches Format liegt vor (z.B. Trennzeichen, Spaltenbeschriftung)?
    • Was wird in den Zeilen abgespeichert?
    • Gibt es Fehler?
  3. Daten einlesen, prüfen und formatieren:
    • Wurden alle Daten und diese auch richtig eingelesen?
    • Wo finde ich welche Variablen im Datensatz?
    • Daten ggfs. umformatieren (z.B. vom long ins wide Format bringen oder umgekehrt)
  4. Rohdaten anschauen
    • Daten plotten
    • Stimmen die Wertebereiche für die Variablen?
    • Sind Fehler erkennbar (z.B. fehlende Daten, ungewöhnliche Muster)?
    • Gibt es extreme Datenpunkte, was bedeuten sie in Bezug auf das Verhalten des Probanden und die Analyse und was könnten die Gründe für die Existenz dieser extremen Datenpunkte sein?
    • Was sind die beobachtbaren Trends in den Daten? Sind die Effekte groß, mittel oder klein? Welche Richtung haben die Effekte?
  5. Daten für die Analyse aufbereiten
    • Haben die Daten bedeutungsvolle Codierungen z.B. weiblich vs männlich vs. 1 vs 0?
    • Wurden fehlende Daten oder Daten mit fehlenden Antworten entfernt (z.b. teilweise beantwortete Fragebögen)?
    • Daten in das richtige Format für die weitere Analyse bringen (z.B. long oder wide)
    • Daten ggfs filtern (z.B. nur die Gruppen auswählen, die für eine Analyse relevant sind).
  6. Explorative Datenanaylse
    • Rohdaten zu den interessierenden Effekten plotten. Bei Zusammenhangsanalysen: Scatter plot; bei Unterschiedsanalysen: Boxplot
    • Daten ggfs. zusammenfassen: Berechnung der zentralen Tendenz und Streuung
    • Trends plotten (z.B. Scatterplot oder Barplot) und wenn möglich mit Streuungsmaß (z.B. Fehlerbalten, Konfidenzband, etc.) (Empfehlung ggplot). Bei Zusammenhangsanalysen: Scatterplot, bei Unterschiedsanalysen: Error bar oder Scatter plot mit Error bars (Hinweis: bei mehreren Variablen kann man die auch in verschiedene Panele mit facet_wrap anordnen).
  7. Annahmen prüfen
    • Um die Annahmen zu prüfen, musst du die Residuen/Fehler deines Modells anschauen. In R ist dies am einfachsten indem du dein Modell einfach plottest: plot(lm([deineModellformel]).
      In Jasp ist dies mehr Verteilt, u.a. bei plot in dem Anova/Regressionsdialog.
    • Annahmen graphisch und/oder per Test (Normalverteilung: Shapiro-Wilk; Homogene Varianzen: Barlett oder Levene Test, Unabhängigkeit via Plot) prüfen
    • Wenn Annahmen nicht erfüllt
      • Daten umformatieren, so dass Annahmen wiederhergestellt sind: z.B. Daten trimmen, Daten transformieren (wie dies gemacht wird, wird in der Vorlesung hier gezeigt
      • Alternative statistische Prozedur wählen, die nicht diese Annahmen macht (z.B. bei nicht normalverteilten Daten den non-parametrischen Test verwenden, d.h. tests, die für AVs von ordinalen oder kategorialen/nominalen Datenniveau verwendet werden.
  8. Statistische Analyse durchführen
    • nur wenn Annahmen erfüllt sind (diese Annahmenprüfungen sind zu berichten s.u.), Statistik berechnen
    • Überprüfen, ob das Ergebnis mit den Trends in den Daten übereinstimmmt. Wenn nicht, nach Fehlern schauen.
    • statistische Ergebnisse nur in Bezug auf die Fragestellung interpretieren, wenn diese signifikant sind (d.h. die H0 konnte verworfen werden). Bei nicht signifikaten Ergebnissen kann keine Schlussfolgerungen gezogen werden (d.h. die H0 konnte nicht verworfen werden).
      Wichtig: Nicht signifikante Ergebnisse bedeuten nicht, dass es kein Unterschied oder Zusammenhang gibt (es kann lediglich keine Aussage getroffen werden - d.h. wir sind genauso schlau wie zu Beginn der Studie).
  9. Ergebnisse nach APA format aufschreiben
    Für ein aufgeschriebenes Beispielergebnis klicke hier.
    Für jede Analyse (die Inhalte der Einzelpunkte werden normalerweise als ein Fliesstext formuliert und nicht stichpunktartig abgearbeitet). Es sollte immer mit den a-priori Hypothesen angefagen werden.
    • Angeben welche Frage/Hypothese untersucht wird
    • Die relevanten Trends als Graphik zeigen und beschreiben (d.h. zentrale Tendenz und Streuung) (hier noch keine Statistik berichten)
    • Angeben, ob Annahmen erfüllt sind und wie bei Annahmenverstößen vorgegangen wurde.
    • UV, AV und statistischen Prozedur nennen
    • Effekte berichten mit der Statistik (gerundet auf zweite Nachkommastelle), Effektgröße (gerundet zweite Nachkommastelle) und p-Wert (gerundet auf dritte Nachkommastelle).
    • Wenn das statistische Ergebnis schwieriger zu verstehen ist, dann das statistische Ergebnis ggfs. nochmal in Bezug auf die Beantwortung der Frage/Hypothese interpretieren
    • genauere Untersuchungen zu den a-priori Hypothesen ggfs mit Folgeanalysen (d.h. post-hoc Analysen) durchführen.

Statistische Signifkanz bestimmen

Wir holen hier ein wenig weiter aus, weil es mir wichtig ist, dass ihr die Logik hinter dem statistischen Test versteht. Der Beginn ist hier, wie wir zu wirklicher (d.h. wahrer) Erkenntnis innerhalb der Wissenschaft kommen können. Die Logik des Hypothesentest folgt dem Falsifikationsprinzip (von Karl Popper - den Namen kann man sich merken). Dieses besagt, dass man nur in einer Situation eine sichere und belegbare Aussage machen kann (und damit zur Erkenntnisfindung kommt): Wenn ich zeigen kann, dass eine Behauptung falsch ist (d.h. wenn ich etwas falsifiziere - daher auch der Name des Prinzips).

Das mag komisch klingen, aber ich versuche es mit dem häufig verwendeten Schwan Beispiel zu verdeutlichen. Sagen wir, wir wollen Erkenntnis über die Farbe von Schwänen erhalten. In unserem ersten Versuch gehen wir dazu wie im Alltag vor: Wir schauen uns viele Schwäne an. Dabei stellen wir fest, dass die Schwäne alle weiß sind. Wir kommen daher zur Schlussfolgerung, dass alle Schwäne weiß sind. Ist diese Schlussfolgerung richtig?
Mit etwas Nachdenken, fallen uns wahrscheinlich Gegenbeispiele ein: eine zufällige aber seltene genetische Mutation, die zu einer Farbveränderung bei Schwänen führt; oder eine besondere Schwanart von der wir noch nichts wußten (Trauerschwan), der schwarz ist. Wie das Gegenbeispiel auch gewählt wird, es zeigt eins: Man kann keine sicheren Schlussfolgerungen über die Richtigkeit einer Aussage ziehen, auch wenn diese durch eine, mehrere, oder alle unserer Beobachtungen gestützt werden (es kann ja sein, dass in der Vergangenheit oder in der Zukunft es anders sein kann). Wie kann man aber nun sichere Schlussfolgerungen ziehen (was ja wichtig für die Wissenschaft ist)? Nehmen wir wieder das Schwanbeispiel auf. Diesmal gehen wir aber anders vor. In unserem zweiten Versuch stellen wir die Behauptung oder Hypothese auf: "Alle Schwäne sind weiß!". Jetzt begeben wir uns auf die Suche nach nicht-weißen Schwänen. Angenommen wir finden einen oder mehrere (z.B. den Trauerschwan oder einen sehr jungen Schwan), dann haben wir mindestens ein Gegebenbeispiel zur Hypothese gefunden und damit können wir mit SICHERHEIT sagen, dass die Hypothese falsch ist. Genau dass ist, was Karl Popper mit seinem Falsifikationsprinzip meint: Wir können zu sicheren Aussagen gelangen, wenn wir zeigen können, dass eine Behauptung falsch ist, d.h. wenn wir eine Hypothese falsifizieren.

Dieses Prinzip ist zentral für die Inferenzstatistik. Alle Tests folgen dieser Logik der Erkenntnisfindung. Man stellt in einer statistischen Analyse eine Hypothese auf, die man mittels Datenerhebung oder sonstiger Evidenz versucht zu verwerfen. Nur in dem Fall, dass man ein Gegenbeispiel zur Hypothese findet, kann man diese verwerfen und eine Schlussfolgerung ziehen. Diese Hypothese, die man versucht zu verwerfen, nennt man Nullhypothese. Lasst es Euch nochmal auf der "Zunge zergehen": Alles was man aus einem statistischen Test mit Sicherheit sagen kann, ist, dass die Behauptung der Nullhypothese nicht richtig ist.

Was ist aber dann richtig? Wenn wir zeigen konnten, das ein Schwan nicht weiß ist, was ist dann die Farbe der Schwäne. Tja, das können wir in der Wissenschaft leider nicht mit Sicherheit sagen. Wir können ja aufgrund des Falsifikationsprinzips nur sagen, "wenn etwas nicht richtig ist" und nicht sagen "was richtig ist". Trotzdem versuchen die Wissenschaftler den Fall des Findens eines Gegenbeispiels positiv auszudrücken: Anstatt zu sagen "es stimmt nicht, dass alle Schwäne weiß sind" formulieren sie es positiv "Nicht alle Schwäne sind weiß". Dieser Erkenntnisgewinn wird in der sogennanten Alternativhypothese formuliert.

Bei der statistischen Formulierung von Hypothesen geht man daher immer im Paar vor. Man formuliert eine Nullhypothese (H0), die man versucht zu verwerfen, und eine Alternativhypothese (H1), die genau das Gegenteil behauptet, und damit den Erkenntnisgewinn zusammenfasst. Dann versucht man mit den erhobenen Daten zu schauen, ob sie der Nullhypothese Widersprechen. Genau genommen wird die Wahrscheinlichkeit gemessen, dass die Ergebnisse aus dem Datensatz von einer Nullhypothesenverteilung kommt (lapidar ausgedrückt: dass der Datensatz von der Nullhypothese kommt). Wenn diese Wahrscheinlichkeit gering ist, dann Schlussfolgern wir, dass er der Datensatz nicht von der Nullhypothese kommt und wir ein Gegenbeispiel zur Hypothese gefunden haben (d.h. wir haben der Hypothese widersprochen). In diesem Fall können wir die Nullhypothese verwerfen und die Alternativhypothese annehmen.

Was passiert, wenn die Wahrscheinlichkeit, dass unser Datensatz von der Nullhypothesenverteilung kommt, groß ist. Nun in diesem Fall können wir keine Aussage machen. Erinnere Dich, dass wir im Schwanbeispiel nicht mit Sicherhait sagen konnten, dass alle Schwäne weiß sind, da wir nur weiße Schwäne beobachtet haben. Ja es ist möglich, dass tatsächlich alle Schwäne weiß sind, aber es kann auch möglich sein, dass wir uns die falschen Schwäne angeschaut haben (z.B. nicht die Trauerschwäne). In diesem Fall sagen wir einfach nur, dass wir nicht genug Belege (auch "Evidenz" genannt), um die Nullhypothese zu verwerfen und nichts weiter. Wir können in diesem Fall aber keine Schlussfolgerung ziehen oder Interpretationen des Ergebnisses anstellen, weil beides vorgibt, dass wir einen Erkenntnisgewinn hatten. Dies ist ein häufiger Fehler, dass dieses sogenannte Nullergebnis auch als Erkenntnisgewinn beschrieben wird (z.B. wird manchmal gesagt, dass die Datne zeigen, dass keinen Unterschied gibt oder dass alle Schwäne weiß sind - das kann man nicht machen). In der Statistik ist es generell schwierig bis unmöglich aufgrund des Falsifikationsprinzips die Gleichheit von zwei Dingen nachzuweisen.

Noch ein letztes Wort. Vielleicht fragen sich einige was eine "kleine Wahrscheinlichkeit" und eine "große Wahrscheinlichkeit" bedeudet? D.h. ab wann dürfen wir die Nullhypothese ablehnen? Das bringt uns zu dem Signifikanzniveau, was auch alpha oder α genannt wird: Die Grenzwerte für die Wahrscheinlichkeit, ab der wir die Nullhypothese als falsch bezeichnen (Signifikanzniveau), wurde von einem bekannten und einflussreichen Statistiker namens Pearson (arbiträr) vorgeschlagen: 1% oder 5% (d.h. 0.01 oder 0.05). Hätte er damals 7% und 4.3% vorgeschlagen, so würden wir wahrscheinlich heute mit diesen Werten rechnen.

Trotzdem sollte man sich die Werte auch einmal auf der "Zunge zergehen lassen" und "geniessen" wir untypisch dies für unseren Alltag ist. Dazu ein Beispiel. Ab wann würdest Du behaupten, dass eine meiner Behauptungen (z.B. Ich mag Pilze) nicht stimmt.

  • wenn Du weißt, dass meine Behauptung zu 99% wahr ist?
  • wenn Du weißt, dass meine Behauptung zu 70% wahr ist?
  • wenn Du weißt, dass meine Behauptung zu 50% wahr ist?
  • wenn Du weißt, dass meine Behauptung zu 20% wahr ist?
  • wenn Du weißt, dass meine Behauptung zu 5% wahr ist?

Die meisten Studenten in meinen Veranstaltungen glauben mir nicht mehr wenn meine Behauptungen nur noch zu 70 bzw. 50% wahr sind (d.h. sie lehnen die Nullhypothese "Ich mag Pilze" ab). In der Statistik sagen wir erst ab 5%, dass die Behauptung der Nullhypothese falsch ist. Was für ein Unterschied!!! In anderen Worten: in der Statistik sind wir sehr konservativ (hier im wahrsten Sinne des Wortes: wir sind beibehaltend) beim Ablehnen der Nullhypothese und lehnen sie erst ab, wenn es sehr sehr deutlich ist, dass hier ein Fehler vorliegt. Wieso machen wir das so? Das liegt, daran dass wir uns in der Wissenschaft einem Erkenntnisgewinn sehr sicher sein wollen, bevor wir verkünden, dass wir etwas Neues herausgefunden haben. Das ist etwa so, als ob wir einen Fehlalarm (zu rufen "Hey ich hab was Tolles gefunden", wenn doch nichts gefunden wurde) vermeiden wollen. Wenn jemand jetzt kritisch darüber nachdenkt wird er/sie sagen, dass das aber einen großen Nachteil hat: Man übersieht viele kleinere Erkenntniss mit dieser sehr konservativen Methode und schränkt daher den Erkenntnisgewinn sehr ein. Dies ist richtig und einer der großen Kritikpunkte an der Inferenzstatistik. Dies ist aber ein Kapitel für ein andermal.

Jetzt aber noch zu der Bestimmung der Signifikanz. Wir sprechen von einem signifikanten Ergebnis wenn die Wahrscheinlichkeit, dass das Ergebnis von der Nullhypothesenverteilung kommen gering ist. Gering bedeutet in diesem Fall, wenn diese Wahrscheinlicheit kleiner oder gleich 5% oder 1% ist. In manchen Fällen benutzen Wissenschaftler sogar 0.1% als Signifikanzniveau. Wie dem auch sei, man geht immer gleich vor. Man vergleicht die Wahrscheinlichkeit, dass das Ergebnis von einer Nullhypothesenverteilung kommt (auch der p-Wert genannt) mit dem Signifikanzniveau. Die Entscheidungsregel ist dabei folgende:

  • p>Signifikanzniveau α (typischerweise 0.05): Die Daten geben nicht genug Evidenz um die Nullhypothese zu verwerfen. D.h. die Nullhypothese kann nicht verworfen werden. (Kein Erkenntnisgewinn)
  • p ≤ Signifikanzniveau α: Die Nullhypothese wird verworfen und die Alternativhypothese wird angenommen. (yay - Erkenntnissgewinn)

Noch ein Hinweis zur Hypothesenformulierung: Verwendet nur ungerichtet formulierte Hypothesen. Gerichtete Hypothesen müssen sehr gut begründet werden (das Argument "Ich denke, dass das Ergebnis größer/kleiner rauskommt" zählt hier nicht als Begründung).

Interpretation: Nur signifikante Ergebnisse kann man interpretieren. Einen nicht signifikaten Effekt kann man nicht interpretieren. Hier erwähnt man nur das statistische Ergebnis ohne iregendwelche Schlussfolgerung daraus zu ziehen.

Moderation und Mediation

Moderation und Mediation sind zwei Verfahren, um zu untersuchen, ob eine dritte Variable einen Einfluß nimmt auf den Zusammenhang zwischen zwei Variablen.

Bei der Moderation möchte man einfach nur wissen, ob eine dritte Variable den Zusammenhang zwischen zwei Variablen beeinflusst. Dies kann man einfach von dem Interaktionsterm zwischen den beiden UV innerhalb eines Regressionsmodells ablesen. Beispiel wird sind an an den Zusammenhang zwischen den Variablen X (UV) und Y (AV) interessiert und möchten wissen, ob Variable M (UV) als Moderator diesen Zusammenhang beeinflusst. Wir berechnen dazu ein ganz normle Regression mit X und M als UVs und Y als AV. Diese Analyse gibt uns drei Dinge zurück:

  1. den Haupteffekt von X
  2. den Haupteffect von M
  3. die Interaktion von X und M

Ist die Interaktion von X und M signfiiaknt, dann hängt die Stärke des Zusammenhangs von X und Y von der Ausprägung von M ab. In anderen Worten, der Wert von von M beeinflußt den Zusammenhang von X und Y. Die Moderator M beeinflußt den Zusammenhang von X und Y.

Bei der Mediation möchte man wissen, ob der Effekt zwischen von X (UV) direkt auf Y (AV) stattfindet oder indirekt über eine dritte Variable M vermittelt wird, also X(UV) wirkt auf M(UV), die wiederum auf Y (AV) wirkt. Oft kommt es vor, dass sowohl eine direkte als auch indirekte Wirkung von X auf Y gibt. Hier findet ihr mehr zu wie man die Mediation rechnet.

https://pmc.ncbi.nlm.nih.gov/articles/PMC2819368/

Zhao et al. (2010) hat jedoch noch einen anderen Analysevorschlag gemacht und kritisiert den obigen.

Bootstrapping Übersicht

Was ist bootstrapping?

Stell dir vor, du hast für deine Forschungsarbeit ein Sample erhoben – vielleicht 30 oder 50 Teilnehmende, die Fragen zu einem psychologischen Konstrukt, einem Produkt oder einem Verhalten beantwortet haben. Jetzt möchtest du analysieren, wie zuverlässig deine Ergebnisse sind: Ist der Mittelwert aussagekräftig? Wie sicher ist ein Unterschied zwischen zwei Gruppen? Wie stark kannst du einem Regressionskoeffizienten vertrauen? Gerade bei kleineren Stichproben stößt man schnell an die Grenzen klassischer Statistik – viele Verfahren setzen zum Beispiel voraus, dass die Daten normalverteilt sind oder dass deine Stichprobe groß genug ist.

Bootstrapping ist ein Verfahren, das dir helfen kann, die Unsicherheit deiner Schätzungen direkt aus deinen eigenen Daten heraus zu bestimmen – ohne starke theoretische Annahmen.

Die Idee ist simpel: Du tust so, als wäre deine Stichprobe die beste Näherung an die Grundgesamtheit, die du gerade hast – und ziehst daraus immer wieder neue Zufallsstichproben mit Zurücklegen, um zu sehen, wie sehr dein Ergebnis schwanken könnte, wenn du dieselbe Studie noch einmal machen würdest.

Wie gehst Du im Prinzipt vor?

  • Angenommen, du hast eine Stichprobe von 50 Personen erhoben. Beim Bootstrapping ziehst du nun zufällig 50 Werte aus dieser Stichprobe, wobei jede gezogene Person wieder zurückgelegt wird, bevor der nächste Wert gezogen wird. Das bedeutet: Eine Person kann mehrfach vorkommen, eine andere gar nicht.
  • Danach berechnest du den Kennwert, z. B. den Mittelwert, eine Korrelation oder einen Regressionskoeffizienten.
  • Das macht du viele Male (z.B. 4000 mal).

So erhältst du am Ende 4000 Schätzwerte deines Kennwerts. Diese Werte bilden eine empirische Verteilung, aus der du direkt ablesen kannst:

  • wie stark dein Kennwert schwankt (→ Standardfehler),
  • wie genau du ihn schätzen kannst (→ Konfidenzintervall),
  • und wie robust dein Ergebnis insgesamt ist.

Der große Vorteil: Du brauchst keine Annahmen über die zugrundeliegende Verteilung zu treffen. Statt theoretische Modelle zu verwenden, nutzt Bootstrapping die Information, die tatsächlich in deinen Daten steckt.

Oft wird Bootstrapping erst dann eingesetzt, wenn die Voraussetzungen klassischer Verfahren (z. B. Normalverteilung, Homoskedastizität) verletzt sind. Aber man kann Bootstrapping auch von Anfang an verwenden – nicht als Notlösung, sondern als moderne, datengetriebene Analysemethode -von Anfang an. Denn Bootstrapping ist:

  • flexibel (funktioniert mit vielen verschiedenen Kennwerten),
  • verteilungsfrei (keine Annahmen über die Form der Daten nötig),
  • und oft robuster gegenüber Ausreißern oder kleinen Stichproben.

Gerade in Forschungsarbeiten mit begrenzter Fallzahl oder unklarer Verteilung der Daten kann Bootstrapping helfen, realistischere und vertrauenswürdigere Aussagen über die Unsicherheit deiner Ergebnisse zu treffen.

Bootstrapping ist in R bereits für viele statistische Designs vorimplementiert, sodass du die Schritte wie Ziehen, Zurücklegen, Speichern und Auswertung der Kennwertverteilung nicht selbst manuell programmieren musst. Stattdessen kannst du auf bewährte Funktionen und Pakete zurückgreifen, die diese Prozesse automatisch und effizient umsetzen. Einen Überblick über typische Studiendesigns und die dazu passenden Bootstrapping-Verfahren findest du in der folgenden Tabelle.

Designart / Verfahren UV-Typ(en) Within / Between #UVs Typische Methode in R Bootstrapping-Unterstützung Paket(e)
t-Test (einfach) 1 kategorial (2 Gruppen) between 1 t.test() oder mean() Differenz Ja (manuell oder boot) boot, infer, tidyboot
t-Test (gepaart) 1 kategorial (2 Bedingungen) within 1 Differenzmittelwert (paired) Ja (Differenzwerte resamplen) boot, rsample
ANOVA (einfach) 1 kategorial (3+ Gruppen) between 1 aov(), lm() Ja (Resampling pro Gruppe / whole rows) boot, afex, permute, car
ANOVA (mehrfaktoriell) 2+ kategoriale within/between/mixed 2+ aov(), Anova() aus car Ja (komplexer, subject-/block-wise) afex::aov_ez, boot, pbkrtest
Mixed ANOVA (within + between) gemischt within + between ≥2 aov_ez() aus afex, lme4::lmer() Ja (unit-wise resampling empfohlen) afex, lme4, boot, rsample
Regression (einfach) 1 metrisch 1 lm() Ja (Standardresampling) boot, rsample, car
Multiple Regression ≥1 metrisch ≥1 lm() Ja (gut geeignet) boot, rsample, broom, caret
ANCOVA 1 kategorial + 1 metrisch between 2 lm() mit Interaktion Ja (standardisiert möglich) boot, car, rsample
MANOVA ≥1 kategorial between ≥1 manova() Eingeschränkt (manuell resamplen) boot, eigene Wrapper
Mixed Effects Models (LMM, GLMM) gemischt (metrisch & kat.) within + between ≥1 lmer(), glmer() Ja (parametrisch & resampling möglich) lme4, bootMer()
Logistische Regression 1+ UV, Zielvariable binär ≥1 glm(family = binomial) Ja (gut etabliert) boot, rsample
Multivariate logistische Regression (MLR) gemischt ≥2 multinom() aus nnet Teilweise (manuell / custom Bootstrap) boot, nnet, mlogit
MANCOVA ≥1 kategorial + ≥1 metrisch between ≥2 manova() mit Kovariaten Eingeschränkt / nur manuell boot, Eigenlösung
Robuste Tests / Permutationsverfahren beliebig beliebig beliebig coin::oneway_test, permuco::aovperm Ja (Permutation ≠ Bootstrap, aber verwandt) coin, permuco, lmPerm
Pfadmodell / SEM gemischt komplex lavaan::sem() Ja (lavaan hat eingebaute Bootstrap-Option) lavaan

Analysesoftware

Ihr könnt JASP (https://jasp-stats.org/) oder R mit R Studio (https://posit.co/download/rstudio-desktop/) zur Analyse Eurer Daten verwenden.

Beide Programme sind kostenlos gut und beruhen auf R.

JASP ist wie SPSS organisiert. Ihr habt Menüs die ihr klicken könnt.

Bei R Studio müsst ihr die statistischen Befehle eintippen, was erste einmal nach Programmierung klingt und deswegen erst einmal von Studierenden abegelehnt wird.

ABER: ihr könnt ChatGPT oder andere LMM verwenden, um Euch den Analysecode für R ausgeben zu lassen. Das geht nicht mit JASP. Wichtig jedoch: Das enthebt Euch nicht Eurer Verantwortung zu prüfen, ob das LMM statistisch alles richtig gemacht hat (ja LMMs schlagen auch mal falsche Analysen vor).

Vorgehen bei Annahmeverletzungen

Nur wenn die Annahmen eines statistischen Tests erfühllt sind können wir den Ergebnissen, die der Test zurückgibt, vertrauen. Wenn die Annahmen verletzt sind, muss man daher etwas unternehmen um die Annahmeverletzung abzumindern.

Eine generelle Methode, ist Bootstrapping als ein annahmefreies Alternativverfahren zu den statistischen Tests einzusetzen.

Folgende Tabelle gibt eine Übersicht über mögliche Methoden:

Methode Annahmeverletzung
Transformation Normalverteilung, Varianzgleichheit, Nicht-linearität
Daten trimmen Varianzgleichheit, Extreme Datenpunkte
Verwendung non-parametrische Verfahren Normalverteilung

Tranformation

Bei der Transformation wird eine Funktion auf alle Werte einer Variable angewendet und der Funktionswert statt des Originalwertes zur statischen Auswertung verwendet.
Beispiel: Transformation x=1/x wird angewendet auf die x-Werte x={1,2,3,4}
→ Man rechnet mit den transfomierten x-Werten, {1,0.5,0.33,0.25}, weiter.
Transformationen können auf die ordinale und metrische UV und AV angewendet werden (einzeln oder zusammen):

  • Die Transformation der UV beeinflusst nicht-linearität.
  • Transformation der AV beeinflusst oft Normalverteilung und Varianzgleichheit.

Vorsicht bei der Interpretation der Parameterschätzungen (z.B. Steigungen etc), da sich die Einheiten geändert haben (ähnlich, wenn man Meilen anstatt von KM benutzt). Eine Rücktransformation ist notwendig, um die Daten in der untransformierten Originaleinheit auszudrücken und zu diskutieren. Die p-Werte können jedoch problemlos interpretiert werden.

Wichtig: Verschiedene Transformationen können ausprobiert werden, um die effektivste Methode zur Minderung der Annahmeverletzung zu bestimmen. Es ist unethisch und unwissenschaftlich die Transformationen nach der Erwünschtheit des Ergebnisses auszuwählen!!!

Eine Übersicht über häufig verwendete Transformationen (X und Y geben an ob die UV oder die AV transformiert werden soll):

Transformation Problembehebung
log10(X), sqrt(X) Nicht-linearität
exp(X), X^2 Nicht-linearität
1/X, exp(-X) Nicht-linearität
sqrt(Y) Varianzungleichheit, keine Normalverteilung
log10(Y) Varianzungleichheit, keine Normalverteilung
1/Y Varianzungleichheit, keine Normalverteilung

Daten trimmen

Hilft vor allem wenn die Enden einer Verteilung die Ursache für die Nicht-Erfüllung der Annahmen sind. Was man macht ist, dass man einen Teil der obersten und untersten Datenwerte eines Datensatzes löscht (zweiseitiges bzw. symmetrisches Trimmen).
Eine Empfehlung ist die obersten und untersten 20% der Verteilung zu entfernen (Keselmann et al. 2002).

Verwendung von nicht-parametrischen Verfahren

Lineare Modelle zu denen die ANOVA, Regression, Korrelation und t-test zählen versuchen die Populationsparamter aus der Stichprobe zu schätzen, was nur klappt, wenn bestimmte Annahmen (nämlich die Annahmen des jeweiligen Tests) erfüllt sind. Sie werden daher auch parametrische Tests genannt (weil sie die Populationsparamter schätzen). Sind die Annahmen verletzt, kann man auch auf Verfahren zurückgreifen, die nicht versuchen die Populationsparamter zu schätzen (sogennante nicht-parametrische Verfahren). Leider gibt es nicht ein nicht parametrisches Verfahren für alle parametrischen Verfahren. Hier ein Überblick über die wichtigsten parametrischen Verfahren für die ein nicht parametrisches Verfahren zur Verfügung steht.
Diese Verfahren sind oft optimal bei Verstößen der Normalverteilungsannahme. Wichtig ist, dass aber auch die nicht-parametrischen Verfahren einige Voraussetzungen machen (z.B. die meisten erfordern unabhängige Daten oder homogene Varianzen). Daher muss auch bei diesen Verfahren gerpüft werden, ob alle anderen Voraussetzungen erfüllt sind.

parametrisches Verfahren nicht parametrisches Verfahren
Pearson Korrelation Spearman Korrelation
unabhängiger t-test Mann-Whithney U-Test
abhängiger t-test Wilcoxon Test
1-Weg between-subjects ANOVA Kurskal Wallis Test
1-Weg within-subject ANOVA Friedmann Test
Einfache Regression Bootstrap regression

R Informationen

Video Tutorials

Einführungsvideo zum Aufbau der R Software: https://youtu.be/wgcQtyc8wZM

  1. Wie liest man Daten ein?
    [Video] - [Beispieldaten] - [R code]
  2. Regression:
    Multiple Regression [Video] - [R Code] - [Daten]
    Linear Regression [Video] - [Beispieldaten] - [R code]

R Studio Arbeitsplatz aufräumen

Am Beginn jeder Analyse empfiehlt es sich den Arbeitsplatz aufzuräumen, d.h. alle Graphen und Variablen zu löschen. Damit wird die Übertragung von Fehlern aus einer vorigen Session minimiert. Dies kann mit diesen Befehlen durchgeführt werden.

# aufräumen
rm(list = ls())
graphics.off()

# Pfad setzen (unter Linux bzw Apple einfach nur / anstatt \\ verwenden' )
setwd('\\Pfad\\hier\\setzen')

# libraries einlesen
library(libraryNameEingeben)

Standardfehler berechnen

Funktion muss zuerst in den Code reinkopiert werden und kann erst danach verwendet werden. Beispielverwendung der Funktion:

se<-function(x,...){
return(sd(x)/sqrt(length(x)))
}
a<-c(12,35,34,133,122,137,76,24)
se(a)

se<-function(x,...){
  return(sd(x)/sqrt(length(x)))
}

csv Dateien über eine Schleife aus Unterverzeichnissen einlesen.

Die csv Dateien sind in Unterverzeichnissen mit folgender Struktur abgelegt:

Unterverzeichnis1_1/Unterverzeichnis2_1/ [csv Dateien]
Unterverzeichnis1_1/Unterverzeichnis2_2/ [csv Dateien]
Unterverzeichnis1_2/Unterverzeichnis2_1/ [csv Dateien]
Unterverzeichnis1_2/Unterverzeichnis2_2/ [csv Dateien]
...

# bitte hier das Stammverzeichnis angeben in dem die Unterverzeichnisse liegen
base_dir='c:\\Verzeichnis\\Verzeichnis2\\Verzeichnis3'

# bitte hier die Unterverzeichnisnamen angeben, also z.B. Unterverzeichnis_1_1 mit dem wirklichen Verzeichnisnamen ersetzen
dir_level1=c("Unterverzeichnis_1_1","Unterverzeichnis1_2")
dir_level2=c("Unterverzeichnis_2_1","Unterverzeichnis2_2")

# hier werden die csv files aus den Unterverzeichnissen eingelesen
dat<-data.frame()
for (g in c(1,length(dir_level1))){
    p1=dir_level1[g]
    for (a in c(1,length(dir_level2))){
      p2=dir_level2[a]  
      setwd( paste(base_dir,p1,p2,sep = "/"))
      files <- list.files(path=".", pattern="*.csv$", full.names=TRUE, recursive=FALSE)
      for(i in c(1:length(files))){

        # diese Anzeige kann auch auskommentiert werden
        cat(files[i],"\n")
        tmp<-read.table(files[i],na.string=c("","NA"),sep=",", header=T)

        # hier werden die Unterverzeichnisnamen im Datenframe mit in den Variablen dir_level1 und dir_level2 abgespeichert
        # diese Variablennamen können beliebig in sinnvollere Namen umbenannt werden
        tmp$dir_level1<-p1
        tmp$dir_level2<-p2
        tmp$file<-files[i]
        dat<-rbind(dat,tmp)
      }
    }
}

# Hier wird der Datensatz als alldata.dat ins Stammverzeichnis weggeschrieben
write.table(dat,"alldata.dat",quote=F,sep="\t",row.names=F)