Come implementare un modello misto usando la funzione betareg in R?


12

Ho un set di dati composto da proporzioni che misurano il "livello di attività" dei singoli girini, rendendo quindi i valori legati tra 0 e 1. Questi dati sono stati raccolti contando il numero di volte in cui l'individuo si è mosso entro un certo intervallo di tempo (1 per movimento, 0 per nessun movimento), quindi mediato per creare un valore per individuo. Il mio principale effetto fisso sarebbe "livello di densità".

Il problema che sto affrontando è che ho una variabile fattore, "pond", che vorrei includere come effetto casuale - non mi importa delle differenze tra gli stagni, ma vorrei spiegarli statisticamente. Un punto importante riguardo agli stagni è che ne ho solo 3 e capisco che è l'ideale avere più livelli di fattore (5+) quando si ha a che fare con effetti casuali.

Se è possibile farlo, vorrei alcuni consigli su come implementare un modello misto usando betareg()o betamix()in R. Ho letto i file di aiuto R, ma di solito li trovo difficili da capire (cosa significa veramente ogni parametro argomento nel contesto dei miei dati E cosa significano i valori di output in termini ecologici) e quindi tendo a funzionare meglio tramite esempi.

Su una nota correlata, mi chiedevo se posso invece usare una glm()famiglia binomiale sotto, e un collegamento logit, per realizzare la contabilità di effetti casuali con questo tipo di dati.


no, non puoi inserire termini di errore in glm (). Che ne dici di logit che trasforma la tua risposta e considerando un modello misto lineare?
utobi,

@utobi Grazie, ci proverò. Quindi, non hai problemi ad avere un effetto casuale con solo 3 livelli?
Kat Y,

Non conosco il significato della tua variabile "stagno", ma se hai misure ripetute, gli effetti casuali sono quasi un must. Nel caso in cui non abbiate misure ripetute, qui random vs fixed è un dibattito aperto. Tre livelli di effetti casuali possono essere ok, in linea di principio la loro varianza è stimabile. Ti consiglio di controllare la letteratura nel tuo campo. Un bel libro che discute sugli effetti casuali e fissi è stat.columbia.edu/~gelman/arm .
utobi,

1
@utobi grazie per il tuo consiglio. È stato utile. Guarderò quel libro! Ho finito per fare trasformazioni logit e ho usato lmer ().
Kat Y

Risposte:


11

Le attuali capacità di betaregnon includono effetti casuali / misti. In betareg()puoi includere solo effetti fissi, ad es. Per la tua variabile pond a tre livelli. La betamix()funzione implementa una regressione beta della miscela finita , non una regressione beta a effetti misti .

Nel tuo caso, vorrei prima provare a vedere quale effetto ha un fattore di stagno fisso. Questo "ti costa" due gradi di libertà mentre un effetto casuale sarebbe leggermente più economico con un solo ulteriore grado di libertà. Ma sarei sorpreso se i due approcci portassero a intuizioni qualitative molto diverse.

Infine, mentre glm()non supporta la regressione beta, ma nel mgcvpacchetto è presente la betar()famiglia che può essere utilizzata con la gam()funzione.


Grazie per il tuo contributo. Hai chiarito alcuni aspetti delle funzioni di betareg. A questo punto ho seguito il consiglio di @utobi e ho effettuato le trasformazioni del logit in modo da poter usare lmer (). Esaminerò gam () poiché anche il mio prossimo set di dati è compreso tra 0 e 1 e non riesco a normalizzare le distribuzioni tramite trasformazioni :)
Kat Y

1
Mi aspetto che gli approcci restituiscano risultati simili ma anche alcune differenze dalle quali potresti imparare qualcosa. Quindi consiglierei di provare tutti e tre, cioè betaregcon effetti fissi, logit-trasformati lmercon effetti casuali e gamcon betar. (E anche: se la risposta fosse utile, considera la possibilità di votarla o accettarla.)
Achim Zeileis,

15

Il pacchetto glmmTMB può essere utile per chiunque abbia una domanda simile. Ad esempio, se si desidera includere pond dalla domanda precedente come effetto casuale, il codice seguente farebbe il trucco:

glmmTMB(y ~ 1 + (1|pond), df, family=list(family="beta",link="logit"))

Benvenuti nel CV. Grazie per il tuo contributo. Questo è piuttosto un commento che una risposta. Puoi estendere la tua risposta per favore?
Ferdi,

Scusate il ritardo, non ho visto immediatamente il commento. Spero possa aiutare.
Kori K,

3

Questo è iniziato come un commento, ma è andato a lungo. Non penso che un modello di effetti casuali sia appropriato qui. Ci sono solo 3 stagni: vuoi stimare una varianza da 3 numeri? È un po 'quello che succede con un modello di effetti casuali. Immagino che gli stagni siano stati scelti in ragione della loro convenienza per il ricercatore, e non come un campione casuale di "Stagni delle Americhe".

Il vantaggio di un modello di effetti casuali è che ti permette di costruire un intervallo di confidenza sulla risposta (livello di attività) che tenga conto della variazione pond-to-pond. Un modello a effetti fissi - in altre parole, trattando il laghetto come un blocco - regola la risposta per l'effetto del laghetto. Se ci fosse qualche effetto di trattamento aggiuntivo - diciamo due specie di rana in ogni stagno - il blocco riduce l'errore quadratico medio (denominatore del test F) e consente all'effetto del trattamento di risplendere.

In questo esempio, non esiste alcun effetto terapeutico e il numero di stagni è troppo piccolo per un modello di effetti casuali (e probabilmente troppo "non casuale"), quindi non sono sicuro di quali conclusioni si possano trarre da questo studio. Si potrebbe ottenere una bella stima della differenza tra gli stagni, ma questo è tutto. Non vedo inferenze attirate dalla più ampia popolazione di rane in altri ambienti di stagno. Uno potrebbe inquadrarlo come uno studio pilota, suppongo.

Tieni presente che qualsiasi uso di un modello di effetti casuali qui fornirà una stima molto inaffidabile per la varianza dello stagno e deve essere usato con cautela.

Ma per quanto riguarda la tua domanda originale: non è più un problema di tasso? La distribuzione di riferimento per eventi per unità di tempo è il Poisson. Quindi potresti fare la regressione di Poisson usando i conteggi con l'intervallo di tempo come offset.

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.