class_docstr: Multivariate linear model via least squares
  
  
  Parameters
  ----------
  endog : array_like
      Dependent variables. A nobs x k_endog array where nobs is
      the number of observations and k_endog is the number of dependent
      variables
  exog : array_like
      Independent variables. A nobs x k_exog array where nobs is the
      number of observations and k_exog is the number of independent
      variables. An intercept is not included by default and should be added
      by the user (models specified using a formula include an intercept by
      default)
  
  Attributes
  ----------
  endog : ndarray
      See Parameters.
  exog : ndarray
      See Parameters.
class_docstr_tok: ["Multivariate","linear","model","via","least","squares","Parameters","--","--","--","--","--","endog",":","array_like","Dependent","variables",".","A","nobs","x","k_endog","array","where","nobs","is","the","number","of","observations","and","k_endog","is","the","number","of","dependent","variables","exog",":","array_like","Independent","variables",".","A","nobs","x","k_exog","array","where","nobs","is","the","number","of","observations","and","k_exog","is","the","number","of","independent","variables",".","An","intercept","is","not","included","by","default","and","should","be","added","by","the","user","(","models","specified","using","a","formula","include","an","intercept","by","default",")","Attributes","--","--","--","--","--","endog",":","ndarray","See","Parameters",".","exog",":","ndarray","See","Parameters","."]
code: def __init__(
      self, endog, exog, missing="none", hasconst=None, **kwargs
  ):
      if len(endog.shape) == 1 or endog.shape[1] == 1:
          raise ValueError(
              "There must be more than one dependent variable"
              " to fit multivariate OLS!"
          )
      super().__init__(
          endog, exog, missing=missing, hasconst=hasconst, **kwargs
      )
  
      self.nobs, self.k_endog = self.endog.shape
      self.k_exog = self.exog.shape[1]
      idx = pd.MultiIndex.from_product(
          (self.endog_names, self.exog_names)
      )
      self.data.cov_names = idx
  
imports: import numpy
  from numpy.linalg import eigvals, inv, solve, matrix_rank, pinv, svd
  from scipy import stats
  import pandas
  from patsy import DesignInfo
  from statsmodels.compat.pandas import Substitution
  from statsmodels.base.model import Model, LikelihoodModelResults
  import statsmodels.base.wrapper
  from statsmodels.regression.linear_model import RegressionResultsWrapper
  from statsmodels.iolib import summary2
  from statsmodels.tools.decorators import cache_readonly
label_desc: Use image node_id 1 to create a new _MultivariateOLS object from inherited base classes: Model with example: obj = _MultivariateOLS(endog, exog, missing, hasconst)