class_docstr: This analysis allows maximum likelihood estimation of regression models
  in the presence of both spatial and temporal covariance.
  
  ..math::
      Y \sim \mathcal{MN}(Xeta, time_cov, space_cov)
  
  Parameters
  ----------
  time_cov : subclass of CovBase
      TR noise covariance class following CovBase interface.
  space_cov : subclass of CovBase
      Voxel noise covariance class following CovBase interface.
  optimizer : string, default="L-BFGS-B"
      Scipy optimizer to use. For other options, see "method" argument
      of scipy.optimize.minimize
  optCtrl: dict, default=None
      Additional arguments to pass to scipy.optimize.minimize.
class_docstr_tok: ["This","analysis","allows","maximum","likelihood","estimation","of","regression","models","in","the","presence","of","both","spatial","and","temporal","covariance",".","..","math",":",":","Y","\\sim","\\mathcal","{","MN","}","(","X\beta",",","time_cov",",","space_cov",")","Parameters","--","--","--","--","--","time_cov",":","subclass","of","CovBase","TR","noise","covariance","class","following","CovBase","interface",".","space_cov",":","subclass","of","CovBase","Voxel","noise","covariance","class","following","CovBase","interface",".","optimizer",":","string",",","default=","''","L-BFGS-B","''","Scipy","optimizer","to","use",".","For","other","options",",","see","``","method","''","argument","of","scipy.optimize.minimize","optCtrl",":","dict",",","default=None","Additional","arguments","to","pass","to","scipy.optimize.minimize","."]
docstr: Log likelihood of model (internal)
          
docstr_tok: ["Log","likelihood","of","model","(","internal",")"]
code: def logp(self, X, Y):
      """Log likelihood of model (internal)"""
      y_hat = tf.matmul(X, self.beta)
      resid = Y - y_hat
      return matnorm_logp(resid, self.time_cov, self.space_cov)
  
file_path: brainiak/brainiak/matnormal/regression.py
imports: import tensorflow
  import numpy
  from sklearn.base import BaseEstimator
  from brainiak.matnormal.matnormal_likelihoods import matnorm_logp
  from brainiak.matnormal.utils import pack_trainable_vars, unpack_trainable_vars, make_val_and_grad
  from scipy.optimize import minimize
label_desc: Use image node_id 2 for calling the MatnormalRegression obj's underlying member method code with example usage: obj.logp(X, Y) and returns: matnorm_logp