prob_report function

Determine probability of reporting under a Poisson arrival Process

Determine probability of reporting under a Poisson arrival Process

Determines the probability that claims occuring under a Poisson process with arrival intensity expo and reporting delay distribution dist during the time between t_min and t_max are reported between tau_min and tau_max.

prob_report( dist, intervals, expo = NULL, with_params = list(), .tolerance = .Machine$double.eps^0.5, .max_iter = 100L, .try_compile = TRUE )

Arguments

  • dist: A reporting delay Distribution, or a compiled interval probability function.
  • intervals: A data frame with columns xmin, xmax, tmin, tmax. Claims occur within [xmin, xmax] and be reported within [tmin, tmax].
  • expo: Poisson intensity. If given, must be a vectorised function that yields the intensity of the claim arrival process at a specified time. expo = NULL is equivalent to a constant intensity function. expo is only relevant up to a multiplicative constant.
  • with_params: Parameters of dist to use. Can be a parameter set with different values for each interval. If dist is a compiled interval probability function, with_params can be a matrix instead.
  • .tolerance: Absolute element-wise tolerance.
  • .max_iter: Maximum number of iterations. The number of integration intervals will be at most length(lower) * .max_iter. Therefor the maximum number of function evaluations per integration interval will be 15 * .max_iter.
  • .try_compile: Try compiling the distributions probability function to speed up integration?

Returns

A vector of reporting probabilities, with one entry per row of intervals.

Details

The reporting probability is given by

P(x + d in [tmin, tmax] | x in [xmin, xmax]) = E(P(x + d in [tmin, tmax] | x) | x in [xmin, xmax]) / P(x in [xmin, xmax]) = int_[xmin, xmax] expo(x) P(x + d in [tmin, tmax]) dx = int_[xmin, xmax] expo(x) P(d in [tmin - x, tmax - x]) dx / int_[xmin, xmax] expo(x) dx

prob_report uses integrate_gk() to compute the two integrals.

Examples

dist <- dist_exponential() ints <- data.frame( xmin = 0, xmax = 1, tmin = seq_len(10) - 1.0, tmax = seq_len(10) ) params <- list(rate = rep(c(1, 0.5), each = 5)) prob_report(dist, ints, with_params = params)