docstr: Score, first derivative of the loglikelihood for each observation.
  
  Parameters
  ----------
  params : ndarray
      Parameter at which score is evaluated.
  
  Returns
  -------
  score_obs : ndarray, 2d
      The first derivative of the loglikelihood function evaluated at
      params for each observation.
docstr_tok: ["Score",",","first","derivative","of","the","loglikelihood","for","each","observation",".","Parameters","--","--","--","--","--","params",":","ndarray","Parameter","at","which","score","is","evaluated",".","Returns","--","--","--","-","score_obs",":","ndarray",",","2d","The","first","derivative","of","the","loglikelihood","function","evaluated","at","params","for","each","observation","."]
code: def score_obs(self, params):
      """
      Score, first derivative of the loglikelihood for each observation.
  
      Parameters
      ----------
      params : ndarray
          Parameter at which score is evaluated.
  
      Returns
      -------
      score_obs : ndarray, 2d
          The first derivative of the loglikelihood function evaluated at
          params for each observation.
      """
      sf1, sf2 = self.score_factor(params)
  
      # elementwise product for each row (observation)
      d1 = sf1[:, None] * self.exog
      d2 = sf2[:, None] * self.exog_precision
      return np.column_stack((d1, d2))
  
imports: import numpy
  from scipy.special import gammaln
  import patsy
  import statsmodels.base.wrapper
  import statsmodels.regression.linear_model
  from statsmodels.tools.decorators import cache_readonly
  from statsmodels.base.model import GenericLikelihoodModel, GenericLikelihoodModelResults, _LLRMixin
  from statsmodels.genmod import families
label_desc: Use image node_id 13 for calling the BetaModel obj's underlying member method code with example usage: obj.score_obs(params) and returns: np