Radzenie sobie z pojedynczym dopasowaniem w modelach mieszanych

16

Powiedzmy, że mamy model

mod <- Y ~ X*Condition + (X*Condition|subject)

# Y = logit variable  
# X = continuous variable  
# Condition = values A and B, dummy coded; the design is repeated 
#             so all participants go through both Conditions  
# subject = random effects for different subjects 

summary(model)
Random effects:
 Groups  Name             Variance Std.Dev. Corr             
 subject (Intercept)      0.85052  0.9222                    
         X                0.08427  0.2903   -1.00            
         ConditionB       0.54367  0.7373   -0.37  0.37      
         X:ConditionB     0.14812  0.3849    0.26 -0.26 -0.56
Number of obs: 39401, groups:  subject, 219

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       2.49686    0.06909   36.14  < 2e-16 ***
X                -1.03854    0.03812  -27.24  < 2e-16 ***
ConditionB       -0.19707    0.06382   -3.09  0.00202 ** 
X:ConditionB      0.22809    0.05356    4.26 2.06e-05 ***

Tutaj obserwujemy pojedyncze dopasowanie, ponieważ korelacja między efektem przechwytywania a efektami losowymi x wynosi -1. Teraz, zgodnie z tym przydatnym linkiem, jednym ze sposobów radzenia sobie z tym modelem jest usunięcie losowych efektów wyższego rzędu (np. X: ConditionB) i sprawdzenie, czy to robi różnicę podczas testowania osobliwości. Drugim jest zastosowanie podejścia bayesowskiego, np. blmePakietu, aby uniknąć osobliwości.

Jaka jest preferowana metoda i dlaczego?

Pytam o to, ponieważ użycie pierwszego lub drugiego prowadzi do różnych wyników - w pierwszym przypadku usunę efekt losowy X: ConditionB i nie będę w stanie oszacować korelacji między efektami losowymi X i X: ConditionB. Z drugiej strony użycie blmepozwala mi zachować X: ConditionB i oszacować podaną korelację. Nie widzę powodu, dla którego powinienem nawet stosować nie-bayesowskie oszacowania i usuwać losowe efekty, gdy występują pojedyncze dopasowania, kiedy mogę oszacować wszystko za pomocą podejścia bayesowskiego.

Czy ktoś może mi wyjaśnić korzyści i problemy, stosując jedną z metod radzenia sobie z pojedynczymi napadami?

Dziękuję Ci.

Użytkownik33268
źródło
Co martwisz się o to corr = -1? Jest to korelacja między efektami losowymi.
user158565
Czyli każdy pacjent daje dwa pomiary Y, jeden w warunkach A i jeden w warunkach B? Jeśli to prawda, czy możesz nam również powiedzieć, czy wartość zmiennej ciągłej X zmienia się dla danego pacjenta między warunkami A i B?
Isabella Ghement
Dlaczego przypisujesz warunek losowym efektom? Czy sprawdziłeś, czy jest to wymagane?
Dimitris Rizopoulos
@ user158565 tak, ale wskazuje na wyjątkowość ...
User33268
@IsabellaGhement Rzeczywiście. Tak, x zmienia się dla dowolnego przedmiotu między A i B. Ponadto istnieje teoretyczny powód, aby zakładać, że regresja Y na X jest inna dla każdego podmiotu
User33268

Odpowiedzi:

21

Kiedy uzyskujesz pojedyncze dopasowanie, często oznacza to, że model jest przeregulowany - to znaczy struktura efektów losowych jest zbyt złożona, aby można ją było poprzeć danymi, co naturalnie prowadzi do porady, aby usunąć najbardziej złożoną część efektów losowych struktura (zwykle losowe stoki). Zaletą tego podejścia jest to, że prowadzi on do bardziej oszczędnego modelu, który nie jest nadmiernie dopasowany.

Jednak zanim cokolwiek zrobisz, czy masz dobry powód, by chcieć X, Conditiona ich interakcja różni się w zależności od tematu? Czy sugeruje to teoria generowania danych?

