[FLR-list] Adding a segregAR1 in FLSR

Laurie lauriekell at gmail.com
Mon Oct 14 13:44:40 CEST 2013


You need to add the initial params and bounds also.

bevholtAR1 <- function()
   {
   ## log likelihood, assuming normal log.
   logl <- function(a, b, rho, rec, ssb)
       loglAR1(log(rec), log(a*ssb/(b+ssb)), rho=rho)

   ## initial parameter values
   initial <- structure(function(rec, ssb) {
       a <- max(quantile(c(rec), 0.75, na.rm = TRUE))
     b <- max(quantile(c(rec)/c(ssb), 0.9, na.rm = TRUE))
     return(FLPar(a = a, b = a/b, rho=0))
     },

   ## bounds
   lower=c(rep(10e-8, 2), -1),
     upper=c(rep(Inf, 2), 1))

   ## model to be fitted
   model  <- rec~a*ssb/(b+ssb)

     return(list(logl=logl, model=model, initial=initial))
} # }}}


i.e.
      initial <- structure(function(rec, ssb){
       return(FLPar(a=median(c(rec/ssb),na.rm=TRUE), 
b=median(c(ssb),na.rm=TRUE),rho=0.0))},
       lower=c( 0, 0,-1),
       upper=c(Inf,Inf,1))


On 14/10/13 08:49, Mark Payne wrote:
> Hi,
>
> I'm trying to define a segregAR1 FLSR model, as it seems to be missing 
> from the SRmodels available in FLCore. I have modified the segreg 
> model as follows, based on the bevholtAR1 and rickerAR1 models:
>
> #SegregAR1
> segregAR1 <- function(){
>     logl <- function(a, b, rho, rec, ssb){
>        loglAR1(log(rec), 
> FLQuant(log(ifelse(c(ssb)<=b,a*c(ssb),a*b)),dimnames=dimnames(ssb)),rho=rho)}
>
>     model <- rec ~ 
> FLQuant(ifelse(c(ssb)<=b,a*c(ssb),a*b),dimnames=dimnames(ssb))
>
>     initial <- structure(function(rec, ssb){
>       return(FLPar(a=median(c(rec/ssb),na.rm=TRUE), 
> b=median(c(ssb),na.rm=TRUE)))},
>       lower=rep( 0, 0),
>       upper=rep(Inf, 2))
>
> return(list(logl=logl, model=model, initial=initial))
> } # }}}
>
>
> Basically, I've justed added a rho parameter to the likelihood which 
> should, as I understand it, be sufficient to give me what I want. 
> However, it doesn't seem to work when I go to fit it:
> > model(base.dat) <- "segregAR1"
> > res <- fmle(base.dat)
>   Nelder-Mead direct search function minimizer
> Error in .local(obs, hat, ...) :
>   argument "rho" is missing, with no default
> >
>
> Any ideas what I've done wrong?
>
> Mark
>
>
>
>
>
>
>
> ------------------------------------------------------------------------
> *Fra:* flr-list-bounces at r-forge.wu-wien.ac.at 
> [flr-list-bounces at r-forge.wu-wien.ac.at] på vegne af Luis Ridao 
> [luridao at gmail.com]
> *Sendt:* 4. oktober 2013 16:08
> *Til:* flr-list at flr-project.org
> *Emne:* [FLR-list] FLBRP<2 sorce code
>
> FLR help,
>
> trying to get the source code for FLBRP version<2 (e.g. FLBRP_1.4-1)
> but can't find it anywhere.
>
> anyone with an older source code version of the package around?
>
> best,
> Luis
>
>
>
>
> _______________________________________________
> flr-list mailing list
> flr-list at flr-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/flr-list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/flr-list/attachments/20131014/36e4870a/attachment.html>


More information about the flr-list mailing list