[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