Especifiquei corretamente meu modelo no lmer?

26

Vasculhei muitos sites de ajuda e ainda estou confuso sobre como especificar termos aninhados mais complicados em um modelo misto também. Eu também estou confuso como o uso de :e /e |em especificação de interações e de nidificação com fatores aleatórios utilizando lmer()no lme4pacote no R.

Para o propósito desta pergunta, suponha que eu tenha retratado com precisão meus dados com este modelo estatístico padrão: são fixos e são aleatórios. está (implicitamente) aninhado dentro .

Yijk=u+stationi+towj(i)+dayk+(station×day)ik+(tow×day)j(i)k
stationtowdayTowstation

Em outras palavras, espero que meu modelo inclua Station (i, fixo), Tow (j, aleatório, implicitamente aninhado dentro de Station), Dia (k, aleatório) e interação entre Tow e Day e a interação entre Day e estação. Consultei um estatístico para criar meu modelo e, no momento, acredito que seja representativo dos meus dados, mas também adicionarei uma descrição dos meus dados para aqueles que estão interessados ​​na parte inferior da minha postagem para não desorganizar.

Até agora, o que consegui juntar é o seguinte lmer:

lmer(y ~ station + (1|station:tow) + (1|Day) + (1|station:day) + (1|tow:day), 
     data=my.data)

Isso representa com precisão meu modelo estatístico? Alguma sugestão de como melhorar meu código se ele não for lido corretamente?

Coloquei em negrito os termos específicos que estou tendo dificuldade em especificar na minha fórmula mais recente

# 1 tow aninhado dentro da estação quando o reboque é aleatório e a estação é fixa
Estou confuso, no entanto, sobre a diferenciação entre termos aninhados e de interação que são aleatórios usando :e /. No meu exemplo acima, eu tenho (1|station:tow)no qual espero ler aninhados dentro da estação. Eu li comentários conflitantes em vários sites, se devo ou não usar :ou /aqui no (1|...)formato aleatório de lmer.

# 2 A interação entre estação e dia, quando a estação é fixa e o dia é aleatório
, tenho, (1|station:day)mas desta vez espero que leia a interação entre estação e dia. Parece que eu poderia usar o station * day para explicar os efeitos individuais de station e day, bem como sua interação (em vez de incluir cada um dos três termos separadamente, como faço acima), mas não vejo como especificar isso quando um é fixo e o outro é aleatório. Faria station*(1|day)isso?

# 3 A interação entre tow e day (ambos aleatórios) quando o tow é aninhado na estação (fixo) Então, finalmente, eu tenho o (1|tow:day)que espero ler a interação de towe day, mas estou me perguntando se preciso especificar novamente que o tow está aninhado (implicitamente) na estação?

Eu sou novo para ambos Re lmere modelagem estatística e aprecio muito o trabalho de explicações detalhadas em todas as respostas às minhas perguntas, se possível.

