class_docstr: TransformedDistribution used in temporal point processes.
  
  This class must implement new methods log_intensity, log_survival
  that are necessary for computing log-likelihood of TPP realizations. Also,
  sample_conditional is necessary for sampling TPPs.
  
  Additionally, the sequence of transformations passed to the constructor
  must be increasing.
class_docstr_tok: ["TransformedDistribution","used","in","temporal","point","processes",".","This","class","must","implement","new","methods","log_intensity",",","log_survival","that","are","necessary","for","computing","log-likelihood","of","TPP","realizations",".","Also",",","sample_conditional","is","necessary","for","sampling","TPPs",".","Additionally",",","the","sequence","of","transformations","passed","to","the","constructor","must","be","increasing","."]
docstr: Logarithm of the survival function
  :math:`\log S(y) = \log(1 - CDF(y))`.
docstr_tok: ["Logarithm","of","the","survival","function",":","math",":","`","\\log","S","(","y",")","=","\\log","(","1","-","CDF","(","y",")",")","`","."]
code: def log_survival(self, y: Tensor) -> Tensor:
      r"""
      Logarithm of the survival function
      :math:`\log S(y) = \log(1 - CDF(y))`.
      """
      x = y
      for t in self.transforms[::-1]:
          x = t.f_inv(x)
      return self.base_distribution.log_survival(x)
  
imports: from typing import List, Optional, Tuple, Union
  import numpy
  from mxnet import autograd
  from gluonts.mx import Tensor
  from gluonts.mx.distribution.bijection import AffineTransformation, Bijection
  from gluonts.mx.distribution.distribution import Distribution, getF
  from gluonts.mx.distribution.distribution_output import DistributionOutput
  from gluonts.mx.distribution.transformed_distribution import TransformedDistribution, sum_trailing_axes
label_desc: Use image node_id 4 for calling the TPPTransformedDistribution obj's underlying member method code with example usage: obj.log_survival(y) and returns: self