[R-br] Gradiente e hessiana simbólicos ou numéricos

Walmes Zeviani walmeszeviani em gmail.com
Quinta Setembro 20 16:49:28 BRT 2012


Veja o exemplo de como obter o gradiente e hessianos numericamente

f <- function(beta, t){
  with(as.list(beta),
       b1/(1+b2*exp(-b3*t)))
}

f(c(b1=1, b2=0.5, b3=-0.1), t=1:3)

require(rootSolve)

help(gradient, , help_type="html")
gradient(f, x=c(b1=1, b2=0.5, b3=-0.1), t=1)
gradient(f, x=c(b1=1, b2=0.5, b3=-0.1), t=1:3)

help(hessian, help_type="html")
hessian(f, x=c(b1=1, b2=0.5, b3=-0.1), t=1)
hessian(f, x=c(b1=1, b2=0.5, b3=-0.1), t=1:2)

Dependendo das operações que vai fazer, é melhor organizar o hessiano em um
array.
É possível obter analiticamente usando a deriv3(). Para isso veja esse post

http://ridiculas.wordpress.com/2011/05/19/bandas-de-confianca-para-modelo-de-regressao-nao-linear/

À 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 em ufpr.br
skype: walmeszeviani
twitter: @walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes
linux user number: 531218
==========================================================================
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120920/6a6b2b38/attachment.html>


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