Model Fitting#
Model fitting is normally performed by either the
sails.modelfit.VieiraMorfLinearModel
or
sails.modelfit.OLSLinearModel
class. If you wish
to fit a model using another method, an example of this
can be found in :ref:tutorial8.
- class sails.modelfit.VieiraMorfLinearModel[source]#
A class implementing the Vieira-Morf linear model fit
- classmethod fit_model(data, delay_vect)[source]#
Estimates the multichannel autoregressive spectral estimators using a Vieira-Morf algorithm. Equations are referenced to [Marple1987], appendix 15.B.
This is the multitrial versions of the algorithm, using the AMVAR method outlined in [Ding2000].
- Parameters:
data (numpy.ndarray) – array of shape [nsignals, nsamples, ntrials]
delay_vect (numpy.ndarray) – Vector containing evenly spaced delays to be assessed in the model. Delays are represented in samples. Must start with zero.
- Returns:
A populated object containing the fitted forward and backwards coefficients and several other useful variables and methods.
- Return type:
sails.VieiraMorfLinearModel
- get_residuals(data, forward_parameters=True, mode='valid')[source]#
Returns the prediction error from a fitted model. This is a wrapper function for get_residuals()
- Parameters:
data (ndarray) – Data to compute the residuals from, of size [nchannels x nsamples x nrealisations]
forward_parameters (bool) – If True, use forward parameters, otherwise use backward parameters (Default value = True)
- Returns:
Residual data
- Return type:
ndarray
- class sails.modelfit.OLSLinearModel[source]#
A class implementing ordinary least squares linear model fit
- classmethod fit_model(data, delay_vect, estimator=None)[source]#
This is a class method which fits a linear model and returns a populated
OLSLinearModel
instance containing the fitted model.- Parameters:
data (ndarray) – The data to be used to compute the model fit
delay_vect (ndarray) – A vector of lag indices defining the lags to fit
estimator (None or sklearn class) – If None, fit using standard OLS normal equations. If set to an appropriate sklearn class, use that estimator.
- Returns:
A populated object containing the fitted coefficients and several other useful variables and methods.
- Return type:
sails.OLSLinearModel
Model fitting helper functions#
In addition to basic model fitting routines, some helper functions exist; for instance to help with fitting a number of models to a data series following a “sliding window” pattern or by applying PCA before the fit.
- sails.modelfit.sliding_window_fit(model_class, data, delay_vect, win_len_samp, win_step_samp, compute_diagnostics=True)[source]#
A helper function for fitting many MVAR models within sliding windows across a dataset.
- Parameters:
model_class (LinearModel) – The SAILS linear model typee to fit
data (ndarray) – Data to fit the model on, of size [nchannels x nsamples x nrealisations]
delay_vect (ndarray) – A vector of lags specifying which lags to fit
win_len_samp (int) – The window length in samples
win_step_samp (int) – The step size between windows in samples
compute_diagnostics (boolean) – Flag indicating whether to compute model diagnostics at each window (Default value = True)
- Returns:
An instance of linear model passed into the function containing MVAR parameters for all windows. The parameters are stored in model.parameters which is of size: [nchannels x nchannels x model order x nwindows]
- Return type:
LinearModel
- sails.modelfit.pca_reduced_fit(X, delay_vect, ndim, linear_model=<class 'sails.modelfit.VieiraMorfLinearModel'>)[source]#
Helper for computing an MVAR on dimensionality reduced data (using PCA).
Returns a model fitted to reduced data, the reduced model projected back to original data dimensions and the pca object used for reduction
- Parameters:
X (ndarray) – The data to compute the reduced model fit on
delay_vect (ndarray) – A vector of lags specifying which lags to fit
ndim (int) – Number of components to reduce data to.
linear_model (class) – Subclass of AbstractLinearModel to use for fit. Defaults to VieiraMorfLinearModel. (Default value = True)
- Returns:
red_model (AbstractLinearModel) – An instance of the linear model passed into the function containing MVAR parameters for all windows for the reduced model.
proj_model (AbstractLinearModel) – An instance of the linear model passed into the function containing MVAR parameters for all windows for the projected model.
pc (sails.utils.PCA) – PCA class with information about the PCA projection included