Abschnitte:
Vorbereitung LST-Grundmodell Wachstumskurven Vorhersagen von Veränderung Autoregressive Modelle Vorbereitung Kontinuierliche vs. diskrete Zeit Kontinuierliche Zeit Zeit wird in “natürlichen” Einheiten (Millisekunden, Stunden, Tage, …) abgebildet Veränderung ist eine (stetige) Funktion der Zeit Eine funktionale Form wird vorgegeben (linear, quadratisch, logarithmisch) Aus der Funktion wird auf alle zeitlichen Abstände generalisiert Abstände zwischen Messungen können intra- und interindividuell variieren Diskrete Zeit Zeit wird in künstlichen Einheiten (meist Messzeitpunkten) angegeben Veränderung findet in Intervallen statt Die Form der Veränderung ist unbekannt Abstände zwischen Messungen müssen interindividuell identisch sein Datenbeispiel load(url('https://pandar.
Vorbereitung Datenbeispiel International College Survey (Diener, Kim-Pietro, Scollon, et al., 2001) Wohlbefinden in unterschiedlichen Ländern load(url('https://pandar.netlify.app/post/kultur.rda')) head(kultur)[, 1:8] # alle Zeilen und Spalten 1-8 für die ersten 6 Personen ## nation female auf_e kla_e lezu pa na bal ## 1 Turkey male 3.0 3.0 4.0 4.333333 4.250 0.08333333 ## 2 Turkey female 2.5 2.5 5.6 5.333333 7.375 -2.04166667 ## 3 Turkey female 3.0 3.0 4.0 5.666667 2.000 3.66666667 ## 4 Turkey female 3.
Vorbereitung Zunächst müssen wir das haven-Paket wieder aktivieren und einen Teil des Code aus dem letzten Tutorial wieder durchführen.
library(haven) setwd("~/Pfad/zu/Ordner") data <- read_sav(file = "fb22_mod.sav") data$geschl_faktor <- factor(data$geschl, # Ausgangsvariable levels = c(1, 2, 3), # Faktorstufen labels = c("weiblich", "männlich", "anderes")) # Label für Faktorstufen data$nr_ges <- rowMeans(data[,c("nr1", "nr2", "nr3", "nr4", "nr5", "nr6")]) data$prok <- rowMeans(data[,c("prok1", "prok4", "prok6", "prok9", "prok10")]) data$wohnen_faktor <- factor(data$wohnen, levels = c(1, 2, 3, 4), labels = c("WG", "bei Eltern", "alleine", "sonstiges")) lineare Modellierung Die Grundlage für die spätere hierarchische Ansetzung ist das lineares Modell ohne Hierarchie, dem wir uns demnach im Folgenden widmen werden.
In den bisherigen Sitzungen zur multiplen Regression haben wir als Prädiktoren hauptsächlich intervallskalierte Variablen betrachtet. In einigen Beispielen ist aber z.B. das Geschlecht aufgetaucht. In diesem Beitrag gucken wir uns etwas genauer an, was passiert, wenn Prädiktoren nominalskaliert sind.
Hier wird es, wie immer auf Pandar, vor allem um die Umsetzung in R und die Interpretation von Ergebnissen gehen. Für eine etwas genauere Einleitung in Regression mit nominalskalierten (oder auch “kategorialen”) Prädiktoren, empfiehlt sich ein Blick in Kapitel 19.
Pakete laden # Benötigte Pakete --> Installieren, falls nicht schon vorhanden library(lme4) # Für die Mehrebenen-Regression library(dplyr) # Komfort-Funktionen für die Datentransformationen library(ICC) # Für die einfache Berechung von ICCs library(ggplot2) # Für Grafiken library(interactions) # Zur Veranschaulichung von Moderator-Effekten Einleitung und Datenbeispiel Daten in der klinisch-psychologischen Forschung haben häufig eine sogenannte hierarchische Struktur oder Mehrebenen-Struktur, in der Beobachtungen auf einer ersten Ebene in Beobachtungseinheiten auf einer übergeordneten Ebene gruppiert sind.
Kernfragen dieser Lehreinheit Wie kann ein Modell für den Zusammenhang von zwei Variablen erstellt werden? Wie können Streudiagramme in R erstellt werden? Wie kann die Regressionsgerade in den Plot eingefügt werden? Wie können standardisierte Regressionsgewichte geschätzt werden? Was ist der Unterschied zu nicht-standardisierten Regressionsgewichten? Wie wird der Determinationskoeffizient \(R^2\) berechnet und was sagt er aus? Wie werden der Determinationskoeffizient \(R^2\) und der Regressionsparameter b inferenzstatistisch überprüft? Vorbereitende Schritte Zu Beginn laden wir wie gewohnt den Datensatz und verteilen die relevanten Labels.
Einleitung In dieser Sitzung wollen wir dichotome abhängige Variablen mit der logistischen Regression (vgl. bspw. Eid, Gollwitzer & Schmitt, 2017, Kapitel 22 und Pituch und Stevens, 2016, Kapitel 11) analysieren. Diese Daten sind dahingehend speziell, dass die abhängige Variable nur zwei Ausprägungen hat, welche in der Regel mit \(0\) und \(1\) kodiert werden. Dies führt zu verschiedenen Problemen in der linearen Regression, die wir gleich betrachten wollen. Wir wollen uns ein reales Datenbeispiel ansehen, in welchem die Wahrscheinlichkeit der Drogenabhängigkeit durch einen Depressionsscore und das Geschlecht vorhergesagt werden soll.
Einleitung In dieser Sitzung schauen wir uns die Kovarianzanalyse, auch ANalysis Of COVAriance (ANCOVA), als Erweiterung der ANOVA an und nutzen diese als Überleitung zur moderierten Regressionsanalyse. Diese Sitzung basiert auf Literatur aus Eid et al. (2017) Kapitel 19 (insbesondere 19.9-19.12).
Daten laden Wir verwenden wieder den Datensatz von Schaeuffele et al. (2020), die den Effekt des Unified Protocol (UP) als Internetintervention für bestimmte psychische Störungen durchgeführt haben. Wir laden den Datensatz ein und kürzen diesen (für mehr Informationen zum Datensatz sowie zum Einladen und Kürzen erhalten Sie in der vorherigen Sitzung zu ANOVA vs.
Block 1: Wiederholung und Multiple Regression Wie verwenden den Datensatz Behandlungsform.rda. Sie können den Datensatz “Behandlungsform.rda” hier herunterladen. Liegt der Datensatz bspw. auf dem Desktop, so müssen wir den Dateipfad dorthin legen und können dann den Datensatz laden (wir gehen hier davon aus, dass Ihr PC “Musterfrau” heißt)
load("C:/Users/Musterfrau/Desktop/Behandlungsform.rda") Genauso sind Sie in der Lage, den Datensatz direkt aus dem Internet zu laden. Hierzu brauchen Sie nur die URL und müssen R sagen, dass es sich bei dieser um eine URL handelt, indem Sie die Funktion url auf den Link anwenden.
Einleitung In dieser Sitzung schauen wir uns die Unterschiede und Gemeinsamkeiten von ANOVA und Regression an. Vielleicht ist es Ihnen auch schon einmal untergekommen, dass Ihnen gesagt wurde: ANOVA und Regression ist doch alles dasselbe — alles nur das allgemeine lineare Modell (ALM). Diese Aussage ist im Grunde auch richtig und wir schauen uns diesen Sachverhalt im Folgenden genauer an.
Diese Sitzung basiert auf Literatur aus Eid et al. (2017) Kapitel 11 und 13 sowie Kapitel 16 bis 19.
Einleitung In der Einführungssitzung hatten wir einfache Operationen in R, das Einlesen von Datensätzen, einfache Deskriptivstatistiken, die lineare Regression, den \(t\)-Test und einige Grundlagen der Inferenzstatistik wiederholt. Nun wollen wir mit etwas komplexeren, aber bereits bekannten, Methoden weitermachen und eine multiple Regression in R durchführen. Hierbei werden wir uns auch nochmal mit Ausreißern beschäftigen.
Bevor wir dazu die Daten einlesen, sollten wir als erstes die nötigen R-Pakete laden. R funktioniert wie eine Bibliothek, in der verschiedene Bücher (also Pakete) erst vorhanden (also installiert) sein müssen, bevor man sie dann für eine Zeit leihen (also aktivieren) kann.
Modelloptimierung Bei der Regressionsanalyse hat die Modelloptimierung zum Ziel, ein Regresionsmodell zu verbessern - das heißt, möglichst viel Varianz der abhängigen Variable zu erklären. Dadurch wird die “Vorhersage” der abhängigen Variable genauer (die Streuung der Werte um die Regressionsgerade/-hyperebene ist kleiner).
Modelloptimierung bedeutet, ein Modell zu verbessern, durch:
Aufnehmen zusätzlicher, bedeutsamer Prädiktoren Ausschließen von Prädiktoren, die nicht zur Varianzaufklärung beitragen Ziel ist ein sparsames Modell, in dem
jeder enthaltene Prädiktor einen Beitrag zur Varianzaufklärung des Kriteriums leistet und kein wichtiger (= vorhersagestarker) Prädiktor vergessen wurde.
Übersicht und Vorbereitung In den letzten Sitzungen haben wir gesehen, wie wir ein Modell für eine Multiple Regression in R aufstellen und verschiedene Modelle gegeneinander testen können. Besonders bei der Nutzung von Inferenzstatistik wissen wir aber auch, dass genutzte statistische Verfahren häufig Voraussetzungen an die Daten mitbringen. Das Thema der heutigen Sitzung ist daher die Überprüfung von Voraussetzungen im Rahmen der Regressionsdiagnostik. Einige der aufgeführten Punkte könnten noch aus der einfachen linearen Regression bekannt sein, aber wir betrachten sie auch im Übertrag auf den hier vorliegenden multivariaten Fall.
Einleitung In der letzten Sitzung haben wir unter anderem Korrelationen zwischen zwei Variablen behandelt. Zur Wiederholung: Mithilfe einer Korrelation kann die Stärke des Zusammenhangs zwischen zwei Variablen quantifiziert werden. Dabei haben beide Variablen den gleichen Stellenwert, d.h. eigentlich ist es egal, welche Variable die x- und welche Variable die y-Variable ist. Wir haben außerdem Methoden kennengelernt, mit denen der Einfluss einer (oder mehrerer) Drittvariablen kontrolliert werden kann; die Partial- und Semipartialkorrelation.
In einer Multi-Sample-Analysis wird in mehreren Gruppen gleichzeitig ein Strukturgleichungsmodell geschätzt. Wir könnten uns bspw. fragen, ob die gleichen Beziehungen zwischen Zeitdruck, Emotionaler Erschöpfung und psychosomatischen Beschwerden, wie wir sie in der letzten Sitzung zu SEM beobachtet haben, gleichermaßen für Männer und Frauen gelten. Im Datensatz StressAtWork der SEM Sitzung ist die Variable sex enthalten. Hier sind Frauen mit 1 und Männer mit 2 kodiert. Wir können diesen wie gewohnt laden: Sie können den im Folgenden verwendeten Datensatz “StressAtWork.
In dieser Sitzung beschäftigen wir uns mit Pfadanalysen und Strukturgleichungsmodellen (engl. Structural Equation Modeling, SEM). Diese werden beispielsweise in Werner, Schermelleh-Engel, Gerhard und Gäde (2016, Kapitel 17 in Döring & Bortz, 2016) oder Eid, Gollwitzer und Schmitt (2017) in Kapitel 26 ausführlich beschrieben.
Pfadanalysen sind im Grunde genommen mehrere Regressionsanalysen, welche simultan geschätzt werden können. So werden auch mehrere Abhängigkeiten zwischen Variablen berücksichtigt. Strukturgleichungsmodelle kombinieren Pfadanalysen mit Messmodellen und berücksichtigen somit die Reliabilität der Messungen.
Einleitung Im Verlauf dieses Seminars soll neben der Einführung in die Theorie und die Hintergründe multivariater Verfahren auch eine Einführung in deren Umsetzung gegeben werden, sodass Sie in der Lage sind, diese Verfahren in Ihrem zukünftigen akademischen und beruflichen Werdegang zu nutzen. Diese Umsetzung möchten wir Ihnen mit lavaan zeigen - dem meistverbreiteten Paket für multivariate Verfahren wie z.B. konfirmatorische Faktorenanalyse (CFA), Pfadanalyse oder Strukturgleichungsmodellierung (SEM) in R. Allein im März 2021 wurde lavaan über 50 000 Mal heruntergeladen; es wird in allen Bereichen der psychologischen Forschung genutzt und wurde in über 7 500 sozialwissenschaftflichen Veröffentlichungen zitiert.
In diesem Block werden wir verschiedene Arten von Loops (Schleifen) kennenlernen und lernen, vertieft mit Funktionen zu arbeiten. Dieses Wissen wollen wir dann nutzen, um nochmals Power- bzw. Simulationsanalysen durchzuführen, welche wir in der Sitzung zu Simulationsstudien und Poweranalysen bereits kennengelernt haben. Vorab beschäftigen wir uns noch mit einigen Grundlagen zum Thema logische Abfragen.
Logische Abfragen und Bedingungen: if und else Im Prozess der Datenaufbereitung und -auswertung kommt man häufig an den Punkt, an dem ein bestimmter Befehl nur unter bestimmten Bedingungen ausgeführt werden soll, oder in dem abhängig von einer Bedingung unterschiedliche Aktionen ausgeführt werden sollen.
Einleitung und Datensatz In dieser Sitzung werden wir uns mit weiteren nichtlinearen Effekte in Regressionsmodellen beschäftigen. Diese Sitzung basiert zum Teil auf der Literatur aus Eid et al. (2017) Kapitel 19 (insbesondere 19.9).
Dazu verwenden wir zunächst den Datensatz aus der Übung des letzten Themenblockes. Der Beispieldatensatz enthält Daten zur Lesekompetenz aus der deutschen Stichprobe der PISA-Erhebung in Deutschland aus dem Jahr 2009. Sie können den im Folgenden verwendeten Datensatz “PISA2009.
Bisher hatten wir mittels Regressionsanalysen lineare Beziehungen modelliert. In der Sitzung zur quadratischen und moderierte Regresssion kamen dann im Grunde quadratische Effekte mit hinzu. Wir können unser Wissen über Regressionen allerdings auch nutzen um nichtlineare Effekte zu modellieren. Wie das geht und was zu beachten ist, schauen wir uns im Folgenden an. Dazu laden wir zunächst altbekannte Pakete:
library(ggplot2) # Grafiken library(car) # Residuenplots library(MASS) # studres Einführung: Exponentielles Wachstum Ein sehr wichtiges Vorhersagemodell zu Zeiten der Corona-Pandemie oder in Anbetracht von starkem weltweitem Bevölkerungswachstum ist das exponentielle Wachstum.
Vorbereitung Laden Sie zunächst den Datensatz fb22 von der pandar-Website. Alternativ können Sie die fertige R-Daten-Datei hier herunterladen. Beachten Sie in jedem Fall, dass die Ergänzungen im Datensatz vorausgesetzt werden. Die Bedeutung der einzelnen Variablen und ihre Antwortkategorien können Sie dem Dokument Variablenübersicht.docx entnehmen.
Prüfen Sie zur Sicherheit, ob alles funktioniert hat:
dim(fb22) ## [1] 159 47 str(fb22) ## 'data.frame': 159 obs. of 47 variables: ## $ prok1 : int 1 4 3 1 2 2 2 3 2 4 .
Einleitung In dieser Sitzung wollen wir dichotome abhängige Variablen mit der logistischen Regression (vgl. bspw. Eid, Gollwitzer & Schmitt, 2017, Kapitel 22 und Pituch und Stevens, 2016, Kapitel 11) analysieren. Diese Daten sind dahingehend speziell, dass die abhängige Variable nur zwei Ausprägungen hat, welche in der Regel mit \(0\) und \(1\) kodiert werden. Dies führt dazu, dass der Wertebereich der abhängigen Variable so gut wie gar nicht durch die Vorhersage innerhalb einer normalen Regressionsanalyse “getroffen” wird, die Residuen nicht länger unabhängig von der Ausprägung der abhängigen Variablen sind und auch die Normalverteilungsannahme der Residuen verletzt ist.
Sitzung 1: Schuldaten Wie verwenden erneut den Datensatz Schulleistungen.rda. Sie können den Datensatz “Schulleistungen.rda” hier herunterladen. Liegt der Datensatz bspw. auf dem Desktop, so müssen wir den Dateipfad dorthin legen und können dann den Datensatz laden (wir gehen hier davon aus, dass Ihr PC “Musterfrau” heißt)
load("C:/Users/Musterfrau/Desktop/Schulleistungen.rda") Genauso sind Sie in der Lage, den Datensatz direkt aus dem Internet zu laden. Hierzu brauchen Sie nur die URL und müssen R sagen, dass es sich bei dieser um eine URL handelt, indem Sie die Funktion url auf den Link anwenden.
Einleitung In dieser Sitzung wollen wir uns die Hauptkomponentenanalyse (im Folgenden PCA, engl. Principal Component Analysis, vgl. Eid, Gollwitzer & Schmitt, 2017, Kapitel 25 und insbesondere Kapitel 25.3, Brandt, 2020, Kapitel 23 und insbesondere 23.3 und Pituch und Stevens, 2016, Kapitel 9.1 bis 9.8) genauer ansehen. Die PCA kann genutzt werden, um sich einen Überblick über die Daten zu verschaffen und kann zur Dimensionsreduktion angewandt werden, also um viele Variablen auf einige wenige Hauptkomponenten herunterzubrechen.
Einleitung In der Einführungssitzung hatten wir etwas über das Einlesen von Datensätzen, einfache Deskriptivstatistiken und den \(t\)-Test gelernt und in diesem Rahmen einige Grundlagen der Statistik wiederholt. Nun wollen wir mit etwas komplexeren, aber bereits bekannten, Methoden weitermachen und eine multiple Regression in R durchführen. Hierbei werden wir auch die zu diesem Verfahren notwendigen Voraussetzungen prüfen sowie das Vorliegen von Ausreißern untersuchen.
Bevor wir dazu die Daten einlesen, sollten wir als erstes die nötigen R-Pakete laden.