<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Cambria;
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EstiloDeEmail17
        {mso-style-type:personal-compose;
        font-family:"Cambria","serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=PT-BR link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>Boa noite a todos!<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>Estou tentando simular de um modelo não-linear generalizado e depois ajustar esse modelo aos dados gerados na simulação. A variável resposta pode seguir Poisson ou Binomial, não tem problema.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>A média é modelada por: n*(1-exp(-(b0+b1*x))*(exp(-gx) ), em que x é uma variável quantitativa, n pode ser uma variável offset, no caso da Poisson, ou o número de ensaios Bernoulli, no caso da binomial.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>Aí vai o exemplo que vem dando erro, que eu suponho ter a ver com o optim, devido aos valores muito pequenos dos parâmetros b0, b1 e g e do valor da offset “n” ser muito grande.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>Agradeço a todos pela atenção! Abraços.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'># no R<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>require(gnm)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>x  <- sort( rep(0:5,3) )<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>b0 <- 1.5*1e-6<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>b1 <- 3*1e-6<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>g  <- 3*1e-1<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>n  <- rep(1e+8,length(x))<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>p  <- (1 - exp(-(b0+b1*x)) ) * exp(-g*x) ; p<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>mu <- n*p<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>## Funções não lineares<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'># Parametrização original<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>margo.betas <- function(x){<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>  </span><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>list(predictors=list(beta0=1,beta1=1,gamma=1),<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>       variables=list(substitute(x)),<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>       term=function(predictors,variables){<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>         pred<-paste("(1-exp(",variables[1],"+",variables[2],"*",predictors[1],"))*(exp(",<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>                     variables[3],"*",predictors[1],"))",sep="")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>       })<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>class(margo.betas) <- "nonlin"<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'># Reparametrização, com b0 = 1/(ln k0), b1=1/(ln k1) e g=1/(ln k2)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>margo.ks <- function(x){<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>  list(predictors=list(k0=1,k1=1,k2=1),<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>       variables=list(substitute(x)),<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>       term=function(predictors,variables){<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>         pred<-paste("(1-",variables[1],"*(",variables[2],"^",predictors[1],"))*(",<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>                     variables[3],"^",predictors[1],")",sep="")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>       })<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>class(margo.ks) <- "nonlin"<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>######## ABORDAGEM POISSON<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>set.seed(0119)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>y <-rpois(length(x),lambda=mu)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>eta.margo1   <- formula(y ~ -1 + Mult(offset(n), margo.ks(x) ) )<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>eta.margo2   <- formula(y ~ -1 + Mult(offset(n), margo.betas(x) ) )<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>gnm(eta.margo1,family=poisson,tolerance=1e-50)<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>gnm(eta.margo2,family=poisson,tolerance=1e-50)<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>######## ABORDAGEM BINOMIAL<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>set.seed(0119)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'>y            <-rbinom(length(x),size=n,prob=p)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>eta.margo1   <- formula(cbind(y,n-y) ~ -1+ margo.ks(x) )<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>eta.margo2   <- formula(cbind(y,n-y) ~ -1+ margo.betas(x) )<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>gnm(eta.margo1,family=binomial)<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'>gnm(eta.margo2,family=binomial)<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria Math","serif"'>___________________________________________________<o:p></o:p></span></p><p class=MsoNormal><b><span style='font-size:12.0pt;font-family:"Cambria Math","serif"'>Davi Butturi-Gomes<o:p></o:p></span></b></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria Math","serif"'>Doutorando em Estatística e Experimentação Agronômica - ESALQ /USP - Piracicaba<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria Math","serif"'>Mestre em Biometria - IB/UNESP - Botucatu<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria Math","serif"'>Ecólogo - IB/UNESP - Rio Claro<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria Math","serif"'>Skype: davibg87<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Cambria Math","serif"'>(19)8206.6565<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>