| lz | |||
| Predictors | Estimates | CI | p |
| (Intercept) | 5.40 | 3.83 – 6.96 | <0.001 |
| alter | 0.04 | 0.01 – 0.07 | 0.007 |
| Observations | 34 | ||
| R2 / R2 adjusted | 0.207 / 0.182 | ||
Fortgeschrittene quantitative Methoden
Wintersemester 2024-2025
Pflichtlektüre:
Elwert, F. and Winship, C. (2014). ‘Endogenous Selection Bias: The Problem of Conditioning on a Collider Variable’. Annual Review of Sociology 40: 31–53.
Brüderl, J. (2010). Kausalanalyse mit Paneldaten. In Handbuch der sozialwissenschaftlichen Datenanalyse (pp. 963-994). VS Verlag für Sozialwissenschaften.
Querschnittdesign: Daten zu einem Zeitpunkt von verschiedenen Personen
Trenddesign: Daten zu mehreren Zeitpunkten, aber unterschiedliche Personen
Paneldesign: Daten zu mehreren Zeitpunkten von denselben Personen
Welche Fragestellungen bieten sich bei welchem Studiendesign an?
Panel Study of Income Dynamics (PSID)
SOEP
Understanding Society (UKHLS)
Familienpanel (pairfam)
FreDa
Nationales Bildungspanel (NEPS)
Survey of Health, Ageing and Retirement in Europe (SHARE)
Arbeitsmarkt und soziale Sicherung (PASS)
TwinLife
Children of Immigrants (CILS4EU)
GESIS Panel (auch offline)
SoSci Panel
Übersicht: Forschungsdaten in Deutschland
M. Groves, Lars Lyberg, Total Survey Error: Past, Present, and Future, Public Opinion Quarterly, Volume 74, Issue 5, 2010, Pages 849–879, https://doi.org/10.1093/poq/nfq065
Konstanz der Messinstrumente: Semantische Gehalt von Begriffen kann sich über die Jahre ändern (Frageformulierungen)
Ausfallrate / Panelmortalität: Befragte nehmen nicht mehr an der Umfrage teil
Ursachen: Fehlende Motivation, Umzug, Tod/Krankheit
Problem: systematischer Ausfall
Lösungsansatz: Höherer Stichprobenumfang, intensive Panelpflege; Anreize (Incentivierung)
Paneleffekte (reaktive Messungen):
Validität (Gültigkeit): Messen wir eigentlich das richtige?
Reliabilität (Zuverlässigkeit): Wiederholte Messungen müssen zum gleichen Ergebnis führen
Objektivität: Unabhängigkeit der Ergebnisse von der jeweiligen Person, die das Messinstrument anwendet
Externe Validität
Auf Grundgesamtheit übertragbar?
Validität des Messinstruments wird vorausgesetzt
Interne Validität
Eindeutigkeit der Ergebnisinterpretation
„Je besser ein Design dazu geeignet ist, die aufgestellten Hypothesen zu prüfen und Alternativerklärungen auszuschließen, umso höher ist die interne Validität“
Kausalanalytischer Anspruch von Experimenten (können Störfaktoren eliminieren)
\[ \Delta_i = Y(X=1, t_0) - Y(X=0, t_0) \] Vergleich eines faktischen und eines kontrafaktischen Outcomes.
Between-Schätzer:
\[ \Delta_i^B = Y_i(X=1, t_0) - Y_j(X=0, t_0) \]
Zentrale Annahme: \(Person_i\) und \(Person_j\) unterscheiden sich nur in X
⇨ keine unbeobachtete Heterogenität (unbeobachtete personen- oder zeitspezifische Einflussfaktoren)
Within-Schätzer:
\[ \Delta_i^W = Y_i(X=1, t_1) - Y_i(X=0, t_0) \] Zentrale Annahme: \(Person_i\) unterscheidet sich über die Zeit nur in X (keine zeitveränderliche unbeobachtete Heterogenität)
POLS (pooled OLS): Wir behandeln die Daten, als wären es eine Reihe von Querschnittsdaten (Personen- und Zeitdimension wird ignoriert)
Annahme: unabhängige Beobachtungen
\[ y_{it} = \alpha + \beta_{POLS} x_{it} + \upsilon_{it}, \]
i: individual
t: time point
\[ y_{it} = \alpha + \beta_{POLS} x_{it} + \upsilon_{it}, \]
| lz | |||
| Predictors | Estimates | CI | p |
| (Intercept) | 5.40 | 3.83 – 6.96 | <0.001 |
| alter | 0.04 | 0.01 – 0.07 | 0.007 |
| Observations | 34 | ||
| R2 / R2 adjusted | 0.207 / 0.182 | ||

