brainbox.modeling.neural_model
GLM fitting utilities based on NeuroGLM by Il Memming Park, Jonathan Pillow:
https://github.com/pillowlab/neuroGLM
Berk Gercek International Brain Lab, 2020
Classes
Parent class for multiple types of neural models. |
- class NeuralModel(design_matrix, spk_times, spk_clu, binwidth=0.02, mintrials=100, stepwise=False)[source]
Bases:
object
Parent class for multiple types of neural models. Contains core methods for extracting trial-relevant spike times and binning spikes, as well as making sure that the design matrix being used makes sense.
- combine_weights()[source]
Combined fit coefficients and intercepts to produce kernels where appropriate, which describe activity.
- Returns
DataFrame in which each row is the fit weights for a given spiking unit. Columns are individual covariates added during the construction process. Indices are the cluster IDs for each of the cells that were fit (NOT a simple range(start, stop) index.)
- Return type
pandas.DataFrame
- fit(train_idx=None, printcond=True)[source]
Fit the current set of binned spikes as a function of the current design matrix. Requires NeuralGLM.bin_spike_trains and NeuralGLM.compile_design_matrix to be run first. Will store the fit weights to an internal variable. To access these fit weights in a pandas DataFrame use the NeuralGLM.combine_weights method.
- Parameters
train_idx (array-like of trial indices, optional) – List of which trials to use to train the model. Defaults to None, which indicates all indices in the trialsdf will be used (100% train)
printcond (bool) – Whether or not to print the condition number of the design matrix. Defaults to True
- Returns
coefs (list) – List of coefficients fit. Not recommended to use these for interpretation. Use the .combine_weights() method instead.
intercepts (list) – List of intercepts (bias terms) fit.