Неверный вывод, когда наблюдения не являются независимыми

13

Из элементарной статистики я узнал, что с общей линейной моделью, чтобы выводы были достоверными, наблюдения должны быть независимыми. Когда происходит кластеризация, независимость может больше не сохраняться, приводя к неверному выводу, если это не учитывается. Одним из способов учета такой кластеризации является использование смешанных моделей. Я хотел бы найти примерный набор данных, смоделированный или нет, который наглядно демонстрирует это. Я попытался использовать один из примеров наборов данных на сайте UCLA для анализа кластерных данных

> 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

Если я что-то упустил, эти результаты достаточно схожи, поэтому я не думаю, что вывод с lm()недействительным. Я посмотрел на некоторые другие примеры (например, 5.2 из Центра многоуровневого моделирования Бристольского университета ) и обнаружил, что стандартные ошибки также не сильно отличаются (меня не интересуют сами случайные эффекты от смешанной модели, но стоит отметить, что ICC от выхода смешанной модели составляет 0,42).

Итак, у меня следующие вопросы: 1) при каких условиях стандартные ошибки будут заметно отличаться при кластеризации, и 2) кто-то может привести пример такого набора данных (смоделированный или нет).

Джо Кинг
источник
Можете ли вы рассказать о том, что вы подразумеваете под кластеризацией?
Bayerj
@bayerj под кластеризацией я подразумеваю, когда наблюдения, которые похожи друг на друга, группируются в какую-то единицу, например, 10 измерений артериального давления, проведенных на 50 отдельных лицах.
Джо Кинг,

Ответы:

11

Прежде всего, вы правы, этот набор данных может быть не лучшим для понимания смешанной модели. Но давайте сначала посмотрим, почему

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

Вы видите, что у вас есть 310 наблюдений и 187 групп, из которых 132 имеют только одно наблюдение. Это не означает, что мы не должны использовать многоуровневое моделирование, просто мы не получим очень разные результаты, как вы заявили.

Многоуровневое моделирование мотивации

Мотивация использования многоуровневого моделирования начинается с самого дизайна, а не только с результатов проведенного анализа. Конечно, наиболее распространенным примером является получение множества наблюдений от отдельных лиц, но чтобы сделать вещи более экстремальными, чтобы сделать ситуацию более понятной, подумайте о том, чтобы спросить людей из разных стран мира об их доходах. Поэтому лучшими примерами являются те, которые имеют много неоднородностей, так как выбор кластеров, которые являются однородными в результате исследования, конечно, не будет иметь большого значения.

пример

10100yx0,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))

Итак, запустив линейную модель, вы получите

> 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

и вы заключаете, что не xимеет никакого статистического эффекта в y. Посмотрите, насколько велика стандартная ошибка. Но работает модель случайного перехвата

> 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

Вы видите, насколько изменилась стандартная ошибка оценки. Рассматривая часть случайного эффекта, мы видим, как изменялась изменчивость - большая часть изменчивости в доходах происходит между странами, и внутри стран люди имеют более похожие доходы. Проще говоря, здесь произошло то, что не учитывая эффект кластеризации, xмы «теряемся» (если мы можем использовать этот вид термина), но разлагая изменчивость, вы обнаруживаете то, что на самом деле должны получить.

Стив
источник
+1 Спасибо, это здорово. Хотя я уверен, что несколько раз читал, что SE, как правило, меньше, если не учитывать кластеризацию, поэтому я все еще несколько сбит с толку - каковы сценарии, когда линейная модель выдаст слишком маленький SE?
Джо Кинг,
@JoeKing это верно для кластеризованного надежного SE, а не для многоуровневого моделирования. Вы также можете увидеть это на странице в ats.ucla, где вы взяли данные.
Стив
@JoeKing, чтобы полностью понять разницу, посмотрите stats.stackexchange.com/questions/8291/…
Стив