# The palette with black:
cbp2 <- c("#000000",
"#E69F00",
"#56B4E9",
"#009E73",
"#F0E442",
"#0072B2",
"#D55E00",
"#CC79A7")
# Save the residual values
df$predicted <- predict(m_pols)
df$residuals <- residuals(m_pols)
p_pols <- ggplot(df, aes(alter, lz)) +
geom_point( aes(x = alter, y = lz, shape = id_name, colour = id_name, fill = id_name),
size = 2, stroke = 1) +
geom_smooth(method = 'lm', formula = y ~ x, se = FALSE,
color = "cyan") +
geom_segment(aes(xend = alter, yend = predicted),
alpha = .3, color = "deeppink") +
annotate("text", x = 30, y = 9.9,
label = paste0("beta[POLS] ==", round(m_pols$coefficients[2], 3)),
parse = TRUE) +
scale_colour_manual(values = cbp2[-c(1)]) +
scale_fill_manual(values = cbp2[-c(1)]) +
scale_shape_manual(values = c(15:18, 25, 20, 21)) +
ggtitle("POLS") +
theme_classic() +
theme(legend.key = element_blank(),
legend.title = element_blank(),
text = element_text(size = 10),
legend.position = c(1,0),
legend.justification = c("right", "bottom"),
legend.background = element_blank(),
legend.box.background = element_rect(colour = "black"))
p_pols
Interpretation: Je höher das Alter einer Person, desto höher ihre Lebenszufriedenheit.
BE (Between Estimator): vergleicht verschiedene Personen und ignoriert die innerpersonelle Varianz. Modell verwendet nur die personenspezifischen Mittelwerte.
\[ \bar{y_{i}} = \alpha + \beta_{BE} \bar{x_{i}} + \bar{\upsilon_{i}}, \]
| m lz | |||
| Predictors | Estimates | CI | p |
| (Intercept) | 5.49 | 1.79 – 9.19 | 0.013 |
| m alter | 0.04 | -0.03 – 0.10 | 0.208 |
| Observations | 7 | ||
| R2 / R2 adjusted | 0.295 / 0.154 | ||
df$m_lz <- ave(df$lz, df$id, FUN = mean)
df$m_alter <- ave(df$alter, df$id, FUN = mean)
m_be <- lm(m_lz ~ m_alter, data = df %>% filter(count_within_group ==1))
tab_model(m_be)| m lz | |||
| Predictors | Estimates | CI | p |
| (Intercept) | 5.49 | 1.79 – 9.19 | 0.013 |
| m alter | 0.04 | -0.03 – 0.10 | 0.208 |
| Observations | 7 | ||
| R2 / R2 adjusted | 0.295 / 0.154 | ||

