Náhodné intercepy
Lineární modely v R odhadují parametry, které jsou považovány za fixní (pevné, nerandomizované) – říkáme jim fixed-effects (pevné efekty). Naproti tomu parametry random-effects (náhodných efektů) předpokládají, že data sdílejí společné rozdělení chyb, a mohou produkovat různé odhady při malém množství dat nebo v přítomnosti odlehlých hodnot. Modely s oběma typy efektů – pevnými i náhodnými – nazýváme mixed-effect modely nebo lineární smíšená regrese.
Balíček lme4 umožňuje fitovat smíšené modely (s pevnými i náhodnými efekty) pomocí funkce lmer(), která používá vzorec podobný lm(). Náhodné intercepy ale vyžadují speciální syntaxi:
lmer(y ~ x + (1 | random-effect), data = my_data)
Funkce lmer() vyžaduje, aby model obsahoval náhodný efekt – jinak vrátí chybu. V tomto cvičení nafituješ lm() i lmer() a graficky porovnáš oba modely na podmnožině dat. Kód pro vizualizaci je již připravený, protože zpracování dat je v tomto případě pokročilejší – náhodné efekty se totiž běžně nevykreslují (ani ggplot2 nenabízí pohodlné možnosti pro smíšené modely). V grafu si všimni, jak se přerušované čáry ze sklonů náhodných efektů liší od plných čar pevných efektů.
Poznámka: Balíček broom.mixed je nezbytný, protože standardní broom nepodporuje lme4.
Toto cvičení je součástí kurzu
Hierarchické a smíšené modely s náhodnými efekty v R
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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")