Escolha o melhor modelo entre logit, probit e nls

8

Estou analisando um determinado conjunto de dados e preciso entender como escolher o melhor modelo que se ajusta aos meus dados. Estou usando R.

Um exemplo de dados que tenho é o seguinte:

corr <- c(0, 0, 10, 50, 70, 100, 100, 100, 90, 100, 100)

Esses números correspondem à porcentagem de respostas corretas, sob 11 condições diferentes ( cnt):

cnt <- c(0, 82, 163, 242, 318, 390, 458, 521, 578, 628, 673)

Primeiramente, tentei ajustar um modelo probit e um modelo logit. Só agora encontrei na literatura outra equação para ajustar dados semelhantes aos meus, então tentei ajustar meus dados, usando a nlsfunção, de acordo com essa equação (mas não concordo com isso, e o autor não explica por que ele usou essa equação).

Aqui está o código para os três modelos que recebo:

resp.mat <- as.matrix(cbind(corr/10, (100-corr)/10))
ddprob.glm1 <- glm(resp.mat ~ cnt, family = binomial(link = "logit"))
ddprob.glm2 <- glm(resp.mat ~ cnt, family = binomial(link = "probit"))

ddprob.nls <- nls(corr ~ 100 / (1 + exp(k*(AMP-cnt))), start=list(k=0.01, AMP=5))

Agora plotei dados e as três curvas ajustadas:

pcnt <- seq(min(cnt), max(cnt), len = max(cnt)-min(cnt)) 
pred.glm1 <- predict(ddprob.glm1, data.frame(cnt = pcnt), type = "response", se.fit=T) 
pred.glm2 <- predict(ddprob.glm2, data.frame(cnt = pcnt), type = "response", se.fit=T) 
pred.nls <- predict(ddprob.nls, data.frame(cnt = pcnt), type = "response", se.fit=T)

plot(cnt, corr, xlim=c(0,673), ylim = c(0, 100), cex=1.5)
lines(pcnt, pred.nls, lwd = 2, lty=1, col="red", xlim=c(0,673))
lines(pcnt, pred.glm2$fit*100, lwd = 2, lty=1, col="black", xlim=c(0,673)) #$
lines(pcnt, pred.glm1$fit*100, lwd = 2, lty=1, col="green", xlim=c(0,673))

Agora, gostaria de saber: qual é o melhor modelo para meus dados?

  • probit
  • logit
  • nls

O logLik para os três modelos são:

> logLik(ddprob.nls)
'log Lik.' -33.15399 (df=3)
> logLik(ddprob.glm1)
'log Lik.' -9.193351 (df=2)
> logLik(ddprob.glm2)
'log Lik.' -10.32332 (df=2)

O logLik é suficiente para escolher o melhor modelo? (Seria o modelo de logit, certo?) Ou há algo mais que eu precise calcular?

Tommaso
fonte
Eu escrevi sobre a escolha entre logit e probit aqui , que você pode querer ler (embora nlsseja diferente e não seja abordado aqui).
gung - Restabelece Monica
@ gung Eu já li sua ótima explicação lá, então obrigado! Meu problema é especialmente em relação ao nlsmodelo e à comparação com glm. Esta é a razão pela qual eu (re) postou uma pergunta semelhante :)
Tommaso
2
Eu tenho menos certeza sobre o nls, vamos ver o que as pessoas dizem. Em relação aos GLiM, eu diria que você deve usar o logit se achar que suas covariáveis ​​se conectam diretamente à resposta, e probit se achar que é mediado por uma variável latente normalmente distribuída.
gung - Restabelece Monica
2
Olá, Tommaso, estou confuso sobre de onde vem essa regra de ouro que você citou no artigo, mas na verdade eu não cliquei no link, por isso não vou julgar isso. Eu diria que o modelo logístico é bom porque os coeficientes têm uma boa interpretação - como log odds ratio. Quando você está tentando fazer decomposições de variância (por exemplo, se você tiver agrupado dados e está tentando quantificar o nível de dependência dentro dos dados), o modelo probit possui algumas boas propriedades, pois as correlações no contínuo subjacente (normal, como apontado por gung) fora), são identificados.
Macro
3
Os logliks que você obtém do R acima NÃO são comparáveis ​​entre os diferentes tipos de modelo (eles deixam de fora as constantes que não dependem dos parâmetros!); Portanto, não são úteis para você aqui.
Kjetil b halvorsen

Respostas:

1

A questão de qual modelo usar tem a ver com o objetivo da análise.

Se o objetivo é desenvolver um classificador para prever resultados binários, então (como você pode ver), esses três modelos são aproximadamente os mesmos e fornecem aproximadamente o mesmo classificador. Isso o torna um ponto discutível, pois você não se importa com o modelo que desenvolve o seu classificador e pode usar a validação cruzada ou a validação de amostra dividida para determinar qual modelo tem o melhor desempenho em dados semelhantes.

Em inferência, todos os modelos estimam diferentes parâmetros do modelo. Todos os três modelos de regressão são casos especiais de GLMs que usam uma função de link e uma estrutura de variação para determinar a relação entre um resultado binário e (neste caso) um preditor contínuo. O NLS e o modelo de regressão logística usam a mesma função de link (o logit), mas o NLS minimiza o erro ao quadrado no ajuste da curva S, onde, como a regressão logística, é uma estimativa de probabilidade máxima dos dados do modelo sob a suposição do modelo linear para probabilidades do modelo e a distribuição binária dos resultados observados. Não consigo pensar em uma razão pela qual consideraríamos o NLS útil para inferência.

A regressão probit usa uma função de link diferente, que é a função de distribuição normal cumulativa. Isso "diminui" mais rapidamente que um logit e é frequentemente usado para inferir dados binários que são observados como um limite binário de resultados normalmente distribuídos contínuos não observados.

Empiricamente, o modelo de regressão logística é usado com muito mais frequência para análise de dados binários, pois o coeficiente do modelo (odds ratio) é fácil de interpretar, é uma técnica de máxima verossimilhança e possui boas propriedades de convergência.

AdamO
fonte