Skip to content
New issue

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

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

Already on GitHub? Sign in 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.

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

No branches or pull requests

1 participant