[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