Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add model fitting functionality to BrainPy #573

Open
2 tasks done
chaoming0625 opened this issue Dec 31, 2023 · 0 comments
Open
2 tasks done

Add model fitting functionality to BrainPy #573

chaoming0625 opened this issue Dec 31, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@chaoming0625
Copy link
Collaborator

Please:

  • Check for duplicate requests.
  • Describe your goal, and if possible provide a code snippet with a motivating example.

BrainPy is a useful Python library for analyzing and modeling neuroscience data. However, it currently lacks functionality for fitting models to data. I propose adding a model fitting module to BrainPy that would allow users to easily fit predefined models to their data.

Proposed Implementation:

  • Create a new module in BrainPy called brainpy.fitting

  • Support general classes for common neuron and population models used in neuroscience, such as:

    • Leaky integrate-and-fire models
    • Hodgkin-Huxley models
    • Wilson-Cowan models
    • Neural mass models
  • Support common fitting algorithms like gradient descent, Nelder-Mead, etc.

  • The module could also include convenience functions for things like:

    • Automatically estimating good initial parameters
    • Performing cross-validation
    • Statistical model comparison
  • Model classes should track goodness of fit metrics like R^2, MSE, etc.

  • Plotting methods to visualize fits against data

  • Support fitting models to diverse data types: spike trains, LFP, EEG, fMRI, etc.

  • Include options to parallelize fitting across multiple CPUs or GPUs.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant