Skip to content

Add model fitting functionality to BrainPy #573

Open
@chaoming0625

Description

@chaoming0625

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.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions