class_docstr: asymmetric logistic model of Tawn 1988
  
  special case: a1=a2=1 : Gumbel
  
  restrictions:
   - theta in (0,1]
   - a1, a2 in [0,1]
code: def evaluate(self, t, a1, a2, theta):
      # if not np.all(_check_args(a1, a2, theta)):
      #    raise ValueError('invalid args')
  
      transf = (1 - a2) * (1 - t)
      transf += (1 - a1) * t
      transf += (
          (a1 * t) ** (1.0 / theta) + (a2 * (1 - t)) ** (1.0 / theta)
      ) ** theta
  
      return transf
  
imports: import numpy
  from scipy import stats
  from statsmodels.tools.numdiff import _approx_fprime_cs_scalar, approx_hess
label_desc: Use image node_id 2 for calling the AsymLogistic obj's underlying member method code with example usage: obj.evaluate(t, a1, a2, theta) and returns: transf