Modelo misto com 1 observação por nível

12

Estou ajustando um modelo de efeitos aleatórios glmera alguns dados comerciais. O objetivo é analisar o desempenho de vendas por distribuidor, levando em consideração a variação regional. Eu tenho as seguintes variáveis:

  • distcode: ID do distribuidor, com cerca de 800 níveis
  • region: ID geográfico de nível superior (norte, sul, leste, oeste)
  • zone: geografia de nível médio aninhada dentro region, cerca de 30 níveis em todos
  • territory: geografia de baixo nível aninhada dentro zone, cerca de 150 níveis

Cada distribuidor opera em apenas um território. A parte complicada é que esses são dados resumidos, com um ponto de dados por distribuidor. Então, eu tenho 800 pontos de dados e estou tentando ajustar (pelo menos) 800 parâmetros, embora de maneira regularizada.

Eu instalei um modelo da seguinte maneira:

glmer(ninv ~ 1 + (1|region/zone/territory) + (1|distcode), family=poisson)

Isso é executado sem problemas, embora imprima uma nota:

O número de níveis de um fator de agrupamento para os efeitos aleatórios é igual a n, o número de observações

Isso é uma coisa sensata a se fazer? Recebo estimativas finitas de todos os coeficientes, e a AIC também não é irracional. Se eu tentar um GLMM poisson com o link de identidade, o AIC é muito pior, portanto o link de log é pelo menos um bom ponto de partida.

Se plotar os valores ajustados versus a resposta, obtenho o que é essencialmente um ajuste perfeito, o que acho que é porque tenho um ponto de dados por distribuidor. Isso é razoável ou estou fazendo algo completamente bobo?

Isso está usando dados por um mês. Posso obter dados por vários meses e obter alguma replicação dessa maneira, mas precisaria adicionar novos termos para variação mês a mês e possíveis interações, correto?


ETA: Eu executei o modelo acima novamente, mas sem familyargumentos (portanto, apenas um LMM gaussiano ao invés de um GLMM). Agora lmerme deu o seguinte erro:

Erro em (função (fr, FL, start, REML, detalhado): o número de níveis de um fator de agrupamento para os efeitos aleatórios deve ser menor que o número de observações

Então, acho que não estou fazendo algo sensato, pois mudar a família não deve ter efeito. Mas a questão agora é: por que funcionou em primeiro lugar?

Hong Ooi
fonte

Respostas:

4

Eu discordo totalmente da prática de ajustar um modelo misto, no qual você tem o mesmo número de grupos que as observações com base conceitual, não existem "grupos" e também com base computacional, pois seu modelo deve ter problemas identificáveis ​​- no caso de um LMM pelo menos. (Eu trabalho exclusivamente com a LMM, pode ser um pouco tendencioso também. :))

A parte computacional: suponha, por exemplo, o modelo LME padrão em que yN(Xβ,ZDZT+σ2Eu). Supondo que agora você tenha um número igual de observações e grupos (digamos, em um agrupamento "simples", sem efeitos cruzados ou aninhados etc.), toda a variação de sua amostra seria movida noD matriz e σ2deve ser zero. (Eu acho que você já se convenceu disso). É quase equivalente a ter tantos parâmetros quanto dados em um modelo de liner. Você tem um modelo super parametrizado. Portanto, a regressão é um pouco absurda.

(Não entendo o que você entende por AIC "razoável". A AIC deve ser computável no sentido de que, apesar de superestimar seus dados, você ainda está "computando algo".)

Por outro lado, com glmer(digamos que você tenha especificado que a família é Poisson), você tem uma função de link que diz comoy depende de Xβ (no caso de um Poisson que é simples um log - porque Xβ>0 0) Nesses casos, você fixa o parâmetro de escala para poder explicar a sobre-dispersão e, portanto, você tem identificabilidade (e é por isso que, enquanto glmerreclamava, dava resultados); é assim que você "contorna" a questão de ter tantos grupos quanto observações.

A parte conceitual: acho isso um pouco mais "subjetivo", mas um pouco mais direto também. Você usa Eff misto. modelos porque você reconheceu essencialmente que existe alguma estrutura relacionada ao grupo em seu erro. Agora, se você tem tantos grupos quanto pontos de dados, não há estrutura a ser vista. Quaisquer desvios na estrutura de erro do LM que possam ser atribuídos a um "agrupamento" agora são atribuídos ao ponto de observação específico (e, como tal, você acaba com um modelo com excesso de ajuste).

Em geral, os grupos de observação única tendem a ser um pouco confusos; para citar D.Bates da lista de discussão r-sig-mixed-models:

Acho que você descobrirá que há muito pouca diferença no modelo se você incluir ou excluir os grupos de observação única. Experimente e veja.

usεr11852 diz Reinstate Monic
fonte
1
É certo que isso não parece fazer muito sentido em uma configuração linear, mas pode ser muito útil na regressão de Poisson. Vou ver se consigo rastrear um link para algo que Ben Bolker disse sobre o assunto (ele é um dos desenvolvedores do lme4, junto com Doug Bates).
22413 David J. Harris
Sim, como eu disse, provavelmente sou tendencioso pensando principalmente na LMM e estava comentando a "parte conceitual". Expliquei por que isso funciona no caso de glmerqualquer maneira (apesar de não estar muito feliz com isso).
usεr11852 diz Reinstate Monic
8

Um nível por observação pode ser muito útil se você tiver dados de contagem super-dispersos como sua variável de resposta. É equivalente a dizer que você espera que seus dados de contagem venham de uma distribuição Poisson-normal do log, ou seja, que o parâmetro lambda da sua distribuição Poisson não seja totalmente determinado pelas variáveis ​​preditoras do seu modelo e que as possibilidades sejam distribuídas normalmente do log.

Ben Bolker, um dos desenvolvedores do lme4, fez dois exemplos de tutorial com isso. O primeiro, com dados sintéticos, entra em detalhes um pouco mais. Você pode encontrar um pdf aqui . Ele também passou por uma análise exploratória de dados com dados reais envolvendo corujas (código PDF e R disponível aqui ).

David J. Harris
fonte
1
+1. Eu concordo com o que você diz. Como mencionei no meu post original: " dispersão excessiva (...) é como você" contorna "a questão de ter tantos grupos quanto observações. " Obrigado por fazer um argumento melhor de glmeruma maneira conceitual.
usεr11852 diz Reinstate Monic
1
Obrigado pelos links! Depois de ler esses e ter um olhar mais atento aos valores ajustados do meu modelo, tenho uma idéia melhor do que está acontecendo. Na verdade, não acho que o que Ben esteja fazendo seja apropriado para minha análise. Ele está usando uma variável no nível de observação para permitir superdispersão, então é como um efeito incômodo. Para minha análise, distributoré um efeito de interesse: quero ver como os distribuidores executam um em relação ao outro ao permitir outras variáveis. Portanto, é mais comparável a um modelo misto linear convencional, onde o excesso de ajustes é uma preocupação genuína.
Hong Ooi