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.
Extends 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).