fChernoff {tailloss}R Documentation

Chernoff Bound.

Description

Function to bound the total losses via the Chernoff inequality.

Usage

fChernoff(ELT, s, t = 1, theta = 0, cap = Inf, nk = 1001,
  verbose = FALSE)

Arguments

ELT

Data frame containing two numeric columns. The column Loss contains the expected losses from each single occurrence of event. The column Rate contains the arrival rates of a single occurrence of event.

s

Scalar or numeric vector containing the total losses of interest.

t

Scalar representing the time period of interest. The default value is t = 1.

theta

Scalar containing information about the variance of the Gamma distribution: sd[X] = x * theta. The default value is theta = 0: the loss associated to an event is considered as a constant.

cap

Scalar representing the financial cap on losses for a single event, i.e. the maximum possible loss caused by a single event. The default value is cap = Inf.

nk

Number of optimisation points.

verbose

Logical. If TRUE attaches the minimising index. The default is verbose = FALSE.

Details

Chernoff's inequality states:

\Pr(S \geq s) \leq \inf_{k > 0} e^{-k s} M_S(k)

where M_S(k) is the Moment Generating Function (MGF) of the total loss S. The fChernoff function optimises the bound over a fixed set of nk discrete values.

Value

A numeric matrix, containing the pre-specified losses s in the first column and the upper bound for the exceedance probabilities in the second column.

Examples

data(UShurricane)

# Compress the table to millions of dollars

USh.m <- compressELT(ELT(UShurricane), digits = -6)
EPC.Chernoff <- fChernoff(USh.m, s = 1:40)
EPC.Chernoff
plot(EPC.Chernoff, type = "l", ylim = c(0, 1))
# Assuming the losses follow a Gamma with E[X] = x, and Var[X] = 2 * x
EPC.Chernoff.Gamma <- fChernoff(USh.m, s = 1:40, theta = 2, cap = 5)
EPC.Chernoff.Gamma
plot(EPC.Chernoff.Gamma, type = "l", ylim = c(0, 1))
# Compare the two results:
plot(EPC.Chernoff, type = "l", main = "Exceedance Probability Curve", ylim = c(0, 1))
lines(EPC.Chernoff.Gamma, col = 2, lty = 2)
legend("topright", c("Dirac Delta", expression(paste("Gamma(",
alpha[i] == 1 / theta^2, ", ", beta[i] ==1 / (x[i] * theta^2), ")", " cap =", 5))),
lwd = 2, lty = 1:2, col = 1:2)

[Package tailloss version 1.0 Index]