Source code for glmdenoise.whiten_data
import numpy as np
from glmdenoise.utils.make_poly_matrix import make_poly_matrix, make_project_matrix
import warnings
warnings.simplefilter(action="ignore", category=FutureWarning)
[docs]def whiten_data(data, design, extra_regressors=False, poly_degs=None):
"""[summary]
Arguments:
data {[type]} -- [description]
design {[type]} -- [description]
Keyword Arguments:
extra_regressors {bool} -- [description] (default: {False})
poly_degs {[type]} -- [description] (default: {np.arange(5)})
Returns:
[type] -- [description]
"""
if poly_degs is None:
poly_degs = np.arange(5)
# whiten data
whitened_data = []
whitened_design = []
for i, (y, X) in enumerate(zip(data, design)):
polynomials = make_poly_matrix(X.shape[0], poly_degs)
if extra_regressors:
if extra_regressors[i].any():
polynomials = np.c_[polynomials, extra_regressors[i]]
whitened_design.append(make_project_matrix(polynomials) @ X)
whitened_data.append(make_project_matrix(polynomials) @ y)
return whitened_data, whitened_design