[R-br] Modelo efeito misto - decomposição R2 marginal
Fernando Souza
nandodesouza em gmail.com
Segunda Maio 26 23:34:32 BRT 2014
Caros Amigos,
Fiz uma análise de regressão utilizando o modelo de efeito misto. Eu
desejo fazer o coeficiente de determinação parcial conforme descrito no
livro do Kutner, et al (Applied linear statistical Models, )
<http://www.amazon.com/Applied-Linear-Statistical-Models-Michael/dp/007310874X>
5° edição, paginas 268-269 para obter uma estimativa de quanto cada
variável incluída no modelo contribuiu para o R2 geral ( ou seja a
contribuição marginal de cada variável para a redução da variação quando
todas as outras variáveis estão no modelo- No livro é chamado de
coeficiente parcial de determinação). O R2 do modelo deve ser igual a
soma do R2 parcial de cada variável individualment (R2modelo=
R2variável1+R2variável2...). Fiz uma função para automatizar os passos
descritos no livro, como vocês poderão ver a soma do R2 parcial de cada
variável difere do R2 geral do modelo. Acredito que eu possa ter
entendido algo errado, por isso gostaria de ajuda. Alguém da lista ja
fez este tipo de avaliação?
DATA<- structure(list(DATA = structure(c(25L, 27L, 1L, 2L, 3L, 4L, 5L,
6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L,
19L, 20L, 21L, 22L, 23L, 24L, 26L, 28L, 25L, 27L), .Label = c("01/09/13",
"02/09/13", "03/09/13", "04/09/13", "05/09/13", "07/09/13", "08/09/13",
"10/09/13", "11/09/13", "14/09/13", "15/09/13", "16/09/13", "17/09/13",
"18/09/13", "19/09/13", "20/09/13", "21/09/13", "22/09/13", "23/09/13",
"24/09/13", "25/09/13", "26/09/13", "27/09/13", "28/09/13", "29/08/13",
"29/09/13", "30/08/13", "30/09/13"), class = "factor"), GEST = c(63L,
64L, 66L, 67L, 68L, 69L, 70L, 72L, 73L, 75L, 76L, 79L, 80L, 81L,
82L, 83L, 84L, 85L, 86L, 87L, 88L, 89L, 90L, 91L, 92L, 93L, 94L,
95L, 63L, 64L), MANEJO = c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L), DIAS = c(1L, 2L, 4L, 5L, 6L, 7L, 8L, 10L,
11L, 13L, 14L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L,
27L, 28L, 29L, 30L, 31L, 32L, 33L, 1L, 2L), ANIMAL = structure(c(2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L), .Label = c("5",
"4"), class = c("ordered", "factor")), CONSUMO = c(1.43, 1.24,
2, 1.29, 0.94, 1.99, 1.48, 1.25, 1.8, 2.16, 1.36, 1.33, 2.25,
1.1, 1.78, 1.47, 2, 2.07, 1.35, 1.84, 1.86, 1.5, 1.31, 1.45,
1.46, 2.51, 2.77, 1.89, 1.39, 1.68), PV = c(40, 40.06, 40.18,
40.24, 40.3, 40.36, 40.42, 40.54, 40.6, 40.72, 40.78, 40.99,
41.04, 41.08, 41.13, 41.17, 41.22, 41.26, 41.31, 41.35, 41.4,
41.45, 41.49, 41.54, 41.58, 41.63, 41.67, 41.9, 32.3, 32.47),
TEMPMIN = c(11.85, 11.85, 17.9, 18.45, 18.6, 19.6, 19.2,
17.8, 18.7, 15.5, 15.55, 18.7, 18.15, 17.55, 17.85, 18.75,
20.95, 19.3, 19.35, 19.4, 18.8, 17.65, 17.75, 16.45, 16.95,
18.4, 21.1, 18.2, 11.85, 11.85), TEMPMAX = c(28.05, 28.05,
30, 30.9, 30.8, 30.35, 31.2, 27.9, 31.3, 28.6, 28.25, 31.95,
32.75, 30.7, 31.65, 32.85, 32.65, 33.2, 33.05, 24.7, 24.35,
24.95, 28, 28.15, 30.9, 33.1, 34.95, 26.65, 28.05, 28.05),
URAMIN = c(38, 38, 40, 41.5, 43, 42.5, 41, 61.5, 44.5, 41.5,
41, 18, 19.5, 26.5, 19.5, 19.5, 20, 25.5, 29, 70, 71.5, 42.5,
50, 44, 31, 23, 15.65, 46.5, 38, 38), URAMAX = c(89, 89,
94, 91, 91, 96.5, 94.5, 99, 95.5, 91, 93, 74.5, 74.5, 75.5,
77, 76, 80, 88, 92, 94, 93.5, 94, 91.5, 85.5, 83.5, 79, 51.75,
77.5, 89, 89), TEMPMEC = c(19.95, 19.95, 23.95, 24.68, 24.7,
24.98, 25.2, 22.85, 25, 22.05, 21.9, 25.33, 25.45, 24.13,
24.75, 25.8, 26.8, 26.25, 26.2, 22.05, 21.58, 21.3, 22.88,
22.3, 23.93, 25.75, 28.03, 22.43, 19.95, 19.95), URAMED = c(63.5,
63.5, 66.25, 69.5, 67.75, 80.25, 70, 67, 47.75, 47, 48.25,
56.75, 60.5, 82.5, 68.25, 70.75, 64.75, 51, 63.5, 62, 56.75,
84.25, 84.25, 64.25, 64.5, 57.75, 72.25, 74.75, 63.5, 63.5
), ITH = c(4, 4, 151, 220, 212, 304, 267, 82, 133, 20, 16,
201, 231, 246, 218, 317, 343, 230, 302, 40, 21, 49, 147,
51, 143, 238, 409, 82, 4, 4), IMS = c(0.9, 0.62, 0.69, 1.62,
0.81, 1.16, 1.45, 0.87, 0.86, 0.86, 1.04, 1.68, 0.68, 0.56,
1.47, 1.04, 1.14, 0.66, 0.97, 1.35, 1.14, 1.05, 1.52, 0.77,
0.95, 0.84, 1.31, 1.52, 1, 1.37), cook = c(0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0)), .Names = c("DATA", "GEST", "MANEJO",
"DIAS", "ANIMAL", "CONSUMO", "PV", "TEMPMIN", "TEMPMAX", "URAMIN",
"URAMAX", "TEMPMEC", "URAMED", "ITH", "IMS", "cook"), row.names = c("178",
"179", "181", "182", "183", "184", "185", "187", "188", "190",
"191", "194", "195", "196", "197", "198", "199", "200", "201",
"202", "203", "204", "205", "206", "207", "208", "209", "210",
"211", "212"), class = c("nffGroupedData", "nfGroupedData", "groupedData",
"data.frame"), formula = CONSUMO ~ I(PV^0.75) + IMS + GEST +
TEMPMAX + TEMPMIN + URAMIN + URAMAX + as.numeric(ITH) | ANIMAL, FUN
= function (x)
max(x, na.rm = TRUE), order.groups = TRUE)
modelocompleto<-lme(fixed=CONSUMO~GEST+as.numeric(ITH),data=DATA,correlation=corAR1(form=~GEST|ANIMAL),na.action=na.omit,weights=varIdent(form=~1|ANIMAL),random=~1|ANIMAL,method="REML")
modeloreduzidoGEST<-update(modelocompleto,fixed=CONSUMO~as.numeric(ITH),random=~1|ANIMAL,method="REML",control=ctrl)
modeloreduzidoITH<-update(modelocompleto,fixed=CONSUMO~GEST,random=~1|ANIMAL,method="REML",control=ctrl)
R2partial<-function(modelocompleto,modeloreduzidoGEST,modeloreduzidoITH){
SSRGEST<-(sum(resid(modeloreduzidoGEST)^2) - sum(resid(modelocompleto)^2))
SSRITH<-(sum(resid(modeloreduzidoITH)^2) - sum(resid(modelocompleto)^2))
SSEGEST<-sum(resid(modeloreduzidoGEST)^2)
SSEITH<-sum(resid(modeloreduzidoITH)^2)
R2partialGEST<-SSRGEST/SSEGEST
R2partialITH<-SSRITH/SSEITH
resultado1<-paste("R2parcial-GEST",R2partialGEST,sep=":")
resultado2<-paste("R2parcial-ITH",R2partialITH,sep=":")
R2total<-paste("R2total",sum(R2partialGEST,R2partialITH),sep=":")
return(c(resultado1,resultado2,R2total))
}
R2partial(modelocompleto,modeloreduzidoGEST,modeloreduzidoITH) # R2
parcial para cada uma das vaiáveis
install.packages("MuMIn")
library(MuMIn)
r.squaredGLMM(modeloreduzidoGEST) #R2 Geral
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140526/cad66115/attachment.html>
Mais detalhes sobre a lista de discussão R-br