Menu

parameter optimization

Help
2016-11-21
2016-11-28
  • Robert Player

    Robert Player - 2016-11-21

    I'm looking for a good, simple example using PyDSTool to optimize parameter(s) in a set of differential equations.

    So far I've been looking at joe_pest.py example, but I'm not sure this is what I'm looking for.

    Any additional information would be appreciated, thank you in advance for the help.

     
  • Rob Clewley

    Rob Clewley - 2016-11-22

    All the "pest" named examples have information about that capability. I'm not aware of any full tutorial on it, though, and I realize that it's current setup is complex. It might help if you can explain more about your model and your needs.

     
  • Robert Player

    Robert Player - 2016-11-23

    Hello Dr. Clewley,

    Thank you for getting back to me about this!

    We are trying to implement a SEIR model using PyDSTools. There are 8 parameters that need to be optimized over 9 DEs. Using a modified version of the joe_pest example, I am able to get up to 4 of these parameters optimized at a time (just adding to the est_parnames array), but this took about 30 minutes (which is not very useful, and is apparently exponentially increasing in processing time with each additional parameter).

    My next question is, is there a way to set bounds of optimization for each parameter? I imagine this should significantly decrease processing time.

    Best,
    Robert

     
    • Rob Clewley

      Rob Clewley - 2016-11-24

      Hi, PyDSTool's optimization tools are experimental and more suitable
      for initial explorations than hardcore usage. However, the potential
      nonlinearities of models might be sufficient reason to cause huge
      slowdown in convergence. 8 free params is actually quite a few for
      optimization of nonlinear models. I don't know what your situation is
      or what algorithm you're trying to use, but you might like to
      visualize the objective function and understand if you're making the
      situation practicable.

      As for bounds, that's a classically difficult thing to achieve with
      standard algorithms. The most common way is a hack that adds specially
      designed super-steep cost functions overlaid at the ends of your
      bounds. It doesn't guarantee anything though, as your algorithm may
      still just push up against the bounds if the problem isn't set up well
      to start with.

      On Wed, Nov 23, 2016 at 12:50 PM, Robert Player playerra@users.sf.net wrote:

      Hello Dr. Clewley,

      Thank you for getting back to me about this!

      We are trying to implement a SEIR model using PyDSTools. There are 8
      parameters that need to be optimized over 9 DEs. Using a modified version of
      the joe_pest example, I am able to get up to 4 of these parameters optimized
      at a time (just adding to the est_parnames array), but this took about 30
      minutes (which is not very useful, and is apparently exponentially
      increasing in processing time with each additional parameter).

      My next question is, is there a way to set bounds of optimization for each
      parameter? I imagine this should significantly decrease processing time.

      Best,
      Robert


      parameter optimization


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/pydstool/discussion/472291/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       
  • Robert Player

    Robert Player - 2016-11-28

    Any pointers/tips on where to start with the hack you mention?

    Thanks again for the feedback.

     

Log in to post a comment.