[R-br] problemas com função nls
Bernardo Rangel Tura
tura em centroin.com.br
Domingo Março 11 19:29:23 BRT 2012
On 03/10/2012 06:16 PM, Fernando Antonio de souza wrote:
> caros amigos estou tentando rodar um modelo não linear de Gormpertz da
> forma Log(Y) = a-b*exp(-c*X) utiliando a função nls. A função é como segue:
>
> gompertz<-nls(log(PESO.FETO)~a-b*exp(-c*Gest),start=list(a=3.4,b=22.99,c=0.018),data=gestsimp)
> dput(gestsimp)
>
> Acontece que toda vez que rodo, recebo o aviso de erro:"
>
> Erro em nls(log(PESO.FETO) ~ a - b * exp(-c * Gest), start = list(a = 3.4, :
> número de iterações excedeu o máximo de 50
>
> Ja tentei elevar o máximo de interação utilizando o comando controle mas nunca converge. Alguem pode me esclarecer em que estou errando. os valore iniciais foram obtido sutilizando a função manipulate.
>
>
> um grande abraço
Fernando,
Seu chute inicial deve estar ruim ... Você poderia tentar resolver de
outro jeito, porque não arruma um pouco a equação
Log(Y) = a-b*exp(-c*X)
b*exp(-c*X) = a-Log(Y)
log(a-Log(Y)) = log(b*exp(-c*X)) =log(b)-c*X
então
lm(log(a-log(Y)) ~ X)
lhe daria uma estimativa inicial dos valores de a,b e c e isto deve
resolver seu problema de estimação ...
[]s
Tura
Mais detalhes sobre a lista de discussão R-br