mommb {MBBEFDLite} | R Documentation |
Method of Moments Parameter Estimation for the MBBEFD distribution
Description
Attempts to find the best g
and b
parameters which are consistent
with the first and second moments of the supplied data.
Usage
mommb(x, maxit = 100L, tol = .Machine$double.eps ^ 0.5, na.rm = TRUE)
Arguments
x |
numeric; vector of observations between 0 and 1. |
maxit |
integer; maximum number of iterations. |
tol |
numeric; tolerance. If too tight, algorithm may fail.
Defaults to the square root of |
na.rm |
logical; if |
Details
The algorithm is based on sections 4.1 and 4.2 of Bernegger (1997). With rare
exceptions, the fitted g
and b
parameters must conform to:
\mu = \frac{\ln(gb)(1-b)}{\ln(b)(1-gb)}
subject to:
\mu^2 \le E[x^2]\le\mu\\ p\le E[x^2]
where \mu
and \mu^2
are the “true” first and second moments
and E[x^2]
is the empirical second moment.
The algorithm starts with the estimate p = E[x^2]
as an upper bound.
However, in step 2 of section 4.2, the p
component is estimated as the
difference between the numerical integration of x^2 f(x)
and the empirical
second moment—p = E[x^2] - \int x^2 f(x) dx
—as seen in equation (4.3).
This is converted to g
by reciprocation and convergence is tested by the
difference between this new g
and its prior value. If the new
p \le 0
, the algorithm attempts to restart with a larger g
—a
smaller p
. In this case, the algorithm tends to fail to converge.
Value
Returns a list containing:
g |
The fitted |
b |
The fitted |
iter |
The number of iterations used. |
sqerr |
The squared error between the empirical mean and the
theoretical mean given the fitted |
Note
Anecdotal evidence indicates that the results of this fitting algorithm can be volatile, especially with fewer than a few hundred observations.
Author(s)
Avraham Adler Avraham.Adler@gmail.com
References
Bernegger, S. (1997) The Swiss Re Exposure Curves and the MBBEFD Distribution Class. ASTIN Bulletin 27(1), 99–111. doi:10.2143/AST.27.1.563208
See Also
rmb
for random variate generation.
Examples
set.seed(85L)
x <- rmb(1000, 25, 4)
mommb(x)