Más tarde
Una cosa que quiero agregar después de escuchar que tiene modelos lineales de efectos mixtos: el y todavía se pueden usar para comparar los modelos. Ver este artículo , por ejemplo. De otras preguntas similares en el sitio, parece que este documento es crucial.Un yoC, A ICCB IC
Respuesta original
Lo que básicamente quiere es comparar dos modelos no anidados. La selección de modelos de Burnham y Anderson y la inferencia multimodelo discuten esto y recomiendan el uso de , o etc., ya que la prueba de razón de probabilidad tradicional solo es aplicable en modelos anidados. Indican explícitamente que los criterios teóricos de la información, como el etc. no son pruebas y que la palabra "significativo" debe evitarse al informar los resultados.Un yoCUn yoCCB ICUn yoC, A ICC, B IC
Basado en esto y en estas respuestas, recomiendo estos enfoques:
- Hacer un diagrama de dispersión matricial (SPLOM) del conjunto de datos que incluye alisadores:
pairs(Y~X1+X2, panel = panel.smooth, lwd = 2, cex = 1.5, col = "steelblue", pch=16)
. Compruebe si las líneas (los suavizadores) son compatibles con una relación lineal. Refina el modelo si es necesario.
- Calcular los modelos
m1
y m2
. Haga algunas comprobaciones del modelo (residuos, etc.): plot(m1)
y plot(m2)
.
- Calcule el ( corregido para tamaños de muestra pequeños) para ambos modelos y calcule la diferencia absoluta entre los dos s. El paquete proporciona la función para esto: . Si esta diferencia absoluta es menor que 2, los dos modelos son básicamente indistinguibles. De lo contrario prefiere el modelo con el menor .Un yoCCUn yoCUn yoCC
R
pscl
AICc
abs(AICc(m1)-AICc(m2))
Un yoCC
- Calcule las pruebas de razón de probabilidad para modelos no anidados. El
R
paquetelmtest
tiene las funciones coxtest
(prueba de Cox), jtest
( prueba de Davidson-MacKinnon J) y encomptest
(prueba de Davidson y MacKinnon).
Algunas reflexiones: si las dos medidas de banano realmente miden lo mismo, ambas pueden ser igualmente adecuadas para la predicción y puede que no haya un "mejor" modelo.
Este documento también puede ser útil.
Aquí hay un ejemplo en R
:
#==============================================================================
# Generate correlated variables
#==============================================================================
set.seed(123)
R <- matrix(cbind(
1 , 0.8 , 0.2,
0.8 , 1 , 0.4,
0.2 , 0.4 , 1),nrow=3) # correlation matrix
U <- t(chol(R))
nvars <- dim(U)[1]
numobs <- 500
set.seed(1)
random.normal <- matrix(rnorm(nvars*numobs,0,1), nrow=nvars, ncol=numobs);
X <- U %*% random.normal
newX <- t(X)
raw <- as.data.frame(newX)
names(raw) <- c("response","predictor1","predictor2")
#==============================================================================
# Check the graphic
#==============================================================================
par(bg="white", cex=1.2)
pairs(response~predictor1+predictor2, data=raw, panel = panel.smooth,
lwd = 2, cex = 1.5, col = "steelblue", pch=16, las=1)
Los suavizadores confirman las relaciones lineales. Esto estaba destinado, por supuesto.
#==============================================================================
# Calculate the regression models and AICcs
#==============================================================================
library(pscl)
m1 <- lm(response~predictor1, data=raw)
m2 <- lm(response~predictor2, data=raw)
summary(m1)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.004332 0.027292 -0.159 0.874
predictor1 0.820150 0.026677 30.743 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.6102 on 498 degrees of freedom
Multiple R-squared: 0.6549, Adjusted R-squared: 0.6542
F-statistic: 945.2 on 1 and 498 DF, p-value: < 2.2e-16
summary(m2)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.01650 0.04567 -0.361 0.718
predictor2 0.18282 0.04406 4.150 3.91e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.021 on 498 degrees of freedom
Multiple R-squared: 0.03342, Adjusted R-squared: 0.03148
F-statistic: 17.22 on 1 and 498 DF, p-value: 3.913e-05
AICc(m1)
[1] 928.9961
AICc(m2)
[1] 1443.994
abs(AICc(m1)-AICc(m2))
[1] 514.9977
#==============================================================================
# Calculate the Cox test and Davidson-MacKinnon J test
#==============================================================================
library(lmtest)
coxtest(m1, m2)
Cox test
Model 1: response ~ predictor1
Model 2: response ~ predictor2
Estimate Std. Error z value Pr(>|z|)
fitted(M1) ~ M2 17.102 4.1890 4.0826 4.454e-05 ***
fitted(M2) ~ M1 -264.753 1.4368 -184.2652 < 2.2e-16 ***
jtest(m1, m2)
J test
Model 1: response ~ predictor1
Model 2: response ~ predictor2
Estimate Std. Error t value Pr(>|t|)
M1 + fitted(M2) -0.8298 0.151702 -5.470 7.143e-08 ***
M2 + fitted(M1) 1.0723 0.034271 31.288 < 2.2e-16 ***
El del primer modelo es claramente más bajo y el es mucho más alto.Un yoCCm1
R2
Importante: en modelos lineales de igual complejidad y distribución de errores gaussianos , y deberían dar las mismas respuestas (ver esta publicación ). En los modelos no lineales , se debe evitar el uso de para el rendimiento del modelo (bondad de ajuste) y la selección del modelo : consulte esta publicación y este documento , por ejemplo.R2, A ICB ICR2
X1
yX2
probablemente estaría correlacionado, ya que las manchas marrones probablemente aumenten con el aumento del tiempo sobre la mesa.