API Reference#

The nemos.glm module#

Classes for creating Generalized Linear Models (GLMs) for both single neurons and neural populations.

GLM

Generalized Linear Model (GLM) for neural activity data.

PopulationGLM

Population Generalized Linear Model.

The nemos.basis module#

Provides basis function classes to construct and transform features for model inputs. Basis can be grouped according to the mode of operation into basis that performs convolution and basis that operates as non-linear maps.

The Abstract Classes:

These classes are the building blocks for the concrete basis classes.

Basis

Abstract base class for defining basis functions for feature transformation.

SplineBasis

SplineBasis class inherits from the Basis class and represents spline basis functions.

Bases For Convolution:

MSplineConv

M-spline basis functions for modeling and data transformation.

BSplineConv

B-spline 1-dimensional basis functions.

CyclicBSplineConv

B-spline 1-dimensional basis functions for cyclic splines.

RaisedCosineLinearConv

Represent linearly-spaced raised cosine basis functions.

RaisedCosineLogConv

Represent log-spaced raised cosine basis functions.

OrthExponentialConv

Set of 1D basis decaying exponential functions numerically orthogonalized.

HistoryConv

Basis for history effects.

Bases For Non-Linear Mapping:

MSplineEval

M-spline basis functions for modeling and data transformation.

BSplineEval

B-spline 1-dimensional basis functions.

CyclicBSplineEval

B-spline 1-dimensional basis functions for cyclic splines.

RaisedCosineLinearEval

Represent linearly-spaced raised cosine basis functions.

RaisedCosineLogEval

Represent log-spaced raised cosine basis functions.

OrthExponentialEval

Set of 1D basis decaying exponential functions numerically orthogonalized.

IdentityEval

Identity basis function.

Composite Bases:

AdditiveBasis

Class representing the addition of two Basis objects.

MultiplicativeBasis

Class representing the multiplication (external product) of two Basis objects.

Basis As ``scikit-learn`` Tranformers:

TransformerBasis

Basis as scikit-learn transformers.

The nemos.observation_models module#

Statistical models to describe the distribution of neural responses or other predicted variables, given inputs.

Observations

Abstract observation model class for neural data processing.

PoissonObservations

Model observations as Poisson random variables.

GammaObservations

Model observations as Gamma random variables.

The nemos.regularizer module#

Implements various regularization techniques to constrain model parameters, which helps prevent overfitting.

Regularizer

Abstract base class for regularized solvers.

UnRegularized

Regularizer class for unregularized models.

Ridge

Regularizer class for Ridge (L2 regularization).

Lasso

Regularizer class for Lasso (L1 regularization).

GroupLasso

Regularizer class for Group Lasso (group-L1) regularized models.

The nemos.simulation module#

Utility functions for simulating spiking activity in recurrently connected neural populations.

simulate_recurrent

Simulate neural activity using the GLM as a recurrent network.

difference_of_gammas

Generate coupling filter as a Gamma pdf difference.

regress_filter

Approximate scipy.stats.gamma based filters with basis function.

The nemos.convolve module#

Utility functions for running convolution over the sample axis.

create_convolutional_predictor

Create a convolutional predictor by convolving a basis matrix with a time series.

tensor_convolve

Apply a convolution on the given array with the evaluation basis and reshapes the result.

The nemos.identifiability_constraints module#

Functions to apply identifiability constraints to rank-deficient feature matrices, ensuring the uniqueness of model solutions.

apply_identifiability_constraints

Apply identifiability constraints to a design matrix X.

apply_identifiability_constraints_by_basis_component

Apply identifiability constraint to a design matrix for each component of an additive basis.

The nemos.pytrees.FeaturePytree class#

Class for storing the input arrays in a dictionary. Keys are usually variable names. These objects can be provided as input to nemos GLM methods.

FeaturePytree

Pytree to represent GLM features.