class_docstr: Log-Gaussian Cox Process[1] regression in a D dimensional space.
  
  This models the observed event counts at a set of locations with associated
  extents. An extent could correspond to an area (in which case location could
  be the centroid of that area), or duration (in which case the location is
  infinitesimal, but the measurements are taken over an extended period of
  time). Counts divided by the extent at a location is termed the intensity at
  that location.
  
  A Gaussian Process with a Matern 3/2 kernel is used to model log-intensity
  deviations from the mean log-intensity. The regressed intensity is then
  multiplied by the extents to parameterize the rate a Poisson observation
  model. The posterior of the model is over the amplitude and length scale of
  the Matern kernel, as well as the log-intensity deviations themselves. In
  summary:
  
  ```none
  amplitude ~ LogNormal(loc=-1, scale=0.5)
  length_scale ~ LogNormal(loc=-1, scale=1)
  delta_log_intensities ~ GP(Matern32(amplitude, length_scale), locations)
  for i in range(num_locations):
    counts[i] ~ Poisson(extents[i] *
                        exp(delta_log_intensities[i] + mean_log_intensity))
  ```
  
  The data are encoded into three parallel arrays. I.e.
  `train_counts[i]` and `train_extents[i]` correspond to `train_locations[i]`.
  
  #### References
  
  1. Diggle, P. J., Moraga, P., Rowlingson, B., & Taylor, B. M. (2013).
    Spatial and spatio-temporal log-gaussian cox processes: Extending the
    geostatistical paradigm. Statistical Science, 28(4), 542-563.
class_docstr_tok: ["Log-Gaussian","Cox","Process","[","1","]","regression","in","a","D","dimensional","space",".","This","models","the","observed","event","counts","at","a","set","of","locations","with","associated","extents",".","An","extent","could","correspond","to","an","area","(","in","which","case","location","could","be","the","centroid","of","that","area",")",",","or","duration","(","in","which","case","the","location","is","infinitesimal",",","but","the","measurements","are","taken","over","an","extended","period","of","time",")",".","Counts","divided","by","the","extent","at","a","location","is","termed","the","intensity","at","that","location",".","A","Gaussian","Process","with","a","Matern","3\/2","kernel","is","used","to","model","log-intensity","deviations","from","the","mean","log-intensity",".","The","regressed","intensity","is","then","multiplied","by","the","extents","to","parameterize","the","rate","a","Poisson","observation","model",".","The","posterior","of","the","model","is","over","the","amplitude","and","length","scale","of","the","Matern","kernel",",","as","well","as","the","log-intensity","deviations","themselves",".","In","summary",":","``","`","none","amplitude","~","LogNormal","(","loc=-1",",","scale=0.5",")","length_scale","~","LogNormal","(","loc=-1",",","scale=1",")","delta_log_intensities","~","GP","(","Matern32","(","amplitude",",","length_scale",")",",","locations",")","for","i","in","range","(","num_locations",")",":","counts","[","i","]","~","Poisson","(","extents","[","i","]","*","exp","(","delta_log_intensities","[","i","]","+","mean_log_intensity",")",")","``","`","The","data","are","encoded","into","three","parallel","arrays",".","I.e",".","`","train_counts","[","i","]","`","and","`","train_extents","[","i","]","`","correspond","to","`","train_locations","[","i","]","`",".","#","#","#","#","References","1",".","Diggle",",","P.","J.",",","Moraga",",","P.",",","Rowlingson",",","B.",",","&","Taylor",",","B.","M.","(","2013",")",".","Spatial","and","spatio-temporal","log-gaussian","cox","processes",":","Extending","the","geostatistical","paradigm",".","Statistical","Science",",","28","(","4",")",",","542-563","."]
code: def _prior_distribution(self):
      return self._prior_dist
  
file_path: probability/spinoffs/inference_gym/inference_gym/targets/log_gaussian_cox_process.py
imports: import tensorflow.compat.v2
  import tensorflow_probability
  from inference_gym.internal import data
  from inference_gym.targets import bayesian_model
  from inference_gym.targets import model
  from inference_gym.targets.ground_truth import synthetic_log_gaussian_cox_process
label_desc: Use image node_id 4 for calling the LogGaussianCoxProcess obj's underlying member method code with example usage: obj._prior_distribution() and returns: self