Regressão beta de dados de proporção, incluindo 1 e 0


19

Estou tentando produzir um modelo para o qual tenho uma variável de resposta que é uma proporção entre 0 e 1, isso inclui alguns 0s e 1s, mas também muitos valores no meio. Estou pensando em tentar uma regressão beta. O pacote que encontrei para R (betareg) permite apenas valores entre 0 e 1, mas não incluindo 0 ou 1 eles mesmos. Eu li em outro lugar que, teoricamente, a distribuição beta deve ser capaz de lidar com valores de 0 ou 1, mas não sei como lidar com isso no RI. Algumas pessoas adicionam 0,001 aos zeros e recebem 0,001 desses, mas não sou. com certeza é uma boa ideia?

Alternativamente, eu poderia logit transformar a variável de resposta e usar regressão linear. Nesse caso, tenho o mesmo problema com os 0 e 1 que não podem ser transformados em log.


Conhecer as contagens - e não apenas as proporções - é crucial, não importa o que você faça. Mas, depois de ter as contagens, o primeiro modelo a considerar, mesmo que seja apenas um ponto de partida, é a regressão logística.
whuber

Bem, uma versão beta está entre 0 e 1 ( quase certamente ). Se você os observar, deverá usar um modelo que dê a chance de observar sua amostra. Algumas respostas parecem cobrir esse tipo de abordagem; Eu começaria com eles.
Glen_b -Replica Monica

Respostas:


18

Você pode usar modelos de regressão beta inflados com zero e / ou um que combinam a distribuição beta com uma distribuição degenerada para atribuir alguma probabilidade a 0 e 1, respectivamente. Para detalhes, consulte as seguintes referências:

Ospina, R. e Ferrari, SLP (2010). Distribuições beta infladas. Artigos Estatísticos, 51 (1), 111-126. Ospina, R. e Ferrari, SLP (2012). Uma classe geral de modelos de regressão beta inflados com zero ou um. Estatística Computacional e Análise de Dados, 56 (6), 1609-1623.

Esses modelos são fáceis de implementar com o pacote gamlss para R.


Você tem um exemplo de como implementá-los no R?
Ouistiti

2
@Ouistiti o zoibpacote faz isso facilmente.
Mark White

11

A documentação para o betaregpacote R menciona que

se y também assume os extremos 0 e 1, uma transformação útil na prática é (y * (n − 1) + 0,5) / n onde n é o tamanho da amostra.

http://cran.r-project.org/web/packages/betareg/vignettes/betareg.pdf

Eles dão a referência Smithson M, Verkuilen J (2006). "Um espremedor de limão melhor? Regressão de máxima verossimilhança com variáveis ​​dependentes distribuídas por beta". Psychological Methods, 11 (1), 54–71.


1

Você não faz uma transformação de logit para fazer a variável variar de menos infinito a mais infinito? Não tenho certeza se os dados com 0 e 1 devem ser um problema. Isso está mostrando alguma mensagem de erro? A propósito, se você tiver apenas proporções, sua análise sempre sairá errada. Você precisa usar weight=argumentpara glmcom o número de casos.

Se nada funcionar, você pode usar uma divisão mediana ou quartil ou qualquer ponto de corte que julgue apropriado para dividir o DV em várias categorias e, em seguida, executar uma regressão logística Ordinal. Isso pode funcionar. Tente estas coisas.

Pessoalmente, não acho que adicionar 0,001 aos zeros e retirar 0,001 dos sejam uma péssima idéia, mas há alguns problemas que serão discutidos mais adiante. Pense, por que você não adiciona e subtrai 0,000000001 (ou até mais decimais)? Isso representará melhor 0 e 1 !! Pode parecer que não faz muita diferença. Mas ele realmente faz.

Vamos ver o seguinte:

> #odds when 0 is replaced by 0.00000001

> 0.00000001/(1-0.00000001)
[1] 1e-08
> log(0.00000001/(1-0.00000001))
[1] -18.42068

> #odds when 1 is replaced by (1-0.00000001):

> (1-0.00000001)/(1-(1-0.00000001))
[1] 1e+08
> log((1-0.00000001)/(1-(1-0.00000001)))
[1] 18.42068

> #odds when 0 is replaced by 0.001

> 0.001/(1-0.001)
[1] 0.001001001
> log(0.001/(1-0.001))
[1] -6.906755

> #odds when 1 is replaced by (1-0.001):

> (1-0.001)/(1-(1-0.001))
[1] 999
> log((1-0.001)/(1-(1-0.001)))
[1] 6.906755

Então, veja, você precisa manter as probabilidades tão próximas quanto (0/1) e (1/0). Você espera que as probabilidades de log variem de menos infinito a mais infinito. Portanto, para adicionar ou subtrair, você precisa escolher uma casa decimal realmente muito longa, para que as probabilidades do log fiquem próximas ao infinito (ou muito grandes) !! A extensão que você considerará grande o suficiente depende exclusivamente de você.


1

Confira o seguinte, onde uma transformação ad hoc é mencionada maartenbuis.nl/presentations/berlin10.pdf no slide 17. Você também pode modelar 0 e 1 com duas regressões logísticas separadas e, em seguida, usar a regressão Beta para aqueles que não estão no limite.


1
(y(n1)+0.5)/nn é o tamanho da amostra"
Max Gordon

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.