jdtuck / fdasrsf_python

elastic fda python code
http://research.tetonedge.net
BSD 3-Clause "New" or "Revised" License
52 stars 18 forks source link

Question on optimization methods #17

Closed dyballa closed 2 years ago

dyballa commented 2 years ago

Hello, First off thanks for making available this great package. I was wondering what the optimization methods "DP" and "DP2" stand for? Furthermore, when using DP2, are there any guidelines for selecting a reasonable grid size depending on the data I have? I couldn't find this anywhere in the docs, sorry if I overlooked something. Basically, I was looking for the same kind of information that is given for the rlbfgs class. Cheers

jdtuck commented 2 years ago

DP and DP2 are just different implementations of Dynamic Programming. The guidelines is the higher the grid size the more accurate the solution at the cost of computational time. The default is pretty good for most cases.

dyballa commented 2 years ago

Right, I thought that was the case. I was really interested in knowing what the difference between the two implementations is, since one requires a grid size and the other does not. E.g., which one would you recommend using in general and why? In particular, in comparison with BFGS. Thanks!

jdtuck commented 2 years ago

They both are just different c implementations from different graduate students. The DP is the original and has a hard coded grid. The other allows you to adjust the grid, they both have different interpolation methods, which cause numerical differences. I would use the DP given its numerical accuracy.

dyballa commented 2 years ago

Got it, thanks for the explanation!

On Oct 21, 2021, at 1:28 PM, Derek Tucker @.***> wrote:

 They both are just different c implementations from different graduate students. The DP is the original and has a hard coded grid. The other allows you to adjust the grid, they both have different interpolation methods, which cause numerical differences. I would use the DP given its numerical accuracy.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.