Por que usar o link logit na regressão beta?

14

Recentemente, tenho me interessado em implementar um modelo de regressão beta, para um resultado proporcional. Observe que esse resultado não se encaixaria em um contexto binomial, porque não há um conceito significativo de "sucesso" discreto nesse contexto. De fato, o resultado é na verdade uma proporção de durações; o numerador é o número de segundos enquanto uma determinada condição está ativa durante o número total de segundos durante os quais a condição foi qualificada para estar ativa. Peço desculpas pelos caprichos, mas não quero me concentrar muito nesse contexto preciso, porque percebo que há várias maneiras de modelar esse processo além da regressão beta e, por enquanto, estou mais interessado especificamente em questões teóricas. perguntas que surgiram em minhas tentativas de implementar esse modelo (embora eu seja, é claro,

De qualquer forma, todos os recursos que pude encontrar indicaram que a regressão beta normalmente é adequada usando um link logit (ou probit / cloglog) e os parâmetros interpretados como alterações nas probabilidades de log. No entanto, ainda não encontrei uma referência que realmente forneça qualquer justificativa real para o motivo de alguém querer usar esse link.

O artigo original de Ferrari & Cribari-Neto (2004) não fornece uma justificativa; eles observam apenas que a função logit é "particularmente útil", devido à interpretação do odds ratio dos parâmetros exponenciados. Outras fontes aludem a um desejo de mapear do intervalo (0,1) para a linha real. No entanto, precisamos necessariamente de uma função de link para esse mapeamento, já que já estamos assumindo uma distribuição beta? Quais benefícios a função de link oferece acima e além das restrições impostas ao assumir a distribuição beta para começar?Realizei algumas simulações rápidas e não vi previsões fora do intervalo (0,1) com um link de identidade, mesmo ao simular a partir de distribuições beta cuja massa de probabilidade é amplamente agrupada perto de 0 ou 1, mas talvez minhas simulações não foram gerais o suficiente para detectar algumas das patologias.

Parece-me baseado em como os indivíduos, na prática, interpretam as estimativas de parâmetros dos modelos de regressão beta (ou seja, como odds ratio) que eles estão implicitamente fazendo inferência com relação às chances de um "sucesso"; isto é, eles estão usando regressão beta como substituto de um modelo binomial. Talvez isso seja apropriado em alguns contextos, dada a relação entre distribuições beta e binomial, mas parece-me que esse deveria ser um caso mais especial do que o geral. Em esta pergunta, uma resposta é fornecido para interpretar o odds ratio com respeito à proporção contínua e não o resultado, mas parece-me ser complicado desnecessariamente para tentar interpretar as coisas desta forma, em vez de usar, digamos, um log ou link de identidade e interpretação de% de alterações ou turnos de unidade.

Então, por que usamos o link logit para modelos de regressão beta? É simplesmente uma questão de conveniência relacioná-lo aos modelos binomiais?

Ryan Simmons
fonte

Respostas:

8

g(μ):(0,1)Rμ^=g1(xβ^)(0,1)x

library("betareg")
data("GasolineYield", package = "betareg")
betareg(yield ~ batch + temp, data = GasolineYield, link = make.link("identity"))
## Error in optim(par = start, fn = loglikfun, gr = if (temporary_control$use_gradient) gradfun else NULL,  : 
##   initial value in 'vmmin' is not finite

Mas, é claro, pode-se simplesmente tentar as duas opções e ver se ocorrem problemas com o link de identidade e / ou se melhora o ajuste do modelo.

μ^=0.01xμ^0.02. Mas isso geralmente é tratado de maneira muito desleixada nesses cenários. Portanto, eu argumentaria que, para um modelo de resposta limitado, os parâmetros de qualquer função de link precisam ser interpretados com cuidado e podem precisar de alguma prática. Meu conselho habitual é, portanto (como mostrado na outra discussão que você vinculou na sua pergunta), examinar os efeitos para configurações de regressores de interesse. Estes são mais fáceis de interpretar e frequentemente (mas nem sempre) bastante semelhantes (de uma perspectiva prática) para diferentes funções de link.

Achim Zeileis
fonte
10

É incorreto que a regressão logística possa ser usada apenas para modelar dados binários de resultados. O modelo de regressão logística é apropriado para todos os dados em que 1) o valor esperado do resultado segue uma curva logística em função dos preditores 2) a variação do resultado é o resultado esperado vezes um menos o resultado esperado (ou alguma proporção do mesmo) 3) (conseqüência de 2) os dados variam entre 0 e 1. Essas propriedades certamente são válidas para os dados de Bernoulli. Mas deve-se realizar algumas estatísticas e parcelas exploratórias antes de desacreditar imediatamente o modelo logístico como um meio viável (e fácil de implementar / explicar) para responder a uma pergunta científica.

Um modelo de regressão logística é um caso especial do modelo linear generalizado (GLM), que significa que estimativas e inferência consistentes de parâmetros são dadas pelo modelo. Modelos logísticos são usados ​​para modelar proporções, variáveis ​​ordinais, taxas, notas nos exames, classificações e todo tipo de resultado não binário em vários lugares da literatura.

Lamentamos que essa resposta não direcione sua pergunta mais tarde, mas afirmar o raciocínio anterior traz um equívoco que vale a pena abordar.

Muitos usuários do R sugeriram que o "aviso" resultante da adaptação de uma resposta contínua aos modelos logísticos fosse suprimido. Uma maneira "no meio da estrada" é mudar family=binomialpara family=quasibinomial. Um exemplo de simulação desses dados, ajuste de um modelo e obtenção de inferência correta é mostrado aqui:

set.seed(123)
## logistic non-binary response
x <- rep(c(-2, 0, 2), each=50)
n <- length(x)
b0 <- 0
b1 <- 0.3
yhat <- plogis(b0 + b1*x)

do.one <- function(){
  e <- rnorm(n, 0, yhat*(1-yhat))
  y <- yhat + e

  yfixed <- pmin(y, 1)
  yfixed <- pmax(yfixed, 0)

  est <- glm(yfixed ~ x, family=quasibinomial())
  ci <- confint.default(est, level = 0.9)
  cov0 <- b0 > ci[1,1] & b0 < ci[1,2]
  cov1 <- b1 > ci[2,1] & b1 < ci[2,2]
  c(cov0, cov1)
}

reg <- replicate(10000, do.one())
rowMeans(reg)

Oferece uma cobertura precisa de 90% dos ICs

AdamO
fonte
1
Aprecio o esclarecimento dado sobre o modelo de regressão logística. Você está certo de que é um modelo mais geral do que geralmente se supõe. Estou hesitante para aceitar isso como uma resposta, no entanto, porque parece que ele não bastante desenvolver a linha de raciocínio suficiente. Parece-me que você está dizendo que minhas preocupações com o link de logit em um modelo beta são infundadas, porque um link de logit funciona bem em dados não binários. Qual é uma postura razoável, mas acho que não entendi bem a essência da minha pergunta sobre por que usamos o logit em um modelo beta e como interpretá-lo.
Ryan Simmons
1
@RyanSimmons Obrigado pelo feedback. Eu concordo com o seu raciocínio aqui. Penso que qualquer "oportunidade de aprender" merece uma resposta e, portanto, uma pergunta pode ter muitas respostas possíveis com graus variados de "retidão". Não toquei na sua pergunta, que é boa, portanto a resposta "mais correta" pode aparecer ainda. Eu mesmo estou curioso sobre isso, então estou tentando ler um pouco mais sobre o assunto.
28418 AdamO