simulate_covariates() no longer calls
set.seed() unconditionally. With the default
random_seed = NULL this previously resolved to
set.seed(NULL), which reseeds R’s random number generator
from system entropy: the covariate levels, and every draw made after
them, ignored any seed set by the user and were not reproducible. The
caller’s random number stream is now left untouched in this case, so a
seed set via set.seed() carries through the whole
simulation as expected. Thanks to Patrick Laub (@Pat-Laub, #5).
When random_seed is supplied to
simulate_covariates() or claim_size_adj(), the
caller’s random number stream is now saved and restored around the local
seeding, instead of being left rewound to that seed. The simulated
covariate levels and adjusted claim sizes for a given
random_seed are unchanged; only the state of the stream
afterwards differs, so subsequent modules (notification, closure,
payments) will now draw from the caller’s own stream rather than from
one determined by random_seed.
The bundled datasets (test_covariates_dataset,
test_claims_object_cov, test_claim_dataset_cov
and test_transaction_dataset_cov) are
unchanged in this release. They were generated before
this fix and are therefore not reproducible from
data-raw/test_data_covariates.R; they have been left as-is
so that existing analyses built on them continue to work. They will be
regenerated in a future major release.
claim_covariates sub-moduleExtends the package by including support for covariates and their impact on claim sizes.
Includes one new vignette, demonstrating the sub-module and its use-cases.
Includes five new data objects. The three existing datasets
test_claims_object, test_claim_dataset and
test_transaction_dataset now also have a version where
outputs are impacted by the effect of covariates. A
test_covariates_obj and
test_covariates_dataset have been included which provide
information regarding the specific factors and levels of covariates used
in relation to each claim.
Suggests) on the
poisson packageSuggests) on the
ChainLadder packageplot_transaction_dataset() function for plotting
claim development from a payment-level dataset, in addition to the
plot.claims method that works only with a
claims object.Updates citation
Fixes a bug in the default sampling function of
claim_payment_no()
Fixes the treatment of params_split to allow for
trivial params
claim_output() to allow an option to
adjust the treatment of out-of-bound transactions in
tabulation. The previous version (1.0.0) automatically
forced all out-of-bound transactions to be paid at the exact end of the
maximum development period allowed. This is now set as the default
behaviour, but the user can also set adjust = FALSE to see
the proportion of payments projected to fall beyond the maximum
development period (the “tail”).claim_output() to force adjust for
higher aggregate_level. The issue with previous function
was that it ignored payments beyond the max development period after
aggregation. This is now fixed - either merged to the end DQ, or in a
separate tail cell (if adjust = FALSE).Both claim_frequency() and claim_size()
now allow users to input a random generation function (by specifying a
simfun and setting type = "r"), in addition to
cdf inputs (type = "p") allowed by the predecessor
version.
r-function and if it finds one, apply the
r-function directly instead of inverse sampling from the
cdf.Relaxes assumptions for claim_notification() and
claim_closure().
SynthETIC 0.1.0 assumes Weibull and only allows changes
to mean and cv.rfun and
paramfun.Sets the benchmarks in
claim_payment_no() function optional (and will only be read
if the default simulation function is used).
claim_payment_no() is now also implemented through
rfun and paramfun, instead of the original
simulate_no_pmt_function (which works in the same way as
rfun but without the functionality to change
parameters).
claim_payment_size() is also implemented through
rfun and paramfun, replacing the original
simulate_amt_pmt_function.
New to_SynthETIC() function helps the conversion
from externally simulated objects to SynthETIC format for
easy integration with other simulation functions/modules.
Fixed a few typos in function documentation.
claim_output() function is updated to correctly
calculate triangles on a higher aggregate level (from square to
parallelogram-shaped).
The package vignette has been updated to reflect all the changes listed above and show more examples where the quantities are simulated from distributions other than the default.
The GitHub repo address is added to the DESCRIPTION
file.
The following don’t affect the users of the package:
test_data.R file under data-raw has
been updated to reflect the changes listed under the heading “new features”.DESCRIPTION file has been updated to include the
new reference made in the vignette (e.g. actuar).