Suposições da regressão de Poisson e como testá-las em R

11

Gostaria de testar em que regressão se encaixa melhor nos meus dados. Minha variável dependente é uma contagem e possui muitos zeros.

E eu precisaria de ajuda para determinar qual modelo e família usar (poisson ou quasipoisson ou regressão de poisson inflada a zero) e como testar as suposições.

  1. Regressão de Poisson: até onde eu entendo, a forte suposição é que a variável dependente média = variância. Como você testa isso? Quão próximos eles devem estar? A média e a variação incondicionais ou condicionais são usadas para isso? O que faço se essa suposição não se mantiver?
  2. Li que, se a variância for maior que a média, temos sobredispersão, e uma maneira potencial de lidar com isso é incluir variáveis ​​mais independentes, ou família = quaseipoisson. Essa distribuição tem outros requisitos ou suposições? Que teste eu uso para ver se (1) ou (2) se encaixa melhor - simplesmente anova(m1,m2)?
  3. Também li que a distribuição binomial negativa pode ser usada quando a sobredispersão aparece. Como faço isso em R? Qual é a diferença para quasipoisson?
  4. Regressão de Poisson inflada a zero: Li que o teste vuong verifica quais modelos se encaixam melhor.

    > vuong (model.poisson, model.zero.poisson)

    Isso está correto? Que suposições tem uma regressão inflada a zero?

  5. Os Serviços de Tecnologia Acadêmica da UCLA, o Statistical Consulting Group, têm uma seção sobre regressões de Poisson infladas a zero e testam o modelo com inflação zero (a) em relação ao modelo de poisson padrão (b):

    > m.a <- zeroinfl(count ~ child + camper | persons, data = zinb)
    > m.b <- glm(count ~ child + camper, family = poisson, data = zinb)
    > vuong(m.a, m.b)

Não entendo o que a | personsparte do primeiro modelo faz e por que você pode comparar esses modelos. Eu esperava que a regressão fosse a mesma e apenas usasse uma família diferente.

Torvon
fonte

Respostas:

8

1) Calcule a média e a variação da amostra. deve ser distribuído, onde é o tamanho da amostra e o processo é verdadeiramente Poisson - uma vez que são estimativas independentes da mesma variância. F(1,n-1)nX¯S2F(1,n1)n

Observe que este teste ignora as covariáveis ​​- portanto, provavelmente não é a melhor maneira de verificar a dispersão excessiva nessa situação.

Observe também que esse teste provavelmente é fraco contra a hipótese de inflação zero.

3) binomial negativo em R: use glm.nbdo MASSpacote ou use a zeroinflfunção do psclpacote usando o link binomial negativo.

4) zip (Poisson inflado a zero) é um modelo de mistura. Você tem um resultado binário, segundo o qual um sujeito pertence ao grupo A (onde um 0 é certo) ou ao grupo B (onde as contagens são Poisson ou binomial neg distribuídas). Um 0 observado é devido a indivíduos do grupo A + do grupo B que tiveram sorte. Ambos os aspectos do modelo podem depender de covariáveis: a associação ao grupo é modelada como uma logística (as chances do log são lineares nas covariáveis) e a parte de Poisson é modelada da maneira usual: a média do log é linear nas covariáveis. Portanto, você precisa das suposições usuais para uma logística (para a parte 0 certa) e das suposições usuais para um Poisson. Em outras palavras, um modelo zip não curará seus problemas de super-dispersão - apenas cura um grande número de zeros.

5) não sabe ao certo qual é o conjunto de dados e não conseguiu encontrar a referência. zeroinfl precisa de um modelo para a parte de Poisson e a parte binária (certo 0 ou não). A parte 0 certa fica em segundo. Então, mamãe está dizendo que se a pessoa é ou não um certo 0 depende de "pessoas" - e assumindo que o sujeito não seja um certo 0, a contagem é uma função do campista e da criança. Em outras palavras, log (média) é uma função linear de campista e criança para os indivíduos que não exigem contagem de 0.

mb é apenas um modelo linear geral de contagem em termos de campista e criança - ambos assumidos como efeitos fixos. A função de link é Poisson.

Placidia
fonte
Obrigado! Uma pergunta rápida: existe uma maneira de produzir r ^ 2 ou pseudo-r ^ 2 como Nagelkerke em glm usando family = poisson em R? Obrigado!
Torvon
0
  1. biblioteca (pastecs)

stat.desc (dep_var) - e verifique se a média e a variância são iguais. A partir daqui, você também pode calcular a% de zeros no seu vetor.

fingerman
fonte
3
Bem vindo ao site. Isso é mais um comentário do que uma resposta; Além disso, é melhor usar a ortografia adequada e assim por diante - isso não é um texto e muitas pessoas que lêem este site têm o inglês como segundo ou terceiro ou .... idioma.
Peter Flom - Restabelece Monica
3
Por favor, trabalhe para melhorar esta resposta rápida.
chl