Boa dia a todos, tenho algumas dúvidas sobre os mínimos quadrados generalizados (gls) no que se refere aos pressupostos de normalidade. Quando utilizo gls(y ~ x, ...) pressupõe-se que y tem distribuição normal? E os resíduos também? Ou deve me preocupar apenas em analisar o gráficos dos resíduos (bem distribuídos em torno de zero e sem padrão)?. A grande totalidade dos dados que trabalho quase nunca y segue uma distribuição normal.
A outra dúvida se refere ao cálculo no R. Conforme script abaixo consegui reproduzir a fórmula de calculo da função gls() nos casos em que weights = varFixed() e weights = varFunc(), mas não entendi a fórmula de cálculo nos casos em que weights = varExp() e weights = varPower(). Li a documentação do R, mas não consegui reproduzir. Alguém sabe?
Desde já agradeço.
Luiz
# Dados
x=c(1,2,3,3,4,5,6,7,8,9)
y=c(7,5,7,8,8,5,7,9,9,9)
# Carregar pacote
library(nlme)
# Matrix X
X=model.matrix(~x)
# varFixed / varFunc
r=fitted(lm(y~x))
omegafit=matrix(0,length(r),length(r)) ; diag(omegafit)=r
solve( t(X) %*% solve(omegafit) %*% X ) %*% t(X) %*% solve(omegafit) %*% y
gls(y ~ x, weights = varFixed(~r), method = "ML")$coefficients
gls(y ~ x, weights = varFunc(~r) , method = "ML")$coefficients
# Dúvida
# varExp()
r=exp( 2*fitted(lm(y~x)) )
omegafit=matrix(0,length(r),length(r)) ; diag(omegafit)=r
solve( t(X) %*% solve(omegafit) %*% X ) %*% t(X) %*% solve(omegafit) %*% y
gls(y ~ x, weights = varExp(), method = "ML")$coefficients
# varPower
r=abs(fitted(lm(y~x)))^2
omegafit=matrix(0,length(r),length(r)) ; diag(omegafit)=r
solve( t(X) %*% solve(omegafit) %*% X ) %*% t(X) %*% solve(omegafit) %*% y
gls(y ~ x, weights = varPower(), method = "ML")$coefficients