
Se sua intencao e' fazer previsao ("estimar uma resposta para pontos não estudados dentro do domínio"), entao quanto maior a complexidade do modelo, maior a chance do seu modelo ter um poder preditivo baixo. Lembre-se: nao existe modelo certo! Existe modelo util. Em Estatistica, voce esta' sempre lidando com a escolha entre vicio e variancia e eles andam em direcoes opostas: quanto maior o vicio, menor a variacia; quanto maior a variancia, menor o vicio. Ao optar por complexidade, voce ate' reduz o vicio para as estimativas que usam pontos observados... em contrapartida, vc tem uma variancia maior em suas previsoes (que e' aparentemente o seu interesse). Para exemplificar, considere o caso abaixo... Deus, num de seus dias de criacao, gerou um processo que segue sin(x)+x/10 ... Nos, como meros mortais, fizemos um experimento, no qual observamos pontos entre [-5, 5]... E, usando essas observacoes, queremos estimar um modelo para fazer previsao em xp=13. Execute o CMR abaixo e veja o comportamento de cada modelo em termos de previsao (apesar das reducoes em soma de quadrados residuais)... b -- modeloDeus <- function(x) sin(x)+x/10 mypred <- function(mod, xpred) predict(mod, newdata=data.frame(x=xpred)) curve(modeloDeus, from=-15, 15, ylim=c(-10, 10), col='gray') x <- seq(-5, 5, .5) xpred <- seq(-15, 15, .5) set.seed(1) y <- modeloDeus(x)+rnorm(length(x)) points(x, y) mod0 <- lm(y~1) lines(xpred, mypred(mod0, xpred), col=2, lwd=2, lty=2) mod1 <- lm(y~x) lines(xpred, mypred(mod1, xpred), col=3, lwd=2, lty=2) mod2 <- lm(y~poly(x, 2)) lines(xpred, mypred(mod2, xpred), col=4, lwd=2, lty=2) mod3 <- lm(y~poly(x, 3)) lines(xpred, mypred(mod3, xpred), col=5, lwd=2, lty=2) abline(v=13, lwd=2, lty=2) text(12, -5, expression(x[p])) arrows(12, -5.5, 13, -10) legend('bottom', paste('Grau', 0:3), col=2:5, lwd=2, lty=2, title='Modelos')