RES.: Função sigmóide! Dados!

Walmes e demais amigos da lista; Estou enviando os dados (link abaixo) conforme o Walmes sugeriu... Está em txt e a variável UR (umidade relativa) e a variável UEQ (umidade de equilíbrio)....A ideia é tentar o ajuste de um modelo do tipo sigmóide entre a UEQ~UR. http://www.datafilehost.com/download-a7e94384.html Estou tentando ajustar o seguinte modelo.....conforme comando abaixo, mas estou tendo dificuldades em determinar os parâmetros iniciais. n0 <- nls(UME~SSlogis(UR, Asym, scal, xmid),start=list(Asym=5,scal=1,xmid=0.5),data=umi) Erro em nlsModel(formula, mf, start, wts) : matriz gradiente singular nas estimativas iniciais dos parâmetros Além disso: Warning messages: 1: In min(x) : nenhum argumento não faltante para min; retornando Inf 2: In max(x) : nenhum argumento não faltante para max; retornando -Inf Talvez, com esses dados que enviei vcs possam me ajudar...... Muito obrigado ao Walmes e demais membros da lista!

Thiago, Segue abaixo um CMR no estilo do que deveria ser (pelo menos para mim) as trocas de ajuda dentro da lista. Esclarecimentos estão comentados dentro do código. #------------------------------------------------------------------------------------------ # exemplo repruzível (exemplo para os demais inscritos da lista) #------------------------------------------------------------------------------------------ # dados hopesdados pelo site http://www.datafilehost.com/ # link para a página dos dados http://www.datafilehost.com/download-a7e94384.html # link do download http://www.datafilehost.com/get.php?file=a7e94384 # o melhor é fazer com que os dados sejam baixados na leitura # esse procedimento não funcionou para os seus dados. porque? da <- read.table("http://www.datafilehost.com/get.php?file=688e5891", header=TRUE) # falha #------------------------------------------------------------------------------------------ # hospedei os dados no site do LEG, assim eu posso baixar direto da web # temos que arrumar algo assim para que todos possam usar da <- read.table("http://www.leg.ufpr.br/~walmes/docs/umi.txt", header=TRUE) # falha str(da) #------------------------------------------------------------------------------------------ # diagnose gráfica plot(UR~UEQ, da) #------------------------------------------------------------------------------------------ # pelo jeito, você fixou a UR para obter os valores de UEQ. então não seria UEQ em função # de UR? vou continuar a análise para mostrar os procedimentos, mas pense sobre isso. #------------------------------------------------------------------------------------------ # modelo logístico não vai se ajustar aos seus dados porque eles não tem informação # para ajustar uma curva sigmoide. os dados tem padrão de crescimento assintótico # por isso ajustar um modelo que alçance essa comportamento A <- 100 # mudar até obter bons chutes B <- 0.11 # mudar até obter bons chutes plot(UR~UEQ, da) curve(A*(1-exp(-B*x)), add=TRUE) #------------------------------------------------------------------------------------------ # ajuste do modelo com os chutes n0 <- nls(UR~A*(1-exp(-B*UEQ)), data=da, start=list(A=100, B=0.11)) summary(n0) #------------------------------------------------------------------------------------------ # curva ajustada A <- coef(n0)["A"] B <- coef(n0)["B"] plot(UR~UEQ, da) curve(A*(1-exp(-B*x)), add=TRUE, col=2) #------------------------------------------------------------------------------------------ # Código mínimo reproduzível: tudo se resolve em questão de segundos! #------------------------------------------------------------------------------------------ À 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@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Walmes, meus parabéns pela sua didática. Impecável!!! Abs Em 8 de abril de 2011 17:35, Walmes Zeviani <walmeszeviani@gmail.com> escreveu:
Thiago,
Segue abaixo um CMR no estilo do que deveria ser (pelo menos para mim) as trocas de ajuda dentro da lista. Esclarecimentos estão comentados dentro do código.
#------------------------------------------------------------------------------------------ # exemplo repruzível (exemplo para os demais inscritos da lista) #------------------------------------------------------------------------------------------ # dados hopesdados pelo site http://www.datafilehost.com/ # link para a página dos dados http://www.datafilehost.com/download-a7e94384.html # link do download http://www.datafilehost.com/get.php?file=a7e94384 # o melhor é fazer com que os dados sejam baixados na leitura # esse procedimento não funcionou para os seus dados. porque?
da <- read.table("http://www.datafilehost.com/get.php?file=688e5891", header=TRUE) # falha
#------------------------------------------------------------------------------------------ # hospedei os dados no site do LEG, assim eu posso baixar direto da web # temos que arrumar algo assim para que todos possam usar
da <- read.table("http://www.leg.ufpr.br/~walmes/docs/umi.txt", header=TRUE) # falha str(da)
#------------------------------------------------------------------------------------------ # diagnose gráfica
plot(UR~UEQ, da)
#------------------------------------------------------------------------------------------ # pelo jeito, você fixou a UR para obter os valores de UEQ. então não seria UEQ em função # de UR? vou continuar a análise para mostrar os procedimentos, mas pense sobre isso.
#------------------------------------------------------------------------------------------ # modelo logístico não vai se ajustar aos seus dados porque eles não tem informação # para ajustar uma curva sigmoide. os dados tem padrão de crescimento assintótico # por isso ajustar um modelo que alçance essa comportamento
A <- 100 # mudar até obter bons chutes B <- 0.11 # mudar até obter bons chutes plot(UR~UEQ, da) curve(A*(1-exp(-B*x)), add=TRUE)
#------------------------------------------------------------------------------------------ # ajuste do modelo com os chutes
n0 <- nls(UR~A*(1-exp(-B*UEQ)), data=da, start=list(A=100, B=0.11)) summary(n0)
#------------------------------------------------------------------------------------------ # curva ajustada
A <- coef(n0)["A"] B <- coef(n0)["B"] plot(UR~UEQ, da) curve(A*(1-exp(-B*x)), add=TRUE, col=2)
#------------------------------------------------------------------------------------------ # Código mínimo reproduzível: tudo se resolve em questão de segundos! #------------------------------------------------------------------------------------------
À 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@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
-- Guilherme Moraes Ferraudo Jaboticabal/Campinas - SP http://lattes.cnpq.br/2096118558794430
participantes (3)
-
Guilherme Moraes Ferraudo
-
Thiago De paula protásio
-
Walmes Zeviani