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
fitmethod.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
predictmethod.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