[R-br] Ajuste de modelo não linear

Felipe felipe.e.barletta em gmail.com
Segunda Outubro 17 15:51:58 BRST 2016


Andre, segue minha contribuição com um modelo logístico com quatro 
parâmetros:

phi1+(phi2-phi1)/1+exp((phi3-x)/phi4), em que:

phi1 é a assíntota inferior;
phi2 é a assíntota superior;
phi3 é o ponto de inflexão;
phi4 é um parâmetro de escala.

Você pode tentar ajustar um modelo sem assíntota inferior e ver como o 
ajuste fica, note que assim o valor da função será zero somente em anos 
tendendo a menos infinito o que não faz sentido na prática.
Pode tentar ajustar com a variável anos em sua escala original também.

#==============================================

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

library(nlme)
mod1 <- nls(Brasil~SSfpl(anos2,A,B,C,D))
parm <- coef(mod1)
phi1 <- parm[1]
phi2 <-parm[2]
phi3 <- parm[3]
phi4 <- parm[4]


plot(Brasil~anos2)
with(as.list(coef(mod1)),
      curve(phi1+(phi2-phi1)/(1+exp((phi3-anos2)/phi4)),
            xname = "anos2",
            add = TRUE,
            col = 4))




-- 

Atenciosamente,


==================================
Felipe E. Barletta Mendes
Estatístico(UFPR) - Conre3 9766-A
Mestrando em Bioestatística(UEM)
+55 (41)-92077191
+55 (41)-33287216
===================================



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