Diferencia en los valores de p informados entre lm y aov en R
12
¿Qué explica las diferencias en los valores p en los siguientes aovy las lmllamadas? ¿La diferencia solo se debe a los diferentes tipos de cálculos de sumas de cuadrados?
summary(aov)utiliza las llamadas sumas de cuadrados de Tipo I (secuenciales). summary(lm)utiliza las llamadas sumas de cuadrados de Tipo III, que no es secuencial. Ver la respuesta de Gung para más detalles.
Tenga en cuenta que debe llamar lm(data ~ factor(f1) * factor(2))( aov()convierte automáticamente el RHS de la fórmula en factores). Luego, tenga en cuenta el denominador para la estadística general en regresión lineal (consulte esta respuesta para obtener más explicaciones):t
t = ψ^- ψ0 0σ^C′( X′X )- 1C----------√
β c FC′( X′X )- 1C difiere para cada coeficiente probado porque el vector cambia. Por el contrario, el denominador en la prueba ANOVA es siempre MSE.βCF
Creo que la primera oración de esta respuesta es incorrecta. La diferencia parece deberse precisamente a diferentes tipos de suma de cuadrados: a saber, tipo I frente a tipo II / III. El Tipo I es secuencial, que es lo que lminforma, mientras que el Tipo II / III no lo es. Esto se explica con bastante detalle en la respuesta de @ gung a la que se vinculó.
ameba dice Reinstate Monica
@amoeba ¿Qué sugieres para corregir la respuesta?
caracal
Edité el primer párrafo, veo si estás de acuerdo con la edición y siéntete libre de cambiarlo como quieras.
ameba dice Reinstate Monica
2
set.seed(10)
data=rnorm(12)
f1=rep(c(1,2),6)
f2=c(rep(1,6),rep(2,6))
summary(aov(data~f1*f2))DfSumSqMeanSq F valuePr(>F)
f1 10.5350.53470.5970.462
f2 10.0020.00180.0020.966
f1:f2 10.1210.12080.1350.723Residuals87.1690.8962
summary(lm(data~f1*f2))$coeff
EstimateStd.Error t valuePr(>|t|)(Intercept)0.052220242.7327560.01910900.9852221
f1 -0.179923291.728346-0.10410140.9196514
f2 -0.626371091.728346-0.36241060.7264325
f1:f2 0.401394391.0931020.36720660.7229887
Estos son dos códigos diferentes. del modelo Lm necesitas los coeficientes. mientras que desde el modelo aov solo está tabulando las fuentes de variación. Prueba el código
anova(lm(data~f1*f2))AnalysisofVarianceTableResponse: data
DfSumSqMeanSq F valuePr(>F)
f1 10.53470.534680.59660.4621
f2 10.00180.001770.00200.9657
f1:f2 10.12080.120840.13480.7230Residuals87.16920.89615
Esto proporciona la tabulación de las fuentes de variación que conducen a los mismos resultados.
Esto no parece responder a la pregunta, que pregunta por qué los valores p para f1y f2difieren en los dos resúmenes de su panel superior. Parece que sólo se está demostrando que summary(aov(...))y anova(lm(...))en Rtener un resultado similar.
lm
informa, mientras que el Tipo II / III no lo es. Esto se explica con bastante detalle en la respuesta de @ gung a la que se vinculó.Estos son dos códigos diferentes. del modelo Lm necesitas los coeficientes. mientras que desde el modelo aov solo está tabulando las fuentes de variación. Prueba el código
Esto proporciona la tabulación de las fuentes de variación que conducen a los mismos resultados.
fuente
f1
yf2
difieren en los dos resúmenes de su panel superior. Parece que sólo se está demostrando quesummary(aov(...))
yanova(lm(...))
enR
tener un resultado similar.