Fortgeschrittene quantitative Methoden
Wintersemester 2024-2025
Pflichtlektüre:
Watteler, O. (2022). Daten in den Sozialwissenschaften. In Forschungsstrategien in den Sozialwissenschaften (pp. 225-256). Springer VS, Wiesbaden.
Blossfeld, H. P. (2010). Survival- und Ereignisanalyse. In Handbuch der sozialwissenschaftlichen Datenanalyse (pp. 995-1016). VS Verlag für Sozialwissenschaften.
| Reaktive Messung | Nicht-reaktive Messung |
|---|---|
| Umfragedaten | Amtliche Statistik / Registerdaten |
| Laborexperimente | Verhaltensspuren / digital trace data: z.B. Social Media, Smartphone, Wearables |
| Journalistische Datensätze: z. B. Reichenlisten, WikiLeaks |
Reaktive Daten: Einfluss des Messvorgangs auf die Reaktionen (=Daten) von Untersuchungspersonen, für wissenschaftliche Zwecke erhoben
Nicht-reaktive Daten: nicht mit dem Ziel der Verwendung für sozialwissenschaftliche Forschung generiert, sondern als Folge alltäglichen Verhaltens von Menschen
Generalisierbarkeit: Stichprobenprobleme / selektive Auswahl: Social Media Nutzer Over/Undercoverage (doppelte Accounts)
Archivierung/Verfügbarkeit des Materials: (plötzliche) Einschränkungen bei Facebook, Twitter API etc.
Zugang zum Material: Private Organisationen, Akteneinsicht, Zugang zu historischen Archiven
Datenschutz: Anonymisierungsproblematik, Einverständnis
Validität: Objektive Realität = subjektive Realität? („produzierte“ Daten; Facebook-“Freunde“) Artefakte (Ironie; Nutzer≠Menschen)
Keine einheitliche Definition: unkontrollierbare Datenherkunft
Biographie der Partnerschaft
Arbeitslosigkeit
Sterblichkeit einer Geburtskohorte
Überleben von neu gegründeten Unternehmen
Fragestellungen:
Welche Faktoren beeinflussen die Dauer der Arbeitslosigkeit bis zum Beginn einer neuen Erwerbstätigkeit?
Welche Faktoren beeinflussen die Dauer bis zu einem Umzug an einen anderen Ort?
Ereignis:
Episode:
Aus: Windzio, M. (2013). Regressionsmodelle für Zustände und Ereignisse: Eine Einführung. Springer-Verlag, S. 88.
Prozesszeit/Verweildauer:
Risikomenge:
Analyse erfolgt idR in 2 Schritten:
Wir nutzen das R-Paket {survival} für unsere Ereignisdatenanalyse.
Wir möchten das Überleben von PatientInnen mit fortgeschrittenem Lungenkrebs aus der “North Central Cancer Treatment Group” untersuchen. Schauen wir uns an, welche Variablen im Datensatz vorhanden sind:
Wir brauchen für unsere Analyse 3 Variablen:
Die Surv() Funktion aus dem the {survival} Paket erstellt ein “survival object”. Schauen wir und die ersten 10 Beobachtungen an:
Untersuchen wir die Überlebenswahrscheinlichkeit nach X Tagen:
Kaplan-Meier-Formel zur Schätzung der Überlebensfunktion:
\[ \widehat{S}(t) = \prod_{i: t_i \leq t} \left(1 - \frac{d_i}{n_i}\right) \]
\(\widehat{S}(t)\): Geschätzte Wahrscheinlichkeit, dass Individuum über den Zeitpunkt \(t\) hinaus überlebt.
\(\prod\): Produktsymbol. Überlebenswahrscheinlichkeit \(\widehat{S}(t)\)wird durch Multiplikation berechnet wird.
\(t_i\): Zeitpunkt, an dem ein Ereignis beobachtet wird
\(d_i\): Anzahl der Ereignisse, die zum Zeitpunkt \(t_i\) eintreten.
\(n_i\): Anzahl der Personen, die unmittelbar vor dem Zeitpunkt \(t_i\) noch „at risk“ sind
\(\left(1 - \frac{d_i}{n_i}\right)\): Anteil der Überlebenden zum Zeitpunkt \(t_i\).
Kaplan-Meier-Methode gängigste Methode zur Visualisierung von Überlebenswahrscheinlichkeiten
Probiert selbst:
Unterscheiden sich PatientInnen mit niedrigem oder hohem Karnofsky-Index?

survfit2(Surv(time, dead) ~ karnofsky_hoch, data = df) %>%
ggsurvfit() +
labs(
x = "Tage",
y = "Überlebenswahrscheinlichkeit",
color = "Karnofsky-Index"
)+
add_confidence_interval() +
add_risktable() +
scale_color_manual(values = c('darkblue', 'pink'), labels = c("<=80", ">80") ) +
scale_fill_manual(values = c('darkblue', 'pink'), labels = c("<=80", ">80") ) +
theme_minimal() + guides(fill = "none")
\(h(t) = h_0(t)*exp(X\beta)\)
\(h(t) = h_0(t)*exp(X\beta)\)
Call:
coxph(formula = Surv(time, dead) ~ karnofsky_hoch, data = df)
n= 227, number of events= 164
(1 observation deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
karnofsky_hoch -0.4436 0.6417 0.1596 -2.78 0.00544 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
exp(coef) exp(-coef) lower .95 upper .95
karnofsky_hoch 0.6417 1.558 0.4694 0.8774
Concordance= 0.569 (se = 0.022 )
Likelihood ratio test= 7.88 on 1 df, p=0.005
Wald test = 7.73 on 1 df, p=0.005
Score (logrank) test = 7.85 on 1 df, p=0.005
Call:
coxph(formula = Surv(time, dead) ~ karnofsky_hoch, data = df)
n= 227, number of events= 164
(1 observation deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
karnofsky_hoch -0.4436 0.6417 0.1596 -2.78 0.00544 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
exp(coef) exp(-coef) lower .95 upper .95
karnofsky_hoch 0.6417 1.558 0.4694 0.8774
Concordance= 0.569 (se = 0.022 )
Likelihood ratio test= 7.88 on 1 df, p=0.005
Wald test = 7.73 on 1 df, p=0.005
Score (logrank) test = 7.85 on 1 df, p=0.005
Das Risiko zu sterben (in jedem kurzen Zeitraum) ist höher bei Personen mit einem Karnofsky-Index kleiner-gleich 80 im Vergleich zu Personen mit einem Karnofsky-Index über 80.
Hazard-Ratio: Personen mit einem Karnofsky-Index über 80 haben ein 36% geringeres Risiko zu sterben (in jedem kurzen Zeitraum) als Personen mit einem Karnofsky-Index unter/gleich 80. Oder: Personen mit einem Karnofsky-Index über 80 haben ein 0.64 mal so hohes Risiko zu sterben (in jedem kurzen Zeitraum) wie Personen mit einem Karnofsky-Index unter/gleich 80.
Nun testen wir die Proportionalitätsannahme.
Nullhypothese: Hazard-Raten proportional, also kein Zusammenhang mit der Zeit
model1 = coxph(Surv(time, dead) ~ karnofsky_hoch, data = df)
# Überprüfung der Proportionalitätsannahme
test_proportionality <- cox.zph(model1)
# Ergebnisse anzeigen
print(test_proportionality) chisq df p
karnofsky_hoch 1.59 1 0.21
GLOBAL 1.59 1 0.21
Dieser Foliensatz profitierte in großen Teilen von ehemaligen Veranstaltungen von Isabel Habicht sowie von Hans-Jürgen Andreß
Weitere Literatur: