[R-br] Especificação do modelo em lm e glm
Diego Pujoni
diegopujoni em gmail.com
Segunda Março 21 09:51:06 BRT 2011
#Olá pessoal,
#Existem formas diferentes de se especificar um modelo na função
#"lm" e "glm". Mas obtive os seguintes resultados:
#Criando o data frame#
X1=c(rep("A",4),rep("B",4))
X2=c(rep("C",2),rep("D",2),rep("C",2),rep("D",2))
Y=c(3,5,5,7,11,13,13,15)
Table=as.data.frame(cbind(X1,X2,as.numeric(Y)))
Table
#Os quatro modos de se especificar o mesmo modelo fornecem a mesma deviance,#
#ou seja, são iguais#
glm(Y ~ X1+X2+X1:X2, data=Table, family=poisson())$deviance
glm(Y ~ (X1+X2)^2, data=Table, family=poisson())$deviance
glm(Y ~ X1*X2, data=Table, family=poisson())$deviance
glm(Y ~ X1:X2, data=Table, family=poisson())$deviance
#Mas há um deslocamento de -1.25 nos coeficientes no último modelo
round(glm(Y ~ X1+X2+X1:X2, data=Table,family=poisson())$coefficients,digits=2)
round(glm(Y ~ (X1+X2)^2,
data=Table,family=poisson())$coefficients,digits=2)
round(glm(Y ~ X1*X2, data=Table,family=poisson())$coefficients,digits=2)
round(glm(Y ~ X1:X2, data=Table,family=poisson())$coefficients,digits=2)
#O coeficiente de X1B:X2D sai como NA#
#O quarto modo de especificar o modelo está errado?
#Por que isso acontece?
#Nos modelos abaixo:
#Incluindo mas uma variável preditora em Table#
X3=c("E","F","E","F","E","F","E","F")
Table.X3=as.data.frame(cbind(X1,X2,X3,as.numeric(Y)))
Table.X3
#As deviances e os coeficientes X1A:X3F e X1A:X3E também são iguais
#além disso alguns coeficientes são deslocados de -1.4
(X1A:X2C,X1B:X2C,X1A:X1D),
#mas os outros coeficientes não são iguais#
glm(Y~X1+X2+X3+X1:X2+X1:X3,data=Table.X3,family=poisson())$deviance
glm(Y~X1:X2+X1:X3,data=Table.X3,family=poisson())$deviance
round(glm(Y~X1+X2+X3+X1:X2+X1:X3,data=Table.X3,family=poisson())$coefficients,digits=2)
round(glm(Y~X1:X2+X1:X3,data=Table.X3,family=poisson())$coefficients,digits=2)
#Especificando os coeficientes do primeiro modelo
# Intercept = 1.16
# X1/X2| C D | X1/X3| E F |
# A | 0 0.41| A | 0 0.41|
# B |1.24 -0.25| B |1.24 -0.25|
#Especificando os coeficientes do segundo modelo
# Intercept = 2.56
# X1/X2| C D | X1/X3| E F |
# A |-1.40 -0.99| A | 0 0.41|
# B |-0.15 NA | B | 0 0.15|
#Os coeficientes X1B:X3E e X1B:X3F mudam.
#Alguém sabe aonde se encontra o meu erro?
#Será que sou obrigado a incluir o termo de interação X2:X3?
#Mas e se essas duas variáveis forem independentes?
#Muito Obrigado
# Diego PJ
Mais detalhes sobre a lista de discussão R-br