Learn R Programming

ChainLadder (version 0.2.15)

CLFMdelta: Find "selection consistent" values of delta

Description

This function finds the values of delta, one for each development period, such that the model coefficients resulting from the 'chainladder' function with delta = solution are consistent with an input vector of 'selected' development age-to-age factors.

Usage


CLFMdelta(Triangle, selected, tolerance = .0005, ...)

Value

A vector of real numbers, say delta0, such that

coef(chainladder(Triangle, delta = delta0)) = selected

within tolerance. A logical attribute 'foundSolution' indicates if a solution was found for each element of selected.

Arguments

Triangle

cumulative claims triangle. A (mxn)-matrix \(C_{ik}\) which is filled for \(k \leq n+1-i; i=1,\ldots,m; m\geq n \), see qpaid for how to use (mxn)-development triangles with m<n, say higher development period frequency (e.g quarterly) than origin period frequency (e.g accident years).

selected

a vector of selected age-to-age factors or "link ratios", one for each development period of 'Triangle'

tolerance

a 'tolerance' parameters. Default: .0005; for each element of 'selected' a solution 'delta' will be found -- if possible -- so that the chainladder model indexed by 'delta' results in a multiplicative coefficient within 'tolerance' of the 'selected' factor.

...

not in use

Author

Dan Murphy

Details

For a given input Triangle and vector of selected factors, a search is conducted for chainladder models that are "consistent with" the selected factors. By "consistent with" is meant that the coefficients of the chainladder function are equivalent to the selected factors. Not all vectors of selected factors can be considered consistent with a given Triangle; feasibility is subject to restrictions on the 'selected' factors relative to the input 'Triangle'. See the References.

The default average produced by the chainladder function is the volume weighted average and corresponds to delta = 1 in the call to that function; delta = 2 produces the simple average; and delta = 0 produces the "regression average", i.e., the slope of a regression line fit to the data and running through the origin. By convention, if the selected value corresponds to the volume-weighted average, the simple average, or the regression average, then the value returned will be 1, 2, and 0, respectively.

Other real-number values for delta will produce a different average. The point of this function is to see if there exists a model as determined by delta whose average is consistent with the value in the selected vector. That is not always possible. See the References.

It can be the case that one or more of the above three "standard averages" will be quite close to each other (indistinguishable within tolerance). In that case, the value returned will be, in the following priority order by convention, 1 (volume weighted average), 2 (simple average), or 0 (regression average).

References

Bardis, Majidi, Murphy. A Family of Chain-Ladder Factor Models for Selected Link Ratios. Variance. Pending. Variance 6:2, 2012, pp. 143-160.

Examples

Run this code

x <- RAA[1:9,1]
y <- RAA[1:9,2]
F <- y/x
CLFMdelta(RAA[1:9, 1:2], selected = mean(F)) # value is 2, 'foundSolution' is TRUE
CLFMdelta(RAA[1:9, 1:2], selected = sum(y) / sum(x)) # value is 1, 'foundSolution' is TRUE

selected <- mean(c(mean(F), sum(y) / sum(x))) # an average of averages
CLFMdelta(RAA[1:9, 1:2], selected) # about 1.725
CLFMdelta(RAA[1:9, 1:2], selected = 2) # negative solutions are possible

# Demonstrating an "unreasonable" selected factor.
CLFMdelta(RAA[1:9, 1:2], selected = 1.9) # NA solution, with warning

Run the code above in your browser using DataLab