code: def _compute_betas(y, x):
      
      xT = x.T
      xtx = spdot(xT, x)
      xtx_inv = la.inv(xtx)
      xtx_inv = sp.csr_matrix(xtx_inv)
      xTy = spdot(xT, y, array_out=False)
      betas = spdot(xtx_inv, xTy)
      return betas
docs: compute MLE coefficients using iwls routine
  
      Methods: p189, Iteratively (Re)weighted Least Squares (IWLS),
      Fotheringham, A. S., Brunsdon, C., & Charlton, M. (2002).
      Geographically weighted regression: the analysis of spatially varying relationships.