Niepoprawne wnioskowanie, gdy obserwacje nie są niezależne

13

Nauczyłem się w statystyce elementarnej, że przy ogólnym modelu liniowym, aby wnioski były ważne, obserwacje muszą być niezależne. Kiedy występuje klastrowanie, niezależność może już nie prowadzić, prowadząc do nieprawidłowego wnioskowania, chyba że zostanie to uwzględnione. Jednym ze sposobów uwzględnienia takiego grupowania jest użycie modeli mieszanych. Chciałbym znaleźć przykładowy zestaw danych, symulowany lub nie, który wyraźnie to pokazuje. Próbowałem użyć jednego z przykładowych zestawów danych na stronie UCLA do analizy danych klastrowych

> require(foreign)
> require(lme4)
> dt <- read.dta("http://www.ats.ucla.edu/stat/stata/seminars/svy_stata_intro/srs.dta")

> m1 <- lm(api00~growth+emer+yr_rnd, data=dt)
> summary(m1)

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 740.3981    11.5522  64.092   <2e-16 ***
growth       -0.1027     0.2112  -0.486   0.6271    
emer         -5.4449     0.5395 -10.092   <2e-16 ***
yr_rnd      -51.0757    19.9136  -2.565   0.0108 * 


> m2 <- lmer(api00~growth+emer+yr_rnd+(1|dnum), data=dt)
> summary(m2)

Fixed effects:
             Estimate Std. Error t value
(Intercept) 748.21841   12.00168   62.34
growth       -0.09791    0.20285   -0.48
emer         -5.64135    0.56470   -9.99
yr_rnd      -39.62702   18.53256   -2.14

Jeśli czegoś mi nie brakuje, wyniki są na tyle podobne, że nie sądzę, że dane wyjściowe lm()są nieprawidłowe. Przyjrzałem się innym przykładom (np. 5.2 z Bristol University Centre for Multilevel Modeling ) i odkryłem, że standardowe błędy również nie są strasznie różne (nie interesują mnie same losowe efekty z modelu mieszanego, ale warto zauważyć, że ICC z wyników modelu mieszanego wynosi 0,42).

Tak więc moje pytania to: 1) w jakich warunkach standardowe błędy będą się znacznie różnić w przypadku klastrowania oraz 2) czy ktoś może podać przykład takiego zestawu danych (symulowanego lub nie).

Joe King
źródło
Czy potrafisz rozwinąć pojęcie klastrów?
bayerj
@bayerj przez grupowanie, mam na myśli, gdy obserwacje, które są do siebie podobne, są grupowane w ramach jakiejś jednostki, na przykład 10 pomiarów ciśnienia krwi wykonanych u 50 osób.
Joe King

Odpowiedzi:

11

Po pierwsze, masz rację, ten zestaw danych może nie jest najlepszy do zrozumienia modelu mieszanego. Ale najpierw spójrzmy dlaczego

require(foreign)
dt <- read.dta("http://www.ats.ucla.edu/stat/stata/seminars/svy_stata_intro/srs.dta")

length(dt$dnum)          # 310
length(unique(dt$dnum))  # 187 
sum(table(dt$dnum)==1)   # 132

Widzisz, że masz 310 obserwacji i 187 grup, z których 132 mają tylko jedną obserwację. Nie oznacza to, że nie powinniśmy używać modelowania wielopoziomowego, ale po prostu, że nie uzyskamy bardzo różnych wyników, jak powiedziałeś.

Motywacja do modelowania wielopoziomowego

Motywacja do korzystania z modelowania wielopoziomowego zaczyna się od samego projektu, a nie tylko od wyników przeprowadzonej analizy. Oczywiście najczęstszym przykładem jest wzięcie wielu obserwacji od osób, ale aby uczynić bardziej ekstremalnymi rzeczy, aby łatwiej zrozumieć sytuację, pomyśl pytając osoby z różnych krajów na całym świecie o ich dochody. Najlepszymi przykładami są te, które mają wiele niejednorodności, ponieważ przyjmowanie klastrów, które są jednorodne w wyniku badania, oczywiście nie zrobi dużej różnicy.

Przykład

Symulujmy więc niektóre dane, aby wszystko było bardziej przejrzyste, symulacja działa lepiej, ponieważ w przypadku rzeczywistych danych nie jest to takie oczywiste. Wyobraź sobie, że bierzesz krajów i pytasz osób z każdego kraju o ich dochód i coś innego , co ma pozytywny wpływ na dochód ze współczynnikiem10010100yx0.5

set.seed(1)
I <- 100
J <- 10
n <- I*J
i <- rep(1:I, each=J)
j <- rep(1:J,I)
x <- rnorm(n,mean=0, sd=1)
beta0  <- 1000
beta1  <- 0.5
sigma2 <- 1
tau2   <- 200
u <- rep(rnorm(I,mean=0,sd=sqrt(tau2)),each=J)
y <- beta0 + beta1*x + u + rnorm(n,mean=0, sd=sqrt(sigma2))

Masz więc model liniowy

> summary(lm(y~x))

Coefficients:
            Estimate Std. Error  t value Pr(>|t|)    
(Intercept) 999.8255     0.4609 2169.230   <2e-16 ***
x             0.5728     0.4456    1.286    0.199    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 14.57 on 998 degrees of freedom
Multiple R-squared:  0.001653,  Adjusted R-squared:  0.0006528 
F-statistic: 1.653 on 1 and 998 DF,  p-value: 0.1989

i wnioskujesz, że xnie ma to wpływu statystycznego na y. Zobacz, jak duży jest błąd standardowy. Ale uruchamianie modelu przechwytywania losowego

> summary(lmer(y~x + (1|i)))

Random effects:
 Groups   Name        Variance Std.Dev.
 i        (Intercept) 213.062  14.597  
 Residual               1.066   1.032  
Number of obs: 1000, groups:  i, 100

Fixed effects:
            Estimate Std. Error t value
(Intercept) 999.8247     1.4600   684.8
x             0.4997     0.0327    15.3

widać, jak bardzo zmienił się błąd standardowy oszacowania. Patrząc na część dotyczącą efektu losowego, widzimy, jak zmienność została rozłożona - większość zmienności w dochodach występuje między krajami, a wśród krajów ludzie mają podobne dochody. Krótko mówiąc, to, co się tutaj wydarzyło, polega na tym, że nie uwzględnienie efektu grupowania xoznacza „zgubienie się” (jeśli możemy użyć tego rodzaju terminu), ale rozkładając zmienność, znajdziesz to, co powinieneś uzyskać.

Steve
źródło
+1 Dziękuję, to świetnie. Chociaż jestem pewien, że pamiętam kilkakrotnie, że SE są zazwyczaj mniejsze, gdy nie biorą pod uwagę grupowania, więc nadal jestem nieco zdezorientowany - jakie są scenariusze, w których model liniowy zwróciłby znacznie zbyt małą SE?
Joe King
@JoeKing jest to prawdą w przypadku klastrowego, niezawodnego SE, a nie w modelowaniu wielopoziomowym. Możesz to również zobaczyć na stronie w ats.ucla, gdzie wziąłeś dane.
Steve
@JoeKing, aby całkowicie zrozumieć różnicę, spójrz stats.stackexchange.com/questions/8291/…
Steve