class_docstr: Assume that subjects have two competing risks that are _not_ independent.
  Assume that their is a frailty term that both risks depend on, and, conditional
  on this term, the risks are IID Weibull models. If the frailty term is
  stable with parameter alpha, then the cumulative hazard can be written down explicitly.
  
  
  
  Reference
  --------------
  Frees and Valdez, UNDERSTANDING RELATIONSHIPS USING COPULAS
code: def _cumulative_hazard(self, params, T, Xs):
      lambda1 = exp(dot(Xs["lambda1"], params["lambda1"]))
      lambda2 = exp(dot(Xs["lambda2"], params["lambda2"]))
      rho2 = exp(dot(Xs["rho2"], params["rho2"]))
      rho1 = exp(dot(Xs["rho1"], params["rho1"]))
      alpha = exp(dot(Xs["alpha"], params["alpha"]))
  
      return ((T / lambda1) ** rho1 + (T / lambda2) ** rho2) ** alpha
  
file_path: lifelines/examples/copula_frailty_weibull_model.py
imports: from lifelines.fitters import ParametricRegressionFitter
  from autograd.scipy.special import expit
  from autograd import numpy
  from lifelines.utils.safe_exp import safe_exp
  from lifelines.datasets import load_rossi
label_desc: Use image node_id 1 for calling the CopulaFrailtyWeilbullModel obj's underlying member method code with example usage: obj._cumulative_hazard(params, T, Xs) and returns: unknown