Jeśli chcesz dopasować model do maksymalnej struktury efektów losowych i lme4uzyskać pojedyncze dopasowanie, to dopasowanie tego samego modelu do schematu Bayesa może bardzo dobrze poinformować Cię, dlaczego lme4 wystąpiły problemy, poprzez sprawdzenie wykresów śladowych i tego, jak dobrze różne oszacowania parametrów są zbieżne . Zaletą przyjęcia podejścia bayesowskiego jest to, że robiąc to, możesz odkryć problem z oryginalnym modelem, tj. powód, dla którego struktura maksymalnych efektów losowych nie jest obsługiwana przez dane) lub może odkryć, dlaczego lme4nie można dopasować do modelu. Zetknąłem się z sytuacjami, w których model bayesowski nie jest dobrze zbieżny, chyba że zastosuje się pouczające priory - co może, ale nie musi być OK.

Krótko mówiąc, oba podejścia mają swoje zalety.

Zawsze jednak zaczynam od miejsca, w którym początkowy model jest oszczędny i świadomy wiedzy ekspertów w dziedzinie, aby określić najbardziej odpowiednią strukturę efektów losowych. Określanie zmiennych grupujących jest stosunkowo łatwe, ale losowe zbocza zwykle nie muszą być uwzględniane. Uwzględnij je tylko, jeśli mają sens teoretyczny ORAZ są obsługiwane przez dane.

Edycja: W komentarzach wspomniano, że istnieją uzasadnione teoretyczne powody, aby dopasować się do maksymalnej struktury efektów losowych. Tak, to stosunkowo łatwy sposób dokonać równoważnej Bayesa modelu jest zamienić wywołanie glmerz stan_glmerod rstanarmpakietu - to ma być Plug and Play. Ma domyślne priorytety, więc możesz szybko dopasować model. Pakiet zawiera również wiele narzędzi do oceny konwergencji. Jeśli okaże się, że wszystkie parametry są zbieżne z prawdopodobnymi wartościami, wszyscy jesteście dobrzy. Może jednak występować wiele problemów - na przykład wariancja szacowana na zero lub poniżej zera, lub szacunek, który nadal się zmienia. Witryna mc-stan.org ma wiele informacji i forum użytkowników.

Robert Long
źródło
1
Tak, mam dobre teoretyczne powody, by zakładać, że regresja Y na X powinna różnić się w zależności od podmiotu dla warunków A i B. Regresja implikuje styl przetwarzania. Czy możesz podać mi więcej informacji na temat interpretacji wykresów śladowych jako narzędzia diagnostycznego dla przyczyn osobliwości?
User33268,
11

To bardzo interesujący wątek z ciekawymi odpowiedziami i komentarzami! Ponieważ nie zostało to jeszcze poruszone, chciałem zauważyć, że mamy bardzo mało danych dla każdego przedmiotu (jak rozumiem). Rzeczywiście, każdy podmiot ma tylko dwie wartości dla każdej zmiennej odpowiedzi Y, zmiennej kategorialnej Warunek i zmiennej ciągłej X. W szczególności wiemy, że dwie wartości Warunku to A i B.

Gdybyśmy mieli stosować dwustopniowe modelowanie regresji zamiast modelowania efektów mieszanych, nie moglibyśmy nawet dopasować modelu regresji liniowej do danych konkretnego pacjenta, jak pokazano w poniższym przykładzie zabawki dla jednego z przedmiotów:

y <- c(4, 7)
condition <- c("A", "B")
condition <- factor(condition)
x <- c(0.2, 0.4)

m <- lm(y ~ condition*x)
summary(m)

Dane wyjściowe tego modelu tematycznego byłyby następujące:

Call:
lm(formula = y ~ condition * x)

Residuals:
ALL 2 residuals are 0: no residual degrees of freedom!

Coefficients: (2 not defined because of singularities)
         Estimate Std. Error t value Pr(>|t|)
(Intercept)         4         NA      NA       NA
conditionB          3         NA      NA       NA
x                  NA         NA      NA       NA
conditionB:x       NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:      1,     Adjusted R-squared:    NaN 
F-statistic:   NaN on 1 and 0 DF,  p-value: NA

