Confronto di modelli di effetti misti e fissi (test di significatività di effetti casuali)


10

Date tre variabili, ye x, che sono continue positive e z, che è categorico, ho due modelli candidati dati da:

fit.me <- lmer( y ~ 1 + x + ( 1 + x | factor(z) ) )

e

fit.fe <- lm( y ~ 1 + x )

Spero di confrontare questi modelli per determinare quale modello è più appropriato. Mi sembra che in un certo senso fit.fesia annidato dentro fit.me. In genere, quando si verifica questo scenario generale, è possibile eseguire un test chi-quadrato. In R, possiamo eseguire questo test con il seguente comando,

anova(fit.fe,fit.me)

Quando entrambi i modelli contengono effetti casuali (generati lmerdal lme4pacchetto), il anova()comando funziona correttamente. A causa dei parametri limite, è normalmente consigliabile testare la statistica Chi-Square risultante tramite simulazione, tuttavia, è ancora possibile utilizzare la statistica nella procedura di simulazione.

Quando entrambi i modelli contengono solo effetti fissi, questo approccio --- e il anova()comando associato --- funzionano bene.

Tuttavia, quando un modello contiene effetti casuali e il modello ridotto contiene solo effetti fissi, come nello scenario sopra, il anova()comando non funziona.

Più specificamente, ottengo il seguente errore:

 > anova(fit.fe, fit.me)
 Error: $ operator not defined for this S4 class

C'è qualcosa di sbagliato nell'usare l'approccio Chi-Square dall'alto (con la simulazione)? O è semplicemente un problema di anova()non saper gestire i modelli lineari generati da diverse funzioni?

In altre parole, sarebbe opportuno generare manualmente la statistica Chi-Square derivata dai modelli? In tal caso, quali sono i gradi di libertà adeguati per confrontare questi modelli? Secondo i miei calcoli:

F=((SSEreducedSSEfull)/(pk))((SSEfull)/(np1))Fpk,np1

Stiamo stimando due parametri nel modello a effetti fissi (pendenza e intercetta) e altri due parametri (parametri di varianza per la pendenza casuale e intercettazione casuale) nel modello a effetti misti. In genere, il parametro intercetta non viene conteggiato nel calcolo dei gradi di libertà, quindi ciò implica che e ; detto che non sono sicuro se i parametri di varianza per i parametri degli effetti casuali debbano essere inclusi nel calcolo dei gradi di libertà; le stime di varianza per i parametri a effetto fisso non sono prese in considerazione , ma ritengo che ciò sia dovuto al fatto che le stime dei parametri per gli effetti fissi sono considerate costanti sconosciute mentre sono considerate variabili casuali inconoscibilip = k + 2 = 3k=1p=k+2=3per effetti misti. Gradirei un po 'di assistenza su questo problema.

Infine, qualcuno ha una soluzione più appropriata ( Rbasata su) per confrontare questi modelli?


4
Se si sostituisce lm()con gls()dal nlmepacchetto e lmer()con lme()(di nuovo dal nlmepacchetto), tutto funzionerà correttamente. Si noti tuttavia che si otterrà un test conservativo ( valori p troppo grandi ), poiché i parametri per il modello più semplice si trovano al limite dello spazio parametri. E davvero la scelta se includere gli effetti casuali dovrebbe essere basata sulla teoria (ad esempio, il piano di campionamento), non su un test statistico.
Karl Ove Hufthammer,

1
Cosa vuoi fare con i modelli? Un modello può essere migliore per alcuni scopi e l'altro modello meglio per altri scopi. Tutti i modelli sono sbagliati, quindi la domanda non è quale modello sia giusto, ma quale sia più utile per il tuo problema specifico.
Kodiologo

1
@Kodiologist Fondamentalmente, voglio garantire che le stime dei parametri per gli effetti fissi siano affidabili. I cui errori standard possono essere inaffidabili se si presume che le osservazioni siano indipendenti. Inoltre, sarebbe bello fare alcune affermazioni su come sia la variabile l'effetto casuale, ma immagino che questo non sia altrettanto essenziale.
user9171

2
@ user9171 Un buon modo per verificare la stabilità (affidabilità) nelle stime dei parametri di un modello è utilizzare il bootstrap. Distribuzioni di bootstrap grafiche per ogni parametro condiviso dai due modelli, con un grafico per parametro e modello. Distribuzioni più strette implicano una maggiore stabilità. Probabilmente scoprirai che il modello più semplice produce stime più stabili, poiché un minor numero di parametri consente una stima più precisa di ciascun parametro.
Kodiologo

Risposte:


6

Tecnicamente, puoi farlo funzionare semplicemente cambiando l'ordine dei parametri:

> anova(fit.me, fit.fe) 

Funzionerà bene. Se passi un oggetto generato per lmerprimo, anova.merModverrà chiamato invece di anova.lm(che non sa come gestire gli lmeroggetti). Vedere:

?anova.merMod

Tuttavia, la scelta di un modello misto o di un modello fisso è una scelta di modellazione che deve prendere in considerazione il progetto sperimentale, non un problema di selezione del modello. Vedi https://bbolker.github.io/miBedker @ BenBolker @misc/glmmFAQ.html#testing-significance-of-random-effects per maggiori dettagli:

Considera di non testare il significato degli effetti casuali.


+1. Mi sono preso la libertà di inserire un link alle FAQ di @ BenBolker che contiene ulteriori discussioni e riferimenti.
ameba,
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.