<div dir="ltr"><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif">Você tem que estabelecer um critério de parada porque você pode encontrar outliers se continuar o ciclo de buscar por eles.</div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif">A sua estratégia de remoção acaba sendo modelo dependente, ou seja, você ajusta, remove outliers, ajusta de novo, vê que o modelo mudou (e deveria mesmo), mas surgem outros outliers pois na presença dos dados restantes, novas observações se tornam vilãs (influentes). Se o seu modelo estiver mau especificado, os danos são ainda maiores porque os "outliers" (que não seriam) são apenas observações injustiçadas pela má especificação do modelo. Se você olhar a curva de cada indivíduo, vai concluir que as observações dentro dos indivíduos estão coesas, ou seja, desvios da curva imaginária (uso panel.smoother()) para me auxiliar com a curva imaginária).</div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif"><br></div><div class="gmail_default"><div class="gmail_default"><font face="monospace, monospace"># Olhando para cada a curva de cada ID.</font></div><div class="gmail_default"><font face="monospace, monospace">xyplot(PESO ~ SEMANA | ID,</font></div><div class="gmail_default"><font face="monospace, monospace">       data = DADOS,</font></div><div class="gmail_default"><font face="monospace, monospace">       strip = FALSE,</font></div><div class="gmail_default"><font face="monospace, monospace">       type = "o",</font></div><div class="gmail_default"><font face="monospace, monospace">       as.table = TRUE,</font></div><div class="gmail_default"><font face="monospace, monospace">       jitter.x = TRUE) +</font></div><div class="gmail_default"><font face="monospace, monospace">    layer(panel.smoother(..., col = 1))</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace"># Olhando por tratamento.</font></div><div class="gmail_default"><font face="monospace, monospace">xyplot(PESO ~ SEMANA | TRAT,</font></div><div class="gmail_default"><font face="monospace, monospace">       groups = ID,</font></div><div class="gmail_default"><font face="monospace, monospace">       data = DADOS,</font></div><div class="gmail_default"><font face="monospace, monospace">       type = "o",</font></div><div class="gmail_default"><font face="monospace, monospace">       jitter.x = TRUE) +</font></div><div class="gmail_default"><font face="monospace, monospace">    layer(panel.smoother(..., col = 1, lwd = 3))</font></div><div class="gmail_default"><font face="trebuchet ms, sans-serif"><br></font></div><div class="gmail_default"><font face="trebuchet ms, sans-serif">Acredito que o modelo mais apropriado para os seus dados seja um modelo de efeitos aleatórios, coisa que você não está fazendo. A variação entre ID você está estruturando já de início com função de variância e correlação entre observações. Acredito que primeiro deveria acomodar a variação do estrato superior (ID) para depois fazer um ajuste mais fino (com função de variância e correlação se forem necessários) especificando elementos para o estrato inferior (residual). Você está modelando a camada inferior sem dar a devida a atenção para o estrato de cima. Em muitos casos, a inclusão dos efeitos aleatórios vais dispensar modelagem da variância porque a variância marginal aumenta com as semanas mas não é porque ela cresce dentro dos ID mas sim entre ID. E a correlação pode desaparecer também, porque muitas vezes ela resulta de um modelo que apresenta falta de ajuste. Abaixo eu uso um polinômio de 4 grau, que é bem flexível, ou seja, o modelo "corre para os dados". Nos gráficos eu não fiquei convencido de que existem observações influentes.</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><div class="gmail_default" style=""><font face="monospace, monospace"># Criando objeto de classe groupedData.</font></div><div class="gmail_default" style=""><font face="monospace, monospace">da <- groupedData(PESO ~ SEMANA | ID,</font></div><div class="gmail_default" style=""><font face="monospace, monospace">                  data = DADOS,</font></div><div class="gmail_default" style=""><font face="monospace, monospace">                  order.groups = FALSE)</font></div><div class="gmail_default" style=""><font face="monospace, monospace"><br></font></div><div class="gmail_default" style=""><font face="monospace, monospace"># Ajuste de um modelo suficientemente flexível.</font></div><div class="gmail_default" style=""><font face="monospace, monospace">m0 <-  lme(PESO ~ SEMANA + I(SEMANA^2) + I(SEMANA^3) + I(SEMANA^4),</font></div><div class="gmail_default" style=""><font face="monospace, monospace">           random = ~ 1 | ID,</font></div><div class="gmail_default" style=""><font face="monospace, monospace">           na.action = na.omit,</font></div><div class="gmail_default" style=""><font face="monospace, monospace">           data = da)</font></div><div class="gmail_default" style=""><font face="monospace, monospace">summary(m0)</font></div><div class="gmail_default" style=""><font face="monospace, monospace"><br></font></div><div class="gmail_default" style=""><font face="monospace, monospace">plot(augPred(m0), strip = FALSE)</font></div><div class="gmail_default" style=""><font face="monospace, monospace"><br></font></div><div class="gmail_default" style=""><font face="monospace, monospace">plot(residuals(m0))</font></div><div class="gmail_default" style=""><font face="monospace, monospace">plot(residuals(m0, type = "normalized"))</font></div><div class="gmail_default" style=""><font face="monospace, monospace"><br></font></div><div class="gmail_default" style=""><font face="monospace, monospace">xyplot(residuals(m0) ~ fitted(m0) | TRAT, data = da)</font></div><div class="gmail_default" style=""><font face="monospace, monospace">qqmath(~residuals(m0) | TRAT, data = da)</font></div><div class="gmail_default" style=""><font face="monospace, monospace">qqmath(~residuals(m0) | ID, data = da, strip = FALSE)</font></div><div class="gmail_default" style=""><font face="monospace, monospace"><br></font></div><div class="gmail_default" style=""><div class="gmail_default" style="display:inline">À</div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;display:inline"> disposição.</div></div></div></div><div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;display:inline">Walmes.​</div></div></div>