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
-
classmethod
-
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
-
classmethod
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