Mais detalhes sobre meus dados: pergunto se as concentrações de plâncton variam em uma frente física no oceano próximo à costa. Eu tenho três estações, costeiras, internas e externas desta frente. A estação é assim fixa. Em cada estação, tomo três rebocadores de plâncton replicados (dos quais ordeno, conto e obtenho uma concentração em termos de # de insetos por metro em cubos de água). O reboque é aleatório: em três reboques, espero explicar a variabilidade geral do plâncton naquela estação em particular. O reboque é intrinsecamente aninhado na estação, pois cada reboque não possui um ID exclusivo (123,123,123 é o ID dos rebocadores em cada estação). Fiz isso em vários dias independentes, com uma nova frente que se formara. Acho que consigo pensar em Day como um fator de bloqueio? O dia é aleatório, pois repetir isso em vários dias independentes da frente está tentando capturar a variabilidade de um dia para o outro e ser representativo de todos os dias em que essa frente está presente. Eu quero saber sobre os termos de interação para ver se as mudanças mudam na variabilidade de um dia para o outro e se as estações sempre produzem dados semelhantes ou isso depende do dia?

Mais uma vez, obrigado pelo seu tempo e ajuda, agradeço!

wtree
fonte
Eu acredito que você está perdendo alguns subscritos (eu não queria adicioná-los se estivesse enganado) no seu modelo estatístico padrão.
11
FWIW, para quem se deparar com este tópico e se perguntar se ele está no tópico, dado o foco na Rsintaxe, na IMO, é suficientemente estatístico (por entender errado como o modelo especificado se relaciona com aninhamento e interações etc.) para estar no tópico para CV.
gung - Restabelece Monica
11
Isso é 100% sobre o tópico na minha opinião.
2
De acordo com a sua lmer()sintaxe, você especificou um modelo em que há um efeito fixo de statione quatro interceptações aleatórias, compartilhadas por indivíduos com a mesma (1) combinação de statione tow(2) valor de Day, (3) combinação de statione daye ( 4) combinação de towe day, respectivamente. É isso que você pretendia? Não tenho certeza porque, como indicado por @BabekP, como você escreveu sua formulação de modelo não está claro. Você escreveu nomes de variáveis, não parâmetros. Normalmente, em um modelo como este, as combinações de variáveis ​​são capturadas pelos subscritos.
Macro

Respostas:

23

Reboque aninhado dentro da estação quando o reboque é aleatório e a estação é fixa

station+(1|station:tow)está correto. Como @John disse em sua resposta, (1|station/tow)expandiria para (1|station)+(1|station:tow)(efeito principal da estação mais interação entre reboque e estação), o que você não deseja porque já especificou a estação como um efeito fixo.

Interação entre estação e dia quando a estação é fixa e o dia é aleatório.

A interação entre um efeito fixo e um aleatório é sempre aleatória. Novamente, como @John disse, station*dayexpande para o station+day+station:dayque você (novamente) não deseja, porque já especificou dayem seu modelo. Eu não acho que existe uma maneira de fazer o que você deseja e recolher os efeitos cruzados de day(aleatório) e station(fixo), mas você poderia, se quisesse escrever station+(1|day/station), o que, conforme especificado na resposta anterior, expandiria para station + (1|day) + (1|day:station).

interação entre o reboque e o dia em que o reboque está aninhado na estação

Porque você não tem valores exclusivos da towvariável (ou seja, porque, como você diz abaixo reboques são especificados como 1, 2, 3em cada estação, você fazer necessidade de especificar a nidificação, como (1|station:tow:day). Se você teve os reboques especificado exclusivamente, você poderia usar (1|tow:day)ou (1|station:tow:day)(eles devem fornecer respostas equivalentes). Se você não especificar o aninhamento nesse caso, lme4tentará estimar um efeito aleatório compartilhado pelo reboque nº 1 em todas as estações ...

station:tow:day××

São http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#model-specification e http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#nested-or-crossed útil para você?

Ben Bolker
fonte
muito obrigado pela resposta útil e referências, eles são muito apreciados. Estou confuso sobre a notação (1 | a: b), como você descreve acima, onde parece que o ':' pode significar "aninhado", bem como uma interação. Como ele pode especificar os dois? Em outras palavras, como você sabe qual relacionamento você está indicando? Devo estar perdendo algo básico aqui, peço desculpas.
wtree
4
Não há muita diferença, neste contexto, entre interação e aninhamento. Se Bestá aninhado Aou apenas interage com ele, depende se o efeito principal de Aestá incluído ou não no modelo. Se o principal efeito Bé também no modelo então é cruzados ...
Ben Bolker
Olá pessoal, fiz uma pergunta relacionada aqui: stats.stackexchange.com/questions/272377/… se alguém (especialmente o @BenBolker) tiver a chance de procurar e fornecer uma resposta.
Joshua Rosenberg
11

Algumas das coisas na fórmula são um pouco confusas. O :é para interações entre dois termos, enquanto o *é para efeitos e interações principais. O /outro é para interações, mas o que ele faz é gerar uma interação entre o numerador e todos os termos no denominador (por exemplo A/(B+C) = A:B + A:C). O |é para algo como "agrupado por". Então, 1|stationseria interceptado agrupado por estação e entre parênteses é aleatório (1|station). É assim que você faria o aninhamento.

Espero que isso ajude. É um pouco estranho ter um efeito aleatório aninhado dentro de um efeito fixo e não tenho certeza de como você o representaria. Eu nem consigo imaginar a situação. Você pode obter uma resposta melhor se explicar exatamente quais são suas variáveis ​​e o que deseja realizar. Muitas vezes as pessoas fazem perguntas e estão usando a terminologia errada e é difícil se comunicar. Explique o que as variáveis ​​representam e o que você deseja saber sobre elas.

Focalizando sua descrição em seu último parágrafo, parece que seu reboque é simplesmente um indicador das amostras que você coletou e não algo que você precisa de estimativas, no sentido em que você espera que o reboque 1 seja consistentemente diferente do reboque 2 de alguma forma. O reboque está apenas indicando uma amostra. A menos que você realmente acredite que a ordem dos rebotes é importante, você nem se preocupa com essa variável. E se eles importaram, é um efeito fixo (e talvez aleatório, mas não um efeito apenas aleatório). Você diz que deseja saber se as mudanças mudam na variabilidade de um dia para o outro. Que tal a resposta é sim? Não é no campo da probabilidade realista que eles não variam de dia para dia. É apenas a variação de suas medidas. Vocês' você não tem permissão para tentar contabilizar todas as especificações de variação, porque você acaba não tendo nenhuma variação restante por erro. Você teria um modelo super especificado. Você apenas relataria cada medida.

Você faz uma declaração semelhante sobre se perguntar se a estação varia de dia para dia; Claro que sim. Mas talvez você queira dizer dias específicos? Os dias foram agrupados de alguma forma por estação, ciclo lunar etc.? A menos que você tenha algo diferente do dia 1, do dia 2, etc. Como saber que as estações variam dia a dia indica algo diferente das estações? Portanto, a resposta para essa pergunta é que, naturalmente, as estações variam dia a dia. E é claro que os rebocadores variam de dia para dia e de estação para estação. Você acaba ficando com um modelo simples:

aov(y ~ station, data = dat)

O único efeito fixo que você tem aqui, estação, é apenas amostrado em vários reboquees e vários dias. Não tenho certeza se você realmente precisa de modelagem multinível aqui. Parece que você está superespecificando seu modelo.

Se você realmente deseja efeitos aleatórios de dia e de reboque e houver informações que não especificou aqui, poderá expandi-las para um modelo de vários níveis. Isso seria:

lmer(y ~ station + (two*day|station), data = dat)

Você precisa de vários rebocadores em cada estação e dia para usar esse modelo.

John
fonte
Concordo com tudo o que você disse, mas acho que isso provavelmente é mais um comentário do que uma resposta.
Macro
@ John eu estava com você até "é assim que você faria o aninhamento". Eu acho que perdi o ponto real de como você faz o aninhamento. Você gostaria de explicar com mais detalhes? Acho que ainda estou confuso com o | e vai olhar mais para ele. Mas, pela sua resposta, ainda não sei como, por exemplo, indicar que o reboque (aleatório) está aninhado na estação (fixo)?
wtree
@John Oh e a estação são fixadas como locais / locais de interesse no oceano e o reboque é aleatório, porque eu estou fazendo rebocadores de plâncton nesses locais que são aleatórios, pois eles estão tentando explicar a variabilidade do plâncton em cada local e depois ser extrapolados para representar a população de plâncton em uma estação.
wtree
11
Nem todo rótulo de uma amostra é uma variável aleatória, consulte edições.
John
11
Ainda acho que o reboque não deveria estar no modelo, dada essa descrição. O dia parece bom.
John