class_docstr: Conditional Logit, data handling test
  
  Parameters
  ----------
  
  endog : array (nobs,nchoices)
      dummy encoding of realized choices
  exog_bychoices : list of arrays
      explanatory variables, one array of exog for each choice. Variables
      with common coefficients have to be first in each array
  ncommon : int
      number of explanatory variables with common coefficients
  
  Notes
  -----
  
  Utility for choice j is given by
  
      $V_j = X_j * beta + Z * gamma_j$
  
  where X_j contains generic variables (terminology Hess) that have the same
  coefficient across choices, and Z are variables, like individual-specific
  variables that have different coefficients across variables.
  
  If there are choice specific constants, then they should be contained in Z.
  For identification, the constant of one choice should be dropped.
docstr: these are the V_i
          
docstr_tok: ["these","are","the","V_i"]
code: def xbetas(self, params):
      """these are the V_i"""
  
      res = np.empty((self.nobs, self.nchoices))
      for choiceind in range(self.nchoices):
          res[:, choiceind] = np.dot(
              self.exog_bychoices[choiceind],
              params[self.beta_indices[choiceind]],
          )
      return res
  
file_path: statsmodels/statsmodels/sandbox/regression/runmnl.py
imports: import numpy
  import numpy.lib.recfunctions
  from scipy import optimize
label_desc: Use image node_id 2 for calling the TryCLogit obj's underlying member method code with example usage: obj.xbetas(params) and returns: res