bstraub {actuar} | R Documentation |
bstraub
computes structure parameters estimators in the
Bühlmann-Straub credibility model and predict.bstraub
computes
the credibility premiums.
bstraub(ratios, weights, method = c("unbiased", "iterative"), tol = sqrt(.Machine$double.eps), maxit = 100, echo = FALSE, old.format = TRUE) ## S3 method for class 'bstraub': predict(object, levels = NULL, newdata, ...) ## S3 method for class 'bstraub.old': predict(object, ...)
ratios |
a matrix of ratios (contracts in lines, years in columns). |
weights |
a matrix of weights corresponding to ratios. |
method |
estimator of the between contract heterogeneity
parameter used in premium calculation; "unbiased" for the
usual Bühlmann-Straub estimator, "iterative" for the
Bischel-Straub estimator (see below). |
tol |
maximum relative error in the iterative procedure. |
maxit |
maximum number of iterations. |
echo |
logical; whether to echo iterative procedure or not. |
old.format |
logical; if TRUE , return results in the
deprecated pre-0.9-4 format. |
object |
an object of class "bstraub" . |
levels, newdata, ... |
unused arguments. |
Direct usage of this function is deprecated. The function will not be
exported in future versions of the package. Use
cm
instead.
The credibility premium of contract i is given by
z[i] X[iw] + (1 - z[i]) X[zw],
where
z[i] = (w[i.] a)/(w[i.] a + s^2),
X[iw] is the weighted average of the ratios of contract i, X[zw] is the weighted average of the matrix of ratios using credibility factors and w[i.] is the total weight of a contract. s^2 is the estimator of the within contract heterogeneity and a is the estimator of the between contract heterogeneity.
Missing data are represented by NA
in both the matrix of ratios
and the matrix of weights. The function can cope with complete lines
of NA
in case a contract has no experience.
bstraub
computes the structure parameters estimators and
returns an object of class "bstraub"
. The methods of
predict
compute the credibility premiums.
For bstraub
with old.format = TRUE
, an object of
class
"bstraub.old"
. This format is
deprecated. An object of class "bstraub.old"
is a list with the
following components:
individual |
vector of contract weighted averages; |
collective |
collective premium estimator; |
weights |
vector of contracts total weights, as used in credibility factors; |
s2 |
estimator of the within contract heterogeneity parameter; |
unbiased |
unbiased estimator of the between contract heterogeneity parameter; |
iterative |
iterative estimator of the between contract heterogeneity parameter; |
cred |
vector of credibility factors; |
means |
a list containing the collective premium estimator and vector of contract weighted averages. |
weights |
a list containing the total portfolio weight and the vector of contracts total weights, as used in credibility factors; |
unbiased |
a vector containing the unbiased variance components estimators. |
iterative |
a vector containing the iterative variance components
estimators, or NULL . |
cred |
vector of credibility factors. |
nodes |
a list containing the number of contracts in the portfolio. |
For predict.bstraub
, a vector of credibility premiums.
The Bühlmann-Straub unbiased estimator (heterogeneity =
"unbiased"
) of the between contracts heterogeneity parameter is
a = c sum(w[i.] * (X[iw] - X[ww])^2 - (I - 1) * s^2),
where c = w[..]/(w[..]^2 - sum(w[i.]^2)) and I is the number of contracts.
The Bishel-Straub pseudo-estimator (heterogeneity =
"iterative"
) is obtained recursively as the solution of
a = 1/(I - 1) sum(z[i] * (X[iw] - X[zw])^2).
The fixed point algorithm is used with a relative error of tol
as stopping criteria.
Vincent Goulet vincent.goulet@act.ulaval.ca, Sébastien Auclair and Louis-Philippe Pouliot
Goulet, V. (1998), Principles and Application of Credibility Theory, Journal of Actuarial Practice 6, 5–62.
Goovaerts, M. J. and Kaas, R. and van Heerwaarden, A. E. and Bauwelinckx, T. (1990), Effective actuarial methods, North-Holland.
data(hachemeister) ## Credibility premiums calculated with the iterative estimator fit <- bstraub(hachemeister[, 2:13], hachemeister[, 14:25], old.format = FALSE) fit # a list predict(fit) # credibility premiums