Mais tarde
Uma coisa que quero acrescentar depois de ouvir que você tem modelos lineares de efeito misto: o e o ainda podem ser usados para comparar os modelos. Veja este documento , por exemplo. De outras perguntas semelhantes no site, parece que este documento é crucial. B I CA IC, A ICcB IC
Resposta original
O que você basicamente quer é comparar dois modelos não aninhados. A seleção do modelo de Burnham e Anderson e a inferência multimodal discutem isso e recomendam o uso do , ou etc., pois o teste de razão de verossimilhança tradicional é aplicável apenas em modelos aninhados. Eles afirmam explicitamente que os critérios teóricos da informação como etc. não são testes e que a palavra "significativo" deve ser evitada ao relatar os resultados.A I C c B I C A I C , A I C c , B I CA ICA ICcB ICA IC, A ICc, B IC
Baseado no presente e este respostas, eu recomendo estas abordagens:
- Faça uma matriz de dispersão (SPLOM) do conjunto de dados incluindo smoothers:
pairs(Y~X1+X2, panel = panel.smooth, lwd = 2, cex = 1.5, col = "steelblue", pch=16)
. Verifique se as linhas (os smoothers) são compatíveis com um relacionamento linear. Refine o modelo, se necessário.
- Calcule os modelos
m1
e m2
. Faça algumas verificações de modelo (resíduos etc.): plot(m1)
e plot(m2)
.
- Calcule o ( corrigido para tamanhos de amostra pequenos) para ambos os modelos e calcule a diferença absoluta entre os dois s. O pacote fornece a função para isso: . Se essa diferença absoluta for menor que 2, os dois modelos são basicamente indistinguíveis. Caso contrário, prefira o modelo com o mais . A I C A I C c A I C cA ICcA ICA ICc
R
pscl
AICc
abs(AICc(m1)-AICc(m2))
A ICc
- Calcular testes de razão de verossimilhança para modelos não aninhados. O
R
pacotelmtest
possui as funções coxtest
(teste de Cox), jtest
( teste Davidson-MacKinnon J) e encomptest
(teste abrangente de Davidson & MacKinnon).
Algumas reflexões: se as duas medidas de banana são realmente a mesma coisa, ambas podem ser igualmente adequadas para previsão e pode não haver um "melhor" modelo.
Este documento também pode ser útil.
Aqui está um exemplo em 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)
As mães confirmam os relacionamentos lineares. Isso foi planejado, é claro.
#==============================================================================
# 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 ***
A ICcm1
R2
R2, A ICB ICR2
X1
eX2
provavelmente estaria correlacionado, pois as manchas marrons provavelmente aumentam com o aumento do tempo na mesa.