Appendix C of the “distributions” package vignette now provides the formulas for the first three cumulants (hence the mean, variance and skewness) of the zero-truncated and zero-modified distributions. They are not used in the package code, but we developed the formulas at some point and opted to record them in the vignette for posterity.
The quantile functions for the zero-modified distributions
now correctly handle the case p <= p0. Thanks to Philippe
Leblanc for the report and pointers.
The quantile functions for the zero-modified distributions
now correctly handle the following corner cases:
p0 = 1;
limit values of the parameters with lower.tail = FALSE or
p0 = 0;
p = 0 with p0 = 0.
?ruin gains an example of mixtures of Erlang
distributions for claims and interarrival times.
ruin now works correctly for mixtures of Erlang
distributions. Closes issue #4. Thanks also to Jorge Yslas and
Paula Rocha Rodriguez [email protected]
for the report.
var and sd for individual data now correctly
use the value of argument na.rm (closes issue #5). Thanks
to Ge Zhang for the report.
pinvgauss and qinvgauss now use a gamma
approximation when the coefficient of variation is very small
(ported from statmod v1.4.28).
rinvgauss now accurately handles large or infinite
values for the mean or dispersion (ported from statmod
v1.4.29).
qinvgauss no longer takes an initial value outside
the domain of convergence with the gamma approximation for small
right tail probabilities (ported from statmod v1.4.30).
Replacement of a few API entry points for C API compliance introduced in R 4.5.0.
The print methods for objects of class "cm"
and "summary.cm" now use the option deparse.cutoff
to control the printing of the call to cm.
Appendix A of the “distributions” package vignette
still listed the root pareto2 as an alias for
pareto. Moreoever, the root for the Pareto II
distribution was wrongly listed as pareto4.
The equation for the mean of the zero-truncated Poisson distribution in the HTML version of the help page contained an inappropriate power 2 in the denominator. Thanks to Brad Biggerstaff [email protected] for the heads up.
Package vignettes now use Fira Sans for sans serif text.
rcompound will now correctly retrieve the simulation
models passed down from other functions as expression objects.
One error message in rmixture was quoting the wrong
argument.
The generics elev and ogive no longer rely on
local variables added to the environment in which the method is
evaluated by UseMethod. This “feature” should be
removed from R in the next major release. Thanks to Luke
Thierney [email protected] for the direct
notification and for the pointer to a fix.
rcomphierarc is now the base name for the simulation
function of compound hierarchical models, whereas simul
is an alias retained for backward compatibility.
The alias simpf for simul (or
rcomphierarc) is extinct.
rcompound, rcomppois and rmixture
evaluate their model arguments in the correct frame for a larger
sets of circumstances, notably when called inside another
function. ?rmixture provides more information and
examples on this matter for that function.
Package vignettes now use the STIX2 fonts for text and Fira Mono for code.
Include prototypes for all C level functions to please
-Wstrict-prototypes.
Italian translations contributed by Daniele Medri [email protected].
Package help file; use ?actuar to read.
New entry in the CITATION file for the paper in the Journal of Statistical Software presenting our implementation of the Feller-Pareto family of distributions.
Replace deprecated (as of R 4.2.0) macro DOUBLE_EPS by DBL_EPSILON in C code.
Fix incorrect usage of all.equal in tests.
Generic versions of var and sd with methods
for grouped data. The default methods (for individual data) call
the standard functions of the stats package. Grouped data
methods contributed by Walter Garcia-Fontes
[email protected].
Method of summary for grouped data objects
contributed by Walter Garcia-Fontes
[email protected].
Examples for the new methods for grouped data objects in
lossdist demonstration R script.
Use USE_FC_LEN_T in the C prototypes of LAPACK
functions to correspond to code produced by gfortran >= 7. The
mechanism was introduced in R 3.6.2 and is planned to make its
use obligatory in R 4.2.0.
Miscellaneous fixes to formulas for grouped data in the
documentation for mean.grouped.data and emm, as
well as in the “modeling” package vignette.
Due to its use of log1mexp since the previous
release, the package depends on R >= 4.1.0.
Carry over the new implementation of the Cornish-Fisher
Expansion of base R used by qlogarithmic and
qpoisinvgauss.
Fix computation of [pq]zmpois, [pq]zmbinom and
[pq]zmnbinom following fixes to the underlying base R
functions introduced in r80271 of R sources. With thanks to
B.D. Ripley and Martin Maechler.
qinvgauss now returns a finite value when
1.5/shape > 1000. Thanks to Bettina Grün
[email protected] for the fix.
A protection against rounding errors now ensures that
qzmlogarithmic(1 - pzmlogarithmic(x), lower.tail = FALSE)
== x is always TRUE.
In ?dburr, the scale parameter appeared in the
denominator of the density instead of x. Thanks to Etienne
Guy for the heads up.
The package tests now correctly use stopifnot with
argument exprs explicitly named.
The formula for the moment of order k for grouped data
in ?emm fixed in version 2.3-3 for the LaTeX version is
now also fixed for the text version. Thanks (again) to Walter
Garcia-Fontes.
rcompound and rmixture now correctly find
objects defined higher in the call stack.
rmixture now randomly shuffles the variates by
default and gains an argument shuffle (TRUE by
default). Using shuffle = FALSE restores the previous
behaviour where the output vector contains all the random
variates from the first model, then all the random variates from
the second model, and so on. When the order of the random
variates is irrelevant, this cuts execution time roughly in
half. Thanks to Adam Kałdus [email protected] for the
stimulating comments on this matter.
The number of variates returned by rmixture is now
the length of argument n if larger than 1, like other
r<dist> functions.
rmixture now checks the validity of its arguments.
Support functions [dpqrm,lev]fpareto for the
Feller-Pareto distribution and related Pareto distributions with
a location parameter. The Feller-Pareto defines a large family
of distributions encompassing the transformed beta family and
many variants of the Pareto distribution. Using the nomenclature
of Arnold (2015), the following distributions are now supported
by actuar: Feller-Pareto, Pareto IV, Pareto III, and
Pareto II. The Pareto I was already supported under the name
Single Parameter Pareto. Contributed by Christophe Dutang,
Vincent Goulet and Nicholas Langevin.
The package now exposes through an API its 200+ C routines for probability functions and the beta integral. This is documented in a new section of the “distributions” package vignette. See file ‘include/actuarAPI.h’ in the package installation directory for the complete list of exported routines.
Improvements to the accuracy in the right tail of the
p<dist> and lev<dist> functions for most
probability distributions of the transformed beta family.
Achieved by replacing pbeta(u, a, b, lower.tail) for
u > 0.5 with pbeta(1 - u, b, a, !lower.tail) and an
accurate computation of u. Contributed by Nicholas
Langevin.
The C workhorse betaint_raw behind betaint
gains an additional argument to receive an accurate value of
1 - x. Used extensively to improve accuracy of the
lev<dist> functions for the transformed beta family.
Contributed by Nicholas Langevin.
The “distributions” package vignette now regroups distributions of the transformed beta families and the single parameter Pareto under the umbrella of the Feller-Pareto family of distributions. The vignette now also includes diagrams showing the interrelations between the members of this family, as well as between the members of the transformed gamma and inverse transformed gamma families.
Exhaustive regression tests for probability functions.
Improvements to the simulation algorithm for zero-modified
discrete distributions in the p_0^M < p_0 case.
Contributed by Nicholas Langevin.
dpoisinvgauss no longer returns NaN for large
values of x. Solved by computing probabilities
recursively instead of by calling bessel_k (the latter
would overflow for large nu and propagate NaN).
Computations are actually about twice as fast.
ppoisinvgauss now honors argument lower_tail.
qpoisinvgauss no longer fails with mu = Inf
and log.p = TRUE.
betaint(x, Inf, b) now returns Inf instead of
NaN.
betaint(.Machine$double.xmin, a, b), with b <
0, now returns 0 instead of NaN.
d<dist> and p<dist> functions for all
continuous size distributions now handle limiting cases for
infinite scale parameter, or for zero non-scale parameters,
consistently with functions of base R.
Affected functions are:
[dp]trbeta,
[dp]burr,
[dp]llogis,
[dp]paralogis,
[dp]genpareto,
[dp]pareto,
[dp]invburr,
[dp]invpareto,
[dp]invparalogis in the Transformed Beta family;
[dp]trgamma,
[dp]invtrgamma,
[dp]invgamma,
[dp]invweibull,
[dp]invexp in the Transformed Gamma family;
[dp]lgamma,
[dp]gumbel,
[dp]invgauss,
[dp]genbeta.
levinvexp no longer returns NaN for finite
order.
Support for the Pareto II distributions comes from functions
[dpqrm,lev]pareto2. These functions were aliases to
[dpqrm,lev]pareto in previous version of actuar.
The new functions are not backward compatible. Therefore,
calls to the *pareto2 functions of previous versions of
actuar will return wrong results and should be replaced by
calls to *pareto functions.
Functions [m,lev,mgf]invGauss that were deprecated in
version 2.0-0.