Zauważ, że dopasowanie modelu cierpi na osobliwości, ponieważ staramy się oszacować 4 współczynniki regresji plus odchylenie standardowe błędu przy użyciu tylko 2 obserwacji.

Osobliwości utrzymałyby się, nawet gdybyśmy obserwowali ten temat dwa razy - a nie raz - pod każdym warunkiem. Gdybyśmy jednak obserwowali obiekt 3 razy pod każdym warunkiem, pozbylibyśmy się osobliwości:

y <- c(4, 7, 3, 5, 1, 2)
condition <- c("A", "B", "A","B","A","B")
condition <- factor(condition)
x <- c(0.2, 0.4, 0.1, 0.3, 0.3, 0.5)

m2 <- lm(y ~ condition*x)
summary(m2)

Oto odpowiednie wyjście R dla tego drugiego przykładu, z którego zniknęły osobliwości:

>     summary(m2)

Call:
lm(formula = y ~ condition * x)

Residuals:
    1       2       3       4       5       6 
1.3333  2.3333 -0.6667 -1.1667 -0.6667 -1.1667 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)
(Intercept)     4.667      3.555   1.313    0.320
conditionB      6.000      7.601   0.789    0.513
x             -10.000     16.457  -0.608    0.605
conditionB:x   -5.000     23.274  -0.215    0.850

Residual standard error: 2.327 on 2 degrees of freedom
Multiple R-squared:  0.5357,    Adjusted R-squared:  -0.1607 
F-statistic: 0.7692 on 3 and 2 DF,  p-value: 0.6079

Oczywiście model efektów mieszanych nie pasuje do niepowiązanych, osobnych modeli regresji liniowej dla każdego pacjenta - pasuje do modeli „pokrewnych”, których przechwyty i / lub nachylenia różnią się losowo wokół typowego przechwytu i / lub nachylenia, tak że losowe odchylenia od typowy punkt przecięcia i / lub typowe nachylenie mają rozkład normalny ze średnim zerem i pewnym nieznanym odchyleniem standardowym.

Mimo to moja intuicja sugeruje, że model efektów mieszanych zmaga się z niewielką liczbą obserwacji - zaledwie 2 - dostępnych dla każdego przedmiotu. Im bardziej model jest obciążony losowymi nachyleniami, tym bardziej prawdopodobnie ma problemy. Podejrzewam, że gdyby każdy badany wniósł 6 obserwacji zamiast 2 (to znaczy 3 na warunek), nie miałby już trudności z przyjęciem wszystkich losowych stoków.

Wydaje mi się, że może to być (?) Przypadek, w którym obecny projekt badania nie wspiera złożonych ambicji modelowania - aby wesprzeć te ambicje, potrzebne byłyby dalsze obserwacje pod każdym warunkiem dla każdego przedmiotu (lub przynajmniej dla niektórych tematy?). To tylko moja intuicja, więc mam nadzieję, że inni mogą dodać swoje spostrzeżenia do moich powyższych obserwacji. Z góry dziękuję!

Isabella Ghement
źródło
Muszę cię poprawić - każdy uczestnik ma 30 obserwacji zarówno dla X, jak i Y, zarówno w warunkach A, jak i B!
User33268,
2
Och, to nie zostało wskazane w twojej początkowej odpowiedzi, więc nie byłbym w stanie odgadnąć, ile obserwacji na temat i warunki faktycznie masz. Wtedy dzieje się coś jeszcze. Czy próbowałeś standaryzować swoją zmienną X? Czy to pomaga mi się dopasować? Czy spojrzałeś również na wykresy Y vs. X (lub standaryzowany X) dla warunku = A vs. Warunek = B osobno dla każdego pacjenta? To może dać ci dodatkowe wskazówki, co się dzieje.
Isabella Ghement
Nie standaryzowałem x, ponieważ są to dane czasu reakcji i jest to ważne dla interpretacji współczynnika regresji. Dane były jednak scentralizowane.
Zajrzę
2
@ User33268 Jestem trochę spóźniony na imprezę, ale nadal możesz interpretować ustandaryzowane współczynniki, po prostu musisz zapisać wartości użyte do skalowania, a następnie transformować wstecznie po uruchomieniu modelu.
Frans Rodenburg