chainladder.ExpectedLoss

Contents

chainladder.ExpectedLoss#

class chainladder.ExpectedLoss(apriori=1.0, apriori_sigma=0.0, random_state=None)[source]#

The deterministic Expected Loss IBNR model, it ignores all data in the triangle, and only uses the sample_weight modified by the apriori to calculate the ultimate losses.

Parameters:
apriori: float, optional (default=1.0)

Multiplier for the sample_weight used in the Expected Loss method. If sample_weight is already an apriori measure of ultimate, then use 1.0

apriori_sigma: float, optional (default=0.0)

Standard deviation of the apriori. When used in conjunction with the bootstrap model, the model samples aprioris from a lognormal distribution using this argument as a standard deviation.

random_state: int, RandomState instance or None, optional (default=None)

Seed for sampling from the apriori distribution. This is ignored when using as a deterministic method. If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator; If None, the random number generator is the RandomState instance used by np.random.

Attributes:
ultimate_: Triangle

The ultimate losses per the method

ibnr_: Triangle

The IBNR per the method

Methods

fit(X[, y, sample_weight])

Applies the Benktander technique to triangle X

get_metadata_routing()

Get metadata routing of this object.

get_params([deep])

Get parameters for this estimator.

intersection(a, b)

Given two Triangles with mismatched indices, this method aligns their indices

predict(X[, sample_weight])

Predicts the Benktander ultimate on a new triangle X

set_backend(backend[, inplace, deep])

Converts triangle array_backend.

set_fit_request(*[, sample_weight])

Configure whether metadata should be requested to be passed to the fit method.

set_params(**params)

Set the parameters of this estimator.

set_predict_request(*[, sample_weight])

Configure whether metadata should be requested to be passed to the predict method.

to_json()

Serializes triangle object to json format

to_pickle(path[, protocol])

Serializes triangle object to pickle.

fit_predict

pipe

validate_X

validate_weight

Examples

xyz = cl.load_sample("xyz")

ibnr = (
    cl.ExpectedLoss()
    .fit(X=xyz["Paid"], sample_weight=xyz["Premium"].latest_diagonal)
    .ibnr_
)
print(ibnr)
         2261
1998   4178.0
1999   6683.0
2000   8218.0
2001  11481.0
2002  16746.0
2003  29855.0
2004  46511.0
2005  98125.0
2006  84759.0
2007  50573.0
2008  44388.0

We can specify the apriori as a percentage of the premium.

xyz = cl.load_sample("xyz")

ibnr = (
    cl.ExpectedLoss(apriori=0.9)
    .fit(X=xyz["Paid"], sample_weight=xyz["Premium"].latest_diagonal)
    .ibnr_
)
print(ibnr)
         2261
1998   2178.0
1999   3533.0
2000   3718.0
2001   6481.0
2002  10627.7
2003  22937.5
2004  36578.8
2005  84309.9
2006  74001.2
2007  44329.2
2008  39608.3