lrennels / GlobalSensitivityAnalysis.jl

Julia implementations of global sensitivity analysis methods.
MIT License
33 stars 6 forks source link

Existing implementations of GSA in DiffEqSensitivity.jl #37

Open Vaibhavdixit02 opened 4 years ago

Vaibhavdixit02 commented 4 years ago

Hey, I just came across your repository, we have implementations of GSA methods in DiffEqSensitivity.jl (https://github.com/JuliaDiffEq/DiffEqSensitivity.jl) which you might want to check out. We would be glad to combine efforts to move GSA tooling in Julia forward. Just wanted to let you know to avoid duplication of effort. 🙂

lrennels commented 4 years ago

@Vaibhavdixit02 Thank you! I worked on this for a Masters thesis and wanted it to easily hook into my lab's project on integrated assessment models here: https://github.com/mimiframework/Mimi.jl, but going forward I would gladly combine efforts. I was thinking of implementing a moment-independent method next such as the Delta Moment-Independent Measure, since those may be useful for my work, have you looked into that at all I don't see it in the list.

Vaibhavdixit02 commented 4 years ago

No, that isn't something we have looked at yet. It would definitely be a good addition. We have a generic interface (at least I like to think so 🙂) basically any Julia function works, I think it should not be a problem to hook into Mimi. One approach could be to have a generic implementation of the method live in DiffEqSensitivity and perhaps use a wrapper around it in GlobalSensitivityAnalysis.jl that makes it easier for your work in Mimi.jl.

ChrisRackauckas commented 4 years ago

Note that we plan to split out the GSA part of DiffEqSensitivity to better document that it works not on differential equations but actually on any f(p). This is one of the things that will be highlighted in our release post on the new SciML organization (https://sciml.ai/).

lrennels commented 4 years ago

Great, I’ll look out for that. I’d be happy to shift into using and working in this more widely used and vetted package over any duplicated effort. I’m starting to code up the Delta method in my package to get it working and tested, at least against the Python version, but can move that code into a PR on your package and adjust my hooks to Mimi down the road a bit.

lrennels commented 4 years ago

Mimi is going through some changes for v1.0.0 release right now, so I’m holding off on altering any hooks seriously until that’s finished.

lrennels commented 3 years ago

https://github.com/SciML/GlobalSensitivity.jl

Vaibhavdixit02 commented 3 years ago

Yeah we split out GSA functionality to a separate package there

lrennels commented 3 years ago

Yes just noticed that and wanted to tag it for myself! Working on the Delta moment independent method now after a hiatus, translating from SALib and reading the papers again ... slow going but it’ll get done hopefully this week.

ChrisRackauckas commented 3 years ago

One of my students finished up a delta moment method and an RBDFAST implementation (@Vaibhavdixit02 I am going to send it over to you to get it public). I don't think there's a fractional factorial method yet, and that's the last thing to complete what SALib has.

lrennels commented 3 years ago

Oh that's great news @ChrisRackauckas I was wondering if that had gotten done, your student got in touch with me a while back about that but I hadn't heard anything since. It's a trickier one to test against SALib since it's a bit less stable, so it would be really great to have a comparison ... and an implementation by someone more familiar with the best mathematical Julia packages. I've replicated those two methods in my package since I was wary of extra dependencies for Mimi.jl and implementation is great for learning, but once it's up and running so I can move forward with a paper I want to work on I'd be happy to look at fractional factorial.