[R-br] detecção de outliers modelos mistos não lineares

Fernando Souza nandodesouza em gmail.com
Terça Janeiro 16 11:06:04 -02 2018


Caros colegas,

Nos comandos abaixo, realizo a análise de um modelo não linear misto. Após
selecionar o modelo, realizei um teste outliers do modelo. Identifiquei os
outliers e os removi. Ajustei novamente o modelo, porém a nova análise
gráfica dos resíduos desses modelo indica novos outliers.
Porque isso ocorre? Como lido com isso?

Removê-los não é uma opção, uma vez que estarei perdendo muitas observações.

A minha outra dúvida é: Qual o melhor momento para realizar o teste de
outliers? Eu realizo após a seleção do melhor modelo, pois com a correta
definição dos efeitos aleatórios e da matriz R, o número de outliers
normalmente reduz. Porém a remoção de outliers pode alterar o modelo e as
estruturas até então selecionadas para as matrizes D e R podem não ser mais
adequadas.

Qual procedimento mais indicado?

Att
library(nlme)
install.packages("tidyr")
library(tidyr)
DADOS.CURTO <- read.csv("
https://www.dropbox.com/s/b4cckybgrcg86me/galinhas.csv?raw=1",head = TRUE)
head(DADOS.CURTO)
colnames(DADOS.CURTO) <- c("0","1","2","3","4","5","6","TRAT")
DADOS<- DADOS.CURTO %>% gather('0','1','2','3','4','5','6',key
="SEMANA",value = "PESO", -TRAT)
head(DADOS)
str(DADOS)
ID <-rep(seq(1,370), times=7)
DADOS<-cbind(ID,DADOS)
DADOS <- transform(DADOS, SEMANA = as.numeric(SEMANA),ID=factor(ID))
#-----------------------------------ajuste dos
modelos----------------------------------------------------
MNG8<-gnls(PESO ~ a * exp(-b * exp( -c *
SEMANA)),params=list(a~TRAT,b~1,c~1),start = list(c(a = c(4.10,4.79,4.75),b
= 4.53,c = 0.37)),na.action=na.omit,data =DADOS)

MNG8.4 <- update(MNG8,weights = varExp(form =
~fitted(.)|SEMANA),correlation = corARMA(form = ~SEMANA |ID,q = 6))
#-----------------------------------outliers----------------------------------------------------------------
(GRAF8 <- plot(MNG8final,resid(.,type =
"pearson")~fitted(.),id=0.05,xlab="Valores ajustados",ylab="Residuos
Padronizados",abline = 0,main = "MNG8.4"))

#------------------------------------ Identificação de
outliers---------------------------------------
DADOS <- DADOS[complete.cases(DADOS),]
ifelse(abs(residuals(MNG8,type="pearson"))>qnorm(0.975),1,0)-> DADOS$cookMNG
#-----------------------------------novo
modelo----------------------------------------------
MNG8final <- update(MNG8,data=subset(DADOS,cookMNG==0))
#-------------------------------
(GRAF8 <- plot(MNG8final,resid(.,type =
"pearson")~fitted(.),id=0.05,xlab="Valores ajustados",ylab="Residuos
Padronizados",abline = 0,main = "MNG8.4"))


-- 
=========================================
Fernando Souza
Zootecnista, DSc. Produção e Alimentação Animal
Celular: (31)99796-8781 (Vivo)
E-mail:nandodesouza em gmail.com <e-mail%3Anandodesouza em gmail.com>
Lattes: http://lattes.cnpq.br/6519538815038307
Blog: https://producaoanimalcomr.wordpress.com/
==========================================
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20180116/baf99406/attachment.html>


Mais detalhes sobre a lista de discussão R-br