Losowe wyrazy wolne
Modele liniowe w R szacują parametry uznawane za stałe, czyli nielosowe – nazywamy je efektami stałymi. Natomiast parametry efektów losowych zakładają, że dane mają wspólny rozkład błędów, i mogą dawać różne oszacowania przy małej liczbie danych lub obecności wartości odstających. Modele zawierające zarówno efekty stałe, jak i losowe, to modele mieszane lub liniowa regresja mieszana.
Pakiet lme4 dopasowuje modele mieszane (zawierające efekty stałe i losowe) za pomocą funkcji lmer(), która używa formuły podobnej do lm(). Losowe wyrazy wolne wymagają jednak specjalnej składni:
lmer(y ~ x + (1 | random-effect), data = my_data)
Funkcja lmer() wymaga, aby model zawierał efekt losowy – w przeciwnym razie zwróci błąd. W tym ćwiczeniu dopasujemy model lm() i model lmer(), a następnie graficznie porównamy ich dopasowania na podzbiorze danych. Kod jest już przygotowany, ponieważ potrzebne jest zaawansowane przetwarzanie danych – efekty losowe zwykle nie są wizualizowane (pakiet ggplot2 nie oferuje wygodnych opcji wykresów dla modeli mieszanych). Na wykresie zwróć uwagę, jak przerywane linie z losowych nachyleń wypadają w porównaniu z ciągłymi liniami z efektów stałych.
Uwaga: Pakiet broom.mixed jest wymagany, ponieważ standardowy pakiet broom nie obsługuje lme4.
To ćwiczenie jest częścią kursu
Hierarchiczne i mieszane modele efektów w R
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Build a liner model including class as fixed-effect model
lm_out <- ___
# Build a mixed-effect model including class id as a random-effect
lmer_out <- lmer(___ ~ ___ + (1 | ___), data = ___)
# Extract out the slope estimate for mathkind
tidy(lm_out) %>%
filter(term == "mathkind")
tidy(lmer_out) %>%
filter(term == "mathkind")