Qual é a diferença entre regressão linear transformada em logit, regressão logística e um modelo misto logístico?

10

Suponha que eu tenha 10 alunos, cada um tentando resolver 20 problemas de matemática. Os problemas são pontuados como corretos ou incorretos (em dados longos) e o desempenho de cada aluno pode ser resumido por uma medida de precisão (em dados subjetivos). Os modelos 1, 2 e 4 abaixo parecem produzir resultados diferentes, mas entendo que eles estejam fazendo a mesma coisa. Por que eles estão produzindo resultados diferentes? (Incluí o modelo 3 para referência.)

library(lme4)

set.seed(1)
nsubjs=10
nprobs=20
subjdata = data.frame('subj'=rep(1:nsubjs),'iq'=rep(seq(80,120,10),nsubjs/5))
longdata = subjdata[rep(seq_len(nrow(subjdata)), each=nprobs), ]
longdata$correct = runif(nsubjs*nprobs)<pnorm(longdata$iq/50-1.4)
subjdata$acc = by(longdata$correct,longdata$subj,mean)
model1 = lm(logit(acc)~iq,subjdata)
model2 = glm(acc~iq,subjdata,family=gaussian(link='logit'))
model3 = glm(acc~iq,subjdata,family=binomial(link='logit'))
model4 = lmer(correct~iq+(1|subj),longdata,family=binomial(link='logit'))
user20061
fonte
Eu também tentei regressão beta, mas tenho um erro ... library(betareg) model5 = betareg(acc~scale(iq),subjdata)
user20061
library(car)é necessário, para a função logit.
usar o seguinte comando
11
Pode ajudá-lo a ler duas das minhas respostas para perguntas relacionadas: Diferença entre modelos logit e probit (que discute funções de link e GLiMs em geral - um comentário no final trata especificamente de 1 e 3), e Diferença entre modelos lineares generalizados e modelos mistos lineares generalizados (que discutem como o seu 4 é diferente de 1 e 3).
gung - Restabelece Monica

Respostas:

15

Os modelos 1 e 2 são diferentes porque o primeiro transforma a resposta e o segundo transforma o valor esperado.

Para o Modelo 1, o logit de cada resposta é normalmente distribuído com sua média sendo uma função linear do preditor e vetores coeficientes. e, portanto, Para o Modelo 2, a resposta em si é normalmente distribuída com o logit de sua média sendo uma função linear do preditor e vetores coeficientes e, portanto,

logitYEuN(μEu,σ2)
μEu=xEuβ
YEu=logit-1 1(xEuβ+εEu)
YEuN(μEu,σ2)
logitμEu=xEuβ
YEu=logit-1 1(xEuβ)+εEu

Portanto, a estrutura de variação será diferente. Imagine simular a partir do Modelo 2: a variação será independente do valor esperado; e embora os valores esperados das respostas estejam entre 0 e 1, nem todas as respostas estarão.

Modelos mistos lineares generalizados como o seu Modelo 4 são diferentes novamente porque contêm efeitos aleatórios: veja aqui e aqui .

Scortchi - Restabelecer Monica
fonte
Muito obrigado - isso distingue claramente o modelo 1 e o modelo 2. Seu raciocínio de que o modelo 2 prevê que algumas pontuações de precisão (embora não sejam os valores esperados) estejam fora [0,1] é especialmente útil (e a desqualifica para meus propósitos) ) Acredito que uma intuição semelhante possa ser usada contra o modelo 1: sua gama de possíveis pontuações de precisão previstas cai entre (0,1) e não [0,1]. Com um número limitado de perguntas, um modelo deve prever algumas pontuações de precisão como 0 ou 1, e uma distribuição binomial pode fazer exatamente isso.
usar o seguinte comando
2
Observe que você geralmente deve ajustar o GLM binomial com o link logit em relação aos dados brutos (seus longdata), não às proporções como no modelo 3.
Scortchi - Reinstate Monica
7

+1 para @ Scortchi, que forneceu uma resposta muito clara e concisa. Eu quero fazer alguns pontos complementares. Primeiro, para o seu segundo modelo, você está especificando que sua distribuição de respostas é gaussiana (também conhecida como normal). Isso deve ser falso, porque cada resposta é pontuada como correta ou incorreta. Ou seja, cada resposta é um julgamento de Bernoulli. Portanto, sua distribuição de respostas é um binômio. Essa ideia também é refletida com precisão no seu código. Em seguida, a probabilidade que governa a distribuição da resposta é normalmente distribuída; portanto, o link deve ser probit, não logit. Por fim, se essa fosse uma situação real, você precisaria considerar efeitos aleatórios para ambos os assuntos e perguntas, pois é extremamente improvável que sejam idênticos. Da maneira como você gerou esses dados, o único aspecto relevante de cada pessoa é o seu QI, pelas quais você explicou explicitamente. Portanto, não resta nada que precise ser explicado por um efeito aleatório no modelo. Isso também se aplica às perguntas, porque variações aleatórias na dificuldade da pergunta não fazem parte do processo de geração de dados no seu código.

Não pretendo ficar aqui aqui. Reconheço que sua configuração foi projetada simplesmente para facilitar sua pergunta e serviu a esse propósito; A @ Scortchi conseguiu responder às suas perguntas diretamente, com o mínimo de barulho. No entanto, aponto essas coisas porque oferecem oportunidades adicionais para entender a situação com a qual você está lidando, e porque você pode não ter percebido que seu código corresponde a algumas partes do seu enredo, mas não a outras.

- Reinstate Monica
fonte
Obrigado por pensamentos cuidadosos sobre o meu código. Como alguém que trabalha com dados empíricos, tenho orgulho de dizer que não tenho experiência em gerar dados falsos, e isso mostra aqui as deficiências que você identificou. Embora, meu nível de entendimento iniciante também possa estar se revelando.
usar o seguinte comando
Obrigado, essa informação extra foi útil e ajuda os outros (pelo menos eu) a entender a situação toda um pouco melhor. Controlar a abordagem GLM é difícil.
Christopher Poile