Spero che questa sia una domanda a cui qualcuno qui può rispondere per me sulla natura della scomposizione di somme di quadrati da un modello a effetti misti adatto lmer
(dal pacchetto lme4 R).
Prima di tutto, dovrei dire che sono a conoscenza della controversia con l'utilizzo di questo approccio e in pratica avrei più probabilità di usare un LRT avviato per confrontare i modelli (come suggerito da Faraway, 2006). Tuttavia, sono perplesso su come replicare i risultati, e quindi per la mia sanità mentale ho pensato di chiedere qui.
Fondamentalmente, sto imparando a usare modelli di effetti misti adatti al lme4
pacchetto. So che è possibile utilizzare il anova()
comando per fornire un riepilogo del test sequenziale degli effetti fissi nel modello. Per quanto ne so questo è ciò che Faraway (2006) definisce l'approccio dei "quadrati medi attesi". Quello che voglio sapere è come vengono calcolate le somme di quadrati?
So che potrei prendere i valori stimati da un particolare modello (usando coef()
), supporre che siano fissi, e quindi fare test usando le somme dei quadrati dei residui del modello con e senza i fattori di interesse. Questo va bene per un modello contenente un singolo fattore all'interno del soggetto. Tuttavia, quando si implementa un disegno a trama divisa, le somme del valore dei quadrati che ottengo è equivalente al valore prodotto da R usando aov()
con una Error()
designazione appropriata . Tuttavia, questo è non la stessa come la somma dei quadrati prodotte dal anova()
comando sull'oggetto modello, nonostante il fatto che i rapporti F sono uguali.
Naturalmente questo ha perfettamente senso in quanto non sono necessari gli Error()
strati in un modello misto. Tuttavia, ciò deve significare che le somme dei quadrati sono in qualche modo penalizzate in un modello misto al fine di fornire rapporti F appropriati. Come si ottiene questo risultato? E in che modo il modello corregge in qualche modo la somma dei quadrati tra trama ma non corregge la somma dei quadrati all'interno della trama. Evidentemente questo è qualcosa che è necessario per un classico ANOVA a trama divisa che è stato ottenuto designando diversi valori di errore per i diversi effetti, quindi in che modo un modello a effetti misti lo consente?
Fondamentalmente, voglio essere in grado di replicare i risultati dal anova()
comando applicato a un oggetto modello lmer per verificare i risultati e la mia comprensione, tuttavia, al momento posso ottenerlo per un normale disegno entro-soggetto ma non per la divisione- progettazione della trama e non riesco a scoprire perché questo è il caso.
Come esempio:
library(faraway)
library(lme4)
data(irrigation)
anova(lmer(yield ~ irrigation + variety + (1|field), data = irrigation))
Analysis of Variance Table
Df Sum Sq Mean Sq F value
irrigation 3 1.6605 0.5535 0.3882
variety 1 2.2500 2.2500 1.5782
summary(aov(yield ~ irrigation + variety + Error(field/irrigation), data = irrigation))
Error: field
Df Sum Sq Mean Sq F value Pr(>F)
irrigation 3 40.19 13.40 0.388 0.769
Residuals 4 138.03 34.51
Error: Within
Df Sum Sq Mean Sq F value Pr(>F)
variety 1 2.25 2.250 1.578 0.249
Residuals 7 9.98 1.426
Come si può vedere soprattutto, i rapporti F concordano. Anche le somme di quadrati per varietà sono d'accordo. Tuttavia, le somme di quadrati per l'irrigazione non sono d'accordo, tuttavia sembra che l'output di lmer sia ridimensionato. Quindi cosa fa effettivamente il comando anova ()?
mixed()
daafex
cui offre ciò che vuoi (viamethod = "PB"
). E dato che hai ovviamente fatto alcuni test con i dati dei giocattoli, sarebbe sicuramente utile se puoi mostrare quelle equivalenze con i dati e il codice (quindi, nessun +1).