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 lme4
pacote 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 .
station
tow
day
Tow
station
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 tow
e day
, mas estou me perguntando se preciso especificar novamente que o tow está aninhado (implicitamente) na estação?
Eu sou novo para ambos R
e lmer
e 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!
fonte
R
sintaxe, 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.lmer()
sintaxe, você especificou um modelo em que há um efeito fixo destation
e quatro interceptações aleatórias, compartilhadas por indivíduos com a mesma (1) combinação destation
etow
(2) valor deDay
, (3) combinação destation
eday
e ( 4) combinação detow
eday
, 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.Respostas:
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*day
expande para ostation+day+station:day
que você (novamente) não deseja, porque já especificouday
em seu modelo. Eu não acho que existe uma maneira de fazer o que você deseja e recolher os efeitos cruzados deday
(aleatório) estation
(fixo), mas você poderia, se quisesse escreverstation+(1|day/station)
, o que, conforme especificado na resposta anterior, expandiria parastation + (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
tow
variável (ou seja, porque, como você diz abaixo reboques são especificados como1
,2
,3
em 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,lme4
tentará 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ê?
fonte
B
está aninhadoA
ou apenas interage com ele, depende se o efeito principal deA
está incluído ou não no modelo. Se o principal efeitoB
é também no modelo então é cruzados ...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 exemploA/(B+C) = A:B + A:C
). O|
é para algo como "agrupado por". Então,1|station
seria 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:
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:
Você precisa de vários rebocadores em cada estação e dia para usar esse modelo.
fonte