| exp_stats {actxps} | R Documentation |
Summarize experience study records
Description
Create a summary data frame of termination experience for a given target status.
Usage
exp_stats(
.data,
target_status = attr(.data, "target_status"),
expected,
col_exposure = "exposure",
col_status = "status",
wt = NULL,
credibility = FALSE,
conf_level = 0.95,
cred_r = 0.05,
conf_int = FALSE
)
## S3 method for class 'exp_df'
summary(object, ...)
Arguments
.data |
A data frame with exposure-level records, ideally of type
|
target_status |
A character vector of target status values |
expected |
A character vector containing column names in |
col_exposure |
Name of the column in |
col_status |
Name of the column in |
wt |
Optional. Length 1 character vector. Name of the column in
|
credibility |
If |
conf_level |
Confidence level used for the Limited Fluctuation credibility method and confidence intervals |
cred_r |
Error tolerance under the Limited Fluctuation credibility method |
conf_int |
If |
object |
An |
... |
Groups to retain after |
Details
If .data is grouped, the resulting data frame will contain
one row per group.
If target_status isn't provided, exp_stats() will use the same
target status from .data if it has the class exposed_df.
Otherwise, all status values except the first level will be assumed.
This will produce a warning message.
Value
A tibble with class exp_df, tbl_df, tbl,
and data.frame. The results include columns for any grouping variables,
claims, exposures, and observed termination rates (q_obs).
If any values are passed to
expected, expected termination rates and actual-to-expected ratios.If
credibilityis set toTRUE, additional columns are added for partial credibility and credibility-weighted termination rates (assuming values are passed toexpected). Credibility-weighted termination rates are prefixed byadj_.If
conf_intis set toTRUE, additional columns are added for lower and upper confidence interval limits around the observed termination rates and any actual-to-expected ratios. Additionally, ifcredibilityisTRUEand expected values are passed toexpected, the output will contain confidence intervals around credibility-weighted termination rates. Confidence interval columns include the name of the original output column suffixed by either_loweror_upper.If a value is passed to
wt, additional columns are created containing the the sum of weights (.weight), the sum of squared weights (.weight_qs), and the number of records (.weight_n).
Expected values
The expected argument is optional. If provided, this argument must
be a character vector with values corresponding to columns in .data
containing expected experience. More than one expected basis can be provided.
Credibility
If credibility is set to TRUE, the output will contain a
credibility column equal to the partial credibility estimate under
the Limited Fluctuation credibility method (also known as Classical
Credibility) assuming a binomial distribution of claims.
Confidence intervals
If conf_int is set to TRUE, the output will contain lower and upper
confidence interval limits for the observed termination rate and any
actual-to-expected ratios. The confidence level is dictated
by conf_level. If no weighting variable is passed to wt, confidence
intervals will be constructed assuming a binomial distribution of claims.
Otherwise, confidence intervals will be calculated assuming that the
aggregate claims distribution is normal with a mean equal to observed claims
and a variance equal to:
Var(S) = E(N) * Var(X) + E(X)^2 * Var(N),
Where S is the aggregate claim random variable, X is the weighting
variable assumed to follow a normal distribution, and N is a binomial
random variable for the number of claims.
If credibility is TRUE and expected values are passed to expected,
the output will also contain confidence intervals for any
credibility-weighted termination rates.
summary() Method
Applying summary() to a exp_df object will re-summarize the
data while retaining any grouping variables passed to the "dots"
(...).
References
Herzog, Thomas (1999). Introduction to Credibility Theory
Examples
toy_census |> expose("2022-12-31", target_status = "Surrender") |>
exp_stats()
exp_res <- census_dat |>
expose("2019-12-31", target_status = "Surrender") |>
group_by(pol_yr, inc_guar) |>
exp_stats()
exp_res
summary(exp_res)
summary(exp_res, inc_guar)