[R-br] RES.: Função runs.test! Falta de Ajuste!!!!

Walmes Zeviani walmeszeviani em gmail.com
Sábado Abril 9 22:55:40 BRT 2011


Thiago,

Você tem que debruçar-se mais sobre os seus dados/modelos. Pega o comando e
vai testando modelo, inventa formas funcionais, não fique preso a modelos de
páginas de livros. Eu ajustei outro modelo e observei um melhor ajuste.
Ainda assim há falta de ajuste com relação ao modelo de médias, veja com
relação ao modelo de médias, que diga-se, usa todos os graus de liberdade
possíveis e não permite extrapolação. O modelo de médias é sem dúvida o
melhor modelo em termos de ajuste, vai dá melhor R2 que qualquer outro, mas
não dá para extrapolar. Já o não linear permite isso.

Causas da falta de ajuste:
* o modelo não ser mesmo o correto para representar, ser uma versão
aproximada de um modelo com mais parâmetros que traduzam aquela forma dos
dados;
* haver uma causa de variação associada a cada UR que tá deslocando todas as
repetições de uma UR, coisa que acontece com frequência, por exemplo se você
medisse todas as repetições da UR_i em um dia, da UR_j no dia seguinte,
estaria aí o efeito do dia, ou da pessoa que faz as determinações no
laboratório, ou do local de onde vieram, ou do aparelho usado, das condições
do momento.

O que fazer:
* se o foco são as estimativas dos parâmetros, usar o modelo como está;
* se o foco é apenas fazer predição, usar uma função suave da UR, lowess,
spline, etc, ou uma linear segmentada;
* tentar uma função com mais parâmetros para alcançar mais o comportamento
dos dados;

Em todos os casos, você vai ter que sentar e espremer possibilidades sobre
isso, fazer o seu trabalho.

#-----------------------------------------------------------------------------

da <- read.table("http://www.leg.ufpr.br/~walmes/docs/umi.txt", header=TRUE)
str(da)

plot(UEQ~UR, da)
with(da, tapply(UEQ, UR, length))

A <- 5
B <- 0.01   # mudar até obter bons chutes
C <- 0.085  # mudar até obter bons chutes
plot(UEQ~UR, da)
curve(A+B*exp(C*x), add=TRUE)

n0 <- nls(UEQ~A+B*exp(C*UR), data=da,
          start=list(A=A, B=B, C=C))
summary(n0)

A <- coef(n0)["A"]
B <- coef(n0)["B"]
C <- coef(n0)["C"]
plot(UEQ~UR, da)
curve(A+B*exp(C*x), add=TRUE)
abline(v=c(40,50,60), col=3) # causas da falta de ajuste

m0 <- lm(UEQ~factor(UR), da)
anova(n0, m0)

qqnorm(residuals(n0))
plot(residuals(n0)~fitted(n0))

#-----------------------------------------------------------------------------

À disposição.
Walmes.


==========================================================================
Walmes Marques Zeviani
LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)
Departamento de Estatística - Universidade Federal do Paraná
fone: (+55) 41 3361 3573
VoIP: (3361 3600) 1053 1173
e-mail: walmes em ufpr.br
twitter: @walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes
linux user number: 531218
==========================================================================
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110409/0bd34042/attachment.html>


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