[R-br] Ajuste de modelo não linear
Walmes Zeviani
walmeszeviani em gmail.com
Segunda Outubro 17 09:33:38 BRST 2016
André,
Apenas para complementar a solução do Marcus, encaminho o código que faz
uso de uma função com recursos do pacote rpanel para ajuste de modelo não
linear de forma interativa. Essa função (na versão antiga) gerou o GIF que
fica na capa da página da lista no Nabble (rs). O uso da interface não
elimina o problema do chute inicial, só diminui porque ao invés de passar
um valor você passa um intervalo e calibra visualmente. Além disso, tem a
parte de análise de resíduos.
Brasil <- c(13.63, 13.93, 14.09, 15.12, 15.98, 16.08, 16.45, 17.96,
18.83, 19.28, 19.18, 20.89, 21.87, 21.85, 23.43, 25.38,
25.64, 26.99, 28.68, 31.92, 32.92, 33.32, 34.37, 34.99,
36.08, 37.72, 40.41, 42.81, 44.18, 44.91, 48.97, 51.59,
53.44, 56.49, 62.2, 66.49, 67.01, 68.41, 74.14, 77.58,
80.39, 85.71, 89.58, 96.3, 100.9, 102.8, 107.69, 111.51,
111.42, 116.59, 118.85, 121.42, 127.53)
anos <- 1961:2013
anos2 <- anos - min(anos) + 1
# Calibrando o chute inicial (por tentativa-erro faça aproximar).
start <- list(a = 12, b = 1.049)
plot(Brasil ~ anos2)
with(start,
curve(a * (b^(anos2)),
xname = "anos2",
add = TRUE,
col = 2))
fit <- nls(Brasil ~ a * (b^(anos2)),
start = start)
# Verificando o ajuste.
plot(Brasil ~ anos2)
with(as.list(coef(fit)),
curve(a * (b^(anos2)),
xname = "anos2",
add = TRUE,
col = 4))
# rp.nls: função que usa recursos no pacote rpanel para ajuste de
# modelos de regressão não linear.
source(paste0("https://raw.githubusercontent.com/walmes/",
"wzRfun/master/R/rp.nls.R"))
library(rpanel)
fit <- rp.nls(Brasil ~ a * (b^(anos2)),
data = data.frame(Brasil = Brasil, anos2 = anos2),
start = list(a = c(5, 20),
b = c(0.95, 1.5)))
summary(fit)
# Função que era do pacote nls2() mas foi removida (guardei o fonte).
source("~/Dropbox/CursoR/GeneticaEsalq/as.lm.R")
library(nls2)
mit <- as.lm(fit)
# Diagnóstico do modelo.
par(mfrow = c(2, 2))
plot(mit)
layout(1)
# ! Relação média variância !
# Linear!
plot(log(Brasil) ~ anos2)
À disposição.
Walmes.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20161017/8229a51a/attachment.html>
Mais detalhes sobre a lista de discussão R-br