Regressione beta dei dati proporzionali inclusi 1 e 0


19

Sto cercando di produrre un modello per il quale ho una variabile di risposta che è una proporzione tra 0 e 1, che include un bel po 'di 0 e 1 ma anche molti valori in mezzo. Sto pensando di provare una regressione beta. Il pacchetto che ho trovato per R (betareg) consente solo valori compresi tra 0 e 1 ma non include 0 o 1. Ho letto altrove che teoricamente la distribuzione beta dovrebbe essere in grado di gestire i valori di 0 o 1 ma non so come gestirlo in RI ho visto alcune persone aggiungere 0,001 agli zeri e prendere 0,001 da quelli, ma non lo sono sicuro questa è una buona idea?

In alternativa, potrei eseguire il logit per trasformare la variabile di risposta e utilizzare la regressione lineare. In questo caso ho lo stesso problema con gli 0 e 1 che non possono essere trasformati nel registro.


Conoscere i conteggi, non solo le proporzioni, è fondamentale, qualunque cosa tu faccia. Ma una volta che hai i conteggi, il primo modello da considerare, anche se è solo un punto di partenza, è la regressione logistica.
whuber

Bene, una beta è tra 0 e 1 ( quasi sicuramente ). Se li osservi, dovresti utilizzare un modello che dia la possibilità di osservare il tuo campione. Un paio di risposte sembrano coprire quel tipo di approccio; Vorrei iniziare con loro.
Glen_b

Risposte:


18

È possibile utilizzare modelli di regressione beta zero e / o uno che combinano la distribuzione beta con una distribuzione degenerata per assegnare una probabilità rispettivamente a 0 e 1. Per i dettagli, consultare i seguenti riferimenti:

Ospina, R. e Ferrari, SLP (2010). Distribuzioni beta gonfiate. Statistical Papers, 51 (1), 111-126. Ospina, R. e Ferrari, SLP (2012). Una classe generale di modelli di regressione beta gonfiati pari a zero o uno. Statistica computazionale e analisi dei dati, 56 (6), 1609-1623.

Questi modelli sono facili da implementare con il pacchetto gamlss per R.


Hai un esempio di come implementarli su R?
Ouistiti,

2
@Ouistiti il zoibpacchetto lo fa facilmente.
Mark White,

11

La documentazione per il betaregpacchetto R menziona questo

se y assume anche gli estremi 0 e 1, una trasformazione utile in pratica è (y * (n − 1) + 0,5) / n dove n è la dimensione del campione.

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

Danno il riferimento Smithson M, Verkuilen J (2006). "Un migliore spremiagrumi? Regressione massima verosimiglianza con variabili dipendenti dalla distribuzione beta." Metodi psicologici, 11 (1), 54–71.


1

Non fai una trasformazione logit per rendere la variabile che va da meno infinito a più infinito? Non sono sicuro che i dati con 0 e 1 debbano essere un problema. Questo mostra qualche messaggio di errore? A proposito, se hai solo proporzioni la tua analisi verrà sempre fuori sbagliata. È necessario utilizzare weight=argumentper glmil numero di casi.

Se non funziona nulla, puoi usare una divisione mediana o una divisione quartile o qualsiasi punto di taglio che ritieni appropriato per suddividere il DV in diverse categorie e quindi eseguire una regressione logistica ordinale. Potrebbe funzionare. Prova queste cose.

Non penso personalmente che aggiungere 0,001 agli zeri e prendere 0,001 da quelli sia una pessima idea, ma ha alcuni problemi che verranno discussi più avanti. Basti pensare, perché non aggiungere e sottrarre 0,000000001 (o anche più dei decimali)? Ciò rappresenterà meglio 0 e 1 !! Potrebbe sembrarti che non faccia molta differenza. Ma in realtà lo fa.

Vediamo quanto segue:

> #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

Quindi, vedete, è necessario mantenere le probabilità vicine a (0/1) e (1/0). Ti aspetti che le probabilità del registro siano comprese tra meno infinito e più infinito. Quindi, per aggiungere o sottrarre, è necessario scegliere fino a un decimale davvero lungo, in modo che le probabilità del registro si avvicinino all'infinito (o molto grande) !! La misura che considererai abbastanza grande, dipende esclusivamente da te.


1

Dai un'occhiata a quanto segue, in cui è menzionata una trasformazione ad hoc maartenbuis.nl/presentations/berlin10.pdf nella diapositiva 17. Puoi anche modellare 0 e 1 con due regressioni logistiche separate e quindi utilizzare la regressione Beta per coloro che non sono al limite.


1
(y*(n-1)+0.5)/nn

0

pp

un',Bun',B .

X1,...,XnnΣj[ψ(ΣioXio)-ψ(Xj)] e Σj[ψ(Σio1-Xio)-ψ(1-Xj)]. Questi sono i parametri di una distribuzione sui parametri della tua distribuzione beta, che modellano le tue proporzioni.


1
Potresti voler partecipare a questo thread Meta. stats.meta.stackexchange.com/questions/5814/…
Sycorax dice
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.