df2 <- df
df2$lz <- df2$m_lz
df2$alter <- df2$m_alter
df2 <- df2[which(df2$syear == 2019), ]
# Save the residual values
m_be <- lm(m_lz ~ m_alter, data = df2)
df2$predicted <- predict(m_be)
df2$residuals <- residuals(m_be)
p_be <- ggplot(df, aes(alter, lz)) +
geom_point(aes(x = alter, y = lz, shape = id_name),
size = 2, stroke = 1, colour = alpha("black", .3), fill = alpha("black", .3)) +
geom_point(aes(x = m_alter, y = m_lz, shape = id_name, colour = id_name,
fill = id_name),
size = 2, stroke = 1) +
geom_smooth(data = df2,
method = 'lm', formula = y ~ x, se = FALSE,
color = "cyan") +
geom_segment(data = df2, aes(xend = alter, yend = predicted),
alpha = .3, color = "deeppink") +
annotate("text", x = 30, y = 9.9,
label = paste0("beta[Between] ==", round(m_be$coefficients[2], 3)),
parse = TRUE) +
scale_colour_manual(values = cbp2[-c(1)]) +
scale_fill_manual(values = cbp2[-c(1)]) +
scale_shape_manual(values = c(15:18, 25, 20, 21)) +
ggtitle("BE") +
theme_classic() +
theme(legend.key = element_blank(),
legend.title = element_blank(),
text = element_text(size = 14),
legend.position = c(1,0),
legend.justification = c("right", "bottom"),
legend.background = element_blank(),
legend.box.background = element_rect(colour = "black"))
p_be 
\[ y_{it} - \bar{y}_{i}= \alpha_i-\alpha_i + \beta_1(x_{it}- \bar{x}_i) + \beta_2(z_{i}- \bar{z}_i) + \epsilon_{it}-\bar{\epsilon}_{i} + u_{i}-\bar{u}_{i}, \]
\[ y_{it} - \bar{y}_{i}= \beta_1(x_{it}- \bar{x}_i) + \epsilon_{it}-\bar{\epsilon}_{i}, \]
\[ y_{it} - \bar{y}_{i}= \alpha_i-\alpha_i + \beta_1(x_{it}- \bar{x}_i) + \beta_2(z_{i}- \bar{z}_i) + \epsilon_{it}-\bar{\epsilon}_{i} + u_{i}-\bar{u}_{i}, \]
\[ y_{it} - \bar{y}_{i}= \beta_1(x_{it}- \bar{x}_i) + \epsilon_{it}-\bar{\epsilon}_{i}, \]
\[ y_{it} = \alpha_i + \beta_{WI} x_{it} + \epsilon_{it}, \]
Within-Schätzer: vergleicht nur verschiedene Zeitpunkte innerhalb derselben Person
Vorgehen: Für jede Person wird ein Dummy hinzugefügt
→ Kontrolle auf zeitkonstante unbeobachtete Heterogenität
| lz | |||
| Predictors | Estimates | CI | p |
| (Intercept) | -2.42 | -15.90 – 11.07 | 0.716 |
| alter | 0.17 | -0.06 – 0.40 | 0.146 |
| id name [17] | 1.72 | -0.68 – 4.12 | 0.152 |
| id name [28] | -2.14 | -5.81 – 1.54 | 0.243 |
| id name [29] | 1.52 | -0.88 – 3.92 | 0.204 |
| id name [38] | -1.49 | -2.99 – 0.00 | 0.050 |
| id name [4] | 4.72 | -3.48 – 12.93 | 0.248 |
| id name [8] | 1.35 | -0.30 – 3.01 | 0.105 |
| Observations | 34 | ||
| R2 / R2 adjusted | 0.632 / 0.532 | ||
Interpretation: Zunehmendes Alter einer Person geht mit einer zunehmenden Zufriedenheit derselben Person einher. ## Code (by hand)
| lz | |||
| Predictors | Estimates | CI | p |
| (Intercept) | -2.42 | -15.90 – 11.07 | 0.716 |
| alter | 0.17 | -0.06 – 0.40 | 0.146 |
| id name [17] | 1.72 | -0.68 – 4.12 | 0.152 |
| id name [28] | -2.14 | -5.81 – 1.54 | 0.243 |
| id name [29] | 1.52 | -0.88 – 3.92 | 0.204 |
| id name [38] | -1.49 | -2.99 – 0.00 | 0.050 |
| id name [4] | 4.72 | -3.48 – 12.93 | 0.248 |
| id name [8] | 1.35 | -0.30 – 3.01 | 0.105 |
| Observations | 34 | ||
| R2 / R2 adjusted | 0.632 / 0.532 | ||

# Lineares regressionsmodell für jede Person i
# und Residuen speichern
for(i in unique(df$id)){
oo <- which(df$id == i)
lmt <- lm(lz ~ alter, data = df[oo, ])
df$predicted[oo] <- predict(lmt)
df$residuals[oo] <- residuals(lmt)
}
g_wi <- ggplot(df, aes(alter, lz)) +
geom_point( aes(x = alter, y = lz, shape = id_name, colour = id_name, fill = id_name),
size = 2, stroke = 1) +
geom_smooth(method = 'lm', formula = y ~ x, se = FALSE, show.legend = FALSE,
mapping = aes(group = id_name),
color = "blue", linetype = "dotted") +
geom_segment(data = df, aes(xend = alter, yend = predicted),
alpha = .3, color = "deeppink") +
annotate("text", x = 30, y = 9.9,
label = paste0("beta[Within] ==", round(m_fe$coefficients[2], 3)),
parse = TRUE) +
scale_fill_manual(values = cbp2[-c(1)]) +
scale_colour_manual(values = cbp2[-c(1)]) +
scale_shape_manual(values = c(15:18, 25, 20, 21)) +
ggtitle("WI (Fixed Effects)") +
theme_classic() +
theme(legend.key = element_blank(),
legend.title = element_blank(),
text = element_text(size = 14),
legend.position = c(1,0),
legend.justification = c("right", "bottom"),
legend.background = element_blank(),
legend.box.background = element_rect(colour = "black"))
g_wi
Random effects Schätzer:
RE als quasi-demeaned Schätzer (gewichteter Durchschnitt des Between- und Within-Schätzers) \[
y_{it} - \lambda\bar{y}_{i}= (1-\lambda)\alpha_i+\beta_1(x_{it}- \lambda\bar{x}_i) + \epsilon_{it}-\lambda\bar{\epsilon}_{i},
\] mit \[
\hat{\lambda} = 1 - \sqrt{\frac{\sigma^2_\epsilon}{\sigma^2_\epsilon + T\sigma^2_\alpha}}
\]
\(\lambda = 0\): POLS
\(\lambda = 1\): FE
\(\sigma^2\) = Varianz
\(T\) = Anzahl an Zeitpunkten
| lz | |||
| Predictors | Estimates | CI | p |
| (Intercept) | 5.14 | 2.31 – 7.97 | 0.001 |
| alter | 0.04 | -0.01 – 0.09 | 0.087 |
| Observations | 34 | ||
| R2 / R2 adjusted | 0.070 / 0.041 | ||
Testet ein „immer“ konsistentes Modell (FE-Modell) gegen ein „manchmal“ konsistentes aber dann effizientes Modell (RE-Modell) (Brüderl, S. 976)
Idee: Man berechnet die standardisierte Differenz der Parameterschätzer. Ist die groß, so weicht das RE-Modell stark vom FE-Modell ab und es sollte das FE-Modell verwendet werden.
\[ H = (\hat{\beta}_{RE} -\hat{\beta}_{FE})'[\hat{V}(\hat{\beta}_{RE}) -\hat{V}(\hat{\beta}_{FE})]^{-1}\hat{\beta}_{RE} -\hat{\beta}_{FE}), \] \(\hat{V}(.)\): geschätzte Varianz-Kovarianzmatrix der Schätzer
| RE Modell | FE Modell | |
|---|---|---|
| Unbeobachtete Heterogenität | Verzerrt, wenn personenspezifische unbeobachtete Heterogenität vorliegt (Selbstselektion) | Nicht verzerrt durch personenspezifische unbeobachteter Heterogenität (within-Vergleich) |
| Zeitkonstante Variablen | Können mitgeschätzt werden (sind aber verzerrt, wenn unbeobachtete Heterogenität vorliegt) | Können nicht mitgeschätzt werden, werden aber implizit mitkontrolliert = konsistent |
| Standardfehler | Tendenziell kleiner (da mehr Variation in den Daten genutzt wird) | Tendenziell größer (da nur within-Varianz genutzt wird) |
| Zeitveränderliche Variablen | Ohne Veränderung (before-after comparison) kann keine within-Varianz geschätzt werden |
| POLS | BE | FE | RE | |||||
| Predictors | Estimates | p | Estimates | p | Estimates | p | Estimates | p |
| (Intercept) | 5.395 | <0.001 | 5.490 | 0.013 | 5.144 | 0.001 | ||
| alter | 0.040 | 0.007 | 0.037 | 0.208 | 0.169 | 0.146 | 0.044 | 0.087 |
| Observations | 34 | 7 | 34 | 34 | ||||
| R2 / R2 adjusted | 0.207 / 0.182 | 0.295 / 0.154 | 0.080 / -0.168 | 0.070 / 0.041 | ||||
Idee von Regressionsverfahren: Kontrolle von Drittvariablenkontrolle, um unbeobachtete Heterogenität zu verringern.
Aber: gezielte Auswahl von Variablen notwendig!
Direct acyclic graph (DAG): eine grafische Darstellung der kausalen Annahmen in dem Datengenerierungsprozess
Elwert & Winship (2014)
Overcontrol bias
Confounding bias
Endogenous selection bias
Elwert & Winship (2014)
Elwert & Winship (2014)
Elwert & Winship (2014)
Dieser Foliensatz profitierte in großen Teilen von ehemaligen Veranstaltungen von Isabel Habicht sowie von
https://ruettenauer.github.io/Panel-Data-Analysis/
Weitere Literatur: