Title: | Optimally Robust Estimation |
---|---|
Description: | R infrastructure for optimally robust estimation in general smoothly parameterized models using S4 classes and methods as described Kohl, M., Ruckdeschel, P., and Rieder, H. (2010), <doi:10.1007/s10260-010-0133-0>, and in Rieder, H., Kohl, M., and Ruckdeschel, P. (2008), <doi:10.1007/s10260-007-0047-7>. |
Authors: | Matthias Kohl [cre, cph] , Mykhailo Pupashenko [ctb] (contributed wrapper functions for diagnostic plots), Gerald Kroisandt [ctb] (contributed testing routines), Peter Ruckdeschel [aut, cph] |
Maintainer: | Matthias Kohl <[email protected]> |
License: | LGPL-3 |
Version: | 1.3.4 |
Built: | 2024-11-03 05:42:30 UTC |
Source: | https://github.com/r-forge/robast |
Optimally robust estimation in general smoothly parameterized models using S4 classes and methods.
Package: | ROptEst |
Version: | 1.3.4 |
Date: | 2024-08-29 |
Depends: | R(>= 3.4), methods, distr(>= 2.8.0), distrEx(>= 2.8.0), distrMod(>= 2.8.1),RandVar(>= 1.2.0), RobAStBase(>= 1.2.0) |
Suggests: | RobLox |
Imports: | startupmsg, MASS, stats, graphics, utils, grDevices |
ByteCompile: | yes |
Encoding: | latin1 |
License: | LGPL-3 |
URL: | https://robast.r-forge.r-project.org/ |
VCS/SVNRevision: | 1313 |
Note: The first two numbers of package versions do not necessarily reflect package-individual development, but rather are chosen for the RobAStXXX family as a whole in order to ease updating "depends" information.
Peter Ruckdeschel [email protected],
Matthias Kohl [email protected]
Maintainer: Matthias Kohl [email protected]
M. Kohl (2005). Numerical Contributions to the Asymptotic Theory of Robustness. Dissertation. University of Bayreuth. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf. M. Kohl, P. Ruckdeschel, and H. Rieder (2010). Infinitesimally Robust Estimation in General Smoothly Parametrized Models. Statistical Methods and Applications 19(3): 333-354. doi:10.1007/s10260-010-0133-0. H. Rieder (1994): Robust Asymptotic Statistics. Springer. doi:10.1007/978-1-4684-0624-5 H. Rieder, M. Kohl, and P. Ruckdeschel (2008). The Costs of Not Knowing the Radius. Statistical Methods and Applications 17(1): 13-40. doi:10.1007/s10260-007-0047-7 P. Ruckdeschel (2005). Optimally One-Sided Bounded Influence Curves. Mathematical Methods of Statistics 14(1), 105-131. P. Ruckdeschel and H. Rieder (2004). Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223. doi:10.1524/stnd.22.3.201.57067
distr-package
,
distrEx-package
,
distrMod-package
,
RandVar-package
,
RobAStBase-package
## don't test to reduce check time on CRAN library(ROptEst) ## Example: Rutherford-Geiger (1910); cf. Feller~(1968), Section VI.7 (a) x <- c(rep(0, 57), rep(1, 203), rep(2, 383), rep(3, 525), rep(4, 532), rep(5, 408), rep(6, 273), rep(7, 139), rep(8, 45), rep(9, 27), rep(10, 10), rep(11, 4), rep(12, 0), rep(13, 1), rep(14, 1)) ## ML-estimate from package distrMod MLest <- MLEstimator(x, PoisFamily()) MLest ## confidence interval based on CLT confint(MLest) ## compute optimally (w.r.t to MSE) robust estimator (unknown contamination) robEst <- roptest(x, PoisFamily(), eps.upper = 0.1, steps = 3) estimate(robEst) ## check influence curve pIC(robEst) checkIC(pIC(robEst)) ## plot influence curve plot(pIC(robEst)) ## confidence interval based on LAN - neglecting bias confint(robEst) ## confidence interval based on LAN - including bias confint(robEst, method = symmetricBias())
## don't test to reduce check time on CRAN library(ROptEst) ## Example: Rutherford-Geiger (1910); cf. Feller~(1968), Section VI.7 (a) x <- c(rep(0, 57), rep(1, 203), rep(2, 383), rep(3, 525), rep(4, 532), rep(5, 408), rep(6, 273), rep(7, 139), rep(8, 45), rep(9, 27), rep(10, 10), rep(11, 4), rep(12, 0), rep(13, 1), rep(14, 1)) ## ML-estimate from package distrMod MLest <- MLEstimator(x, PoisFamily()) MLest ## confidence interval based on CLT confint(MLest) ## compute optimally (w.r.t to MSE) robust estimator (unknown contamination) robEst <- roptest(x, PoisFamily(), eps.upper = 0.1, steps = 3) estimate(robEst) ## check influence curve pIC(robEst) checkIC(pIC(robEst)) ## plot influence curve plot(pIC(robEst)) ## confidence interval based on LAN - neglecting bias confint(robEst) ## confidence interval based on LAN - including bias confint(robEst, method = symmetricBias())
Generates an object of class "asAnscombe"
.
asAnscombe(eff = .95, biastype = symmetricBias(), normtype = NormType())
asAnscombe(eff = .95, biastype = symmetricBias(), normtype = NormType())
eff |
value in (0,1]: ARE in the ideal model |
biastype |
a bias type of class |
normtype |
a norm type of class |
Object of class asAnscombe
Peter Ruckdeschel [email protected]
F.J. Anscombe (1960). Rejection of Outliers. Technometrics 2(2): 123-146. doi:10.1080/00401706.1960.10489888.
F. Hampel et al. (1986). Robust Statistics. The Approach Based on Influence Functions. New York: Wiley. doi:10.1002/9781118186435.
M. Kohl (2005). Numerical Contributions to the Asymptotic Theory of Robustness. Dissertation. University of Bayreuth. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf.
H. Rieder (1994). Robust Asymptotic Statistics. Springer. doi:10.1007/978-1-4684-0624-5.
asAnscombe() ## The function is currently defined as function(eff = .95, biastype = symmetricBias(), normtype = NormType()){ new("asAnscombe", eff = eff, biastype = biastype, normtype = normtype) }
asAnscombe() ## The function is currently defined as function(eff = .95, biastype = symmetricBias(), normtype = NormType()){ new("asAnscombe", eff = eff, biastype = biastype, normtype = normtype) }
Class of asymptotic Anscombe risk which is the ARE (asymptotic relative efficiency) in the ideal model obtained by an optimal bias robust IC .
Objects can be created by calls of the form new("asAnscombe", ...)
.
More frequently they are created via the generating function
asAnscombe
.
type
Object of class "character"
:
“optimal bias robust IC (OBRI) for given ARE (asymptotic relative efficiency)”.
eff
Object of class "numeric"
:
given ARE (asymptotic relative efficiency) to be attained in the ideal model.
biastype
Object of class "BiasType"
:
symmetric, one-sided or asymmetric
Class "asRiskwithBias"
, directly.
Class "asRisk"
, by class "asRiskwithBias"
.
Class "RiskType"
, by class "asRisk"
.
signature(object = "asAnscombe")
:
accessor function for slot eff
.
signature(object = "asAnscombe")
Peter Ruckdeschel [email protected]
F.J. Anscombe (1960). Rejection of Outliers. Technometrics 2(2): 123-146. doi:10.1080/00401706.1960.10489888.
F. Hampel et al. (1986). Robust Statistics. The Approach Based on Influence Functions. New York: Wiley. doi:10.1002/9781118186435.
M. Kohl (2005). Numerical Contributions to the Asymptotic Theory of Robustness. Dissertation. University of Bayreuth. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf.
H. Rieder (1994). Robust Asymptotic Statistics. Springer. doi:10.1007/978-1-4684-0624-5.
new("asAnscombe")
new("asAnscombe")
Generates an object of class "asMSE"
.
asL1(biastype = symmetricBias(), normtype = NormType())
asL1(biastype = symmetricBias(), normtype = NormType())
biastype |
a bias type of class |
normtype |
a norm type of class |
Object of class "asMSE"
Peter Ruckdeschel [email protected]
P. Ruckdeschel and H. Rieder (2004). Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223. doi:10.1524/stnd.22.3.201.57067
asL1() ## The function is currently defined as function(biastype = symmetricBias(), normtype = NormType()){ new("asL1", biastype = biastype, normtype = normtype) }
asL1() ## The function is currently defined as function(biastype = symmetricBias(), normtype = NormType()){ new("asL1", biastype = biastype, normtype = normtype) }
Class of asymptotic mean absolute error.
Objects can be created by calls of the form new("asL1", ...)
.
More frequently they are created via the generating function
asL1
.
type
Object of class "character"
:
“asymptotic mean square error”.
biastype
Object of class "BiasType"
:
symmetric, one-sided or asymmetric
normtype
Object of class "NormType"
:
norm in which a multivariate parameter is considered
Class "asGRisk"
, directly.
Class "asRiskwithBias"
, by class "asGRisk"
.
Class "asRisk"
, by class "asRiskwithBias"
.
Class "RiskType"
, by class "asGRisk"
.
No methods defined with class "asL1" in the signature.
Peter Ruckdeschel [email protected]
P. Ruckdeschel and H. Rieder (2004). Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223. doi:10.1524/stnd.22.3.201.57067
asGRisk-class
, asMSE
, asMSE-class
, asL4-class
, asL1
new("asMSE")
new("asMSE")
Generates an object of class "asL4"
.
asL4(biastype = symmetricBias(), normtype = NormType())
asL4(biastype = symmetricBias(), normtype = NormType())
biastype |
a bias type of class |
normtype |
a norm type of class |
Object of class "asL4"
Peter Ruckdeschel [email protected]
P. Ruckdeschel and H. Rieder (2004). Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223. doi:10.1524/stnd.22.3.201.57067
asL4() ## The function is currently defined as function(biastype = symmetricBias(), normtype = NormType()){ new("asL4", biastype = biastype, normtype = normtype) }
asL4() ## The function is currently defined as function(biastype = symmetricBias(), normtype = NormType()){ new("asL4", biastype = biastype, normtype = normtype) }
Class of asymptotic mean power 4 error.
Objects can be created by calls of the form new("asL4", ...)
.
More frequently they are created via the generating function
asL4
.
type
Object of class "character"
:
“asymptotic mean square error”.
biastype
Object of class "BiasType"
:
symmetric, one-sided or asymmetric
normtype
Object of class "NormType"
:
norm in which a multivariate parameter is considered
Class "asGRisk"
, directly.
Class "asRiskwithBias"
, by class "asGRisk"
.
Class "asRisk"
, by class "asRiskwithBias"
.
Class "RiskType"
, by class "asGRisk"
.
No methods defined with class "asL4" in the signature.
Peter Ruckdeschel [email protected]
P. Ruckdeschel and H. Rieder (2004). Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223. doi:10.1524/stnd.22.3.201.57067
asGRisk-class
, asMSE
, asMSE-class
, asL1-class
, asL4
new("asMSE")
new("asMSE")
Particular methods for checking centering and Fisher consistency of ICs, resp. making an IC out of an IC possibly violating the conditions so far.
## S4 method for signature 'ContIC,L2ParamFamily' checkIC(IC, L2Fam, out = TRUE, forceContICMethod = FALSE, ..., diagnostic = FALSE) ## S4 method for signature 'ContIC,L2ParamFamily' makeIC(IC, L2Fam, forceContICMethod = FALSE, ..., diagnostic = FALSE)
## S4 method for signature 'ContIC,L2ParamFamily' checkIC(IC, L2Fam, out = TRUE, forceContICMethod = FALSE, ..., diagnostic = FALSE) ## S4 method for signature 'ContIC,L2ParamFamily' makeIC(IC, L2Fam, forceContICMethod = FALSE, ..., diagnostic = FALSE)
IC |
object of class |
L2Fam |
L2-differentiable family of probability measures. |
out |
logical: Should the values of the checks be printed out? |
forceContICMethod |
logical: Should we force to use the method for
signature |
... |
additional parameters to be passed on to expectation
|
diagnostic |
logical; if |
In checkIC
, the precisions of the centering and the Fisher consistency
are computed. makeIC
affinely transforms a given IC (not necessarily
satisfying the centering and Fisher consistency condition so far) such that
after this transformation it becomes an IC (satisfying the conditions).
Here particular methods for ICs of class ContIC
are provided using
the particular structure of this class which allows for speed up in certain cases.
The maximum deviation from the IC properties is returned.
Peter Ruckdeschel [email protected]
M. Kohl (2005). Numerical Contributions to the Asymptotic Theory of Robustness. Dissertation. University of Bayreuth. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf.
M. Kohl, P. Ruckdeschel, and H. Rieder (2010). Infinitesimally Robust Estimation in General Smoothly Parametrized Models. Statistical Methods and Applications 19(3): 333-354. doi:10.1007/s10260-010-0133-0.
H. Rieder (1994): Robust Asymptotic Statistics. Springer. doi:10.1007/978-1-4684-0624-5
IC1 <- new("IC") checkIC(IC1)
IC1 <- new("IC") checkIC(IC1)
These functions and their methods can be used to determine cniper contamination as well as cniper points. That is, under which (Dirac) contamination is the risk of one procedure larger than the risk of some other procedure.
cniperCont(IC1, IC2, data = NULL, ..., neighbor, risk, lower=getdistrOption("DistrResolution"), upper=1-getdistrOption("DistrResolution"), n = 101, with.automatic.grid = TRUE, scaleX = FALSE, scaleX.fct, scaleX.inv, scaleY = FALSE, scaleY.fct = pnorm, scaleY.inv=qnorm, scaleN = 9, x.ticks = NULL, y.ticks = NULL, cex.pts = 1, cex.pts.fun = NULL, col.pts = par("col"), pch.pts = 19, cex.npts = 0.6, cex.npts.fun = NULL, col.npts = "red", pch.npts = 20, jit.fac = 1, jit.tol = .Machine$double.eps, with.lab = FALSE, lab.pts = NULL, lab.font = NULL, alpha.trsp = NA, which.lbs = NULL, which.Order = NULL, which.nonlbs = NULL, attr.pre = FALSE, return.Order = FALSE, withSubst = TRUE) cniperPoint(L2Fam, neighbor, risk, lower, upper) cniperPointPlot(L2Fam, data=NULL, ..., neighbor, risk= asMSE(), lower=getdistrOption("DistrResolution"), upper=1-getdistrOption("DistrResolution"), n = 101, withMaxRisk = TRUE, with.automatic.grid = TRUE, scaleX = FALSE, scaleX.fct, scaleX.inv, scaleY = FALSE, scaleY.fct = pnorm, scaleY.inv=qnorm, scaleN = 9, x.ticks = NULL, y.ticks = NULL, cex.pts = 1, cex.pts.fun = NULL, col.pts = par("col"), pch.pts = 19, cex.npts = 1, cex.npts.fun = NULL, col.npts = par("col"), pch.npts = 19, jit.fac = 1, jit.tol = .Machine$double.eps, with.lab = FALSE, lab.pts = NULL, lab.font = NULL, alpha.trsp = NA, which.lbs = NULL, which.nonlbs = NULL, which.Order = NULL, attr.pre = FALSE, return.Order = FALSE, withSubst = TRUE, withMakeIC = FALSE)
cniperCont(IC1, IC2, data = NULL, ..., neighbor, risk, lower=getdistrOption("DistrResolution"), upper=1-getdistrOption("DistrResolution"), n = 101, with.automatic.grid = TRUE, scaleX = FALSE, scaleX.fct, scaleX.inv, scaleY = FALSE, scaleY.fct = pnorm, scaleY.inv=qnorm, scaleN = 9, x.ticks = NULL, y.ticks = NULL, cex.pts = 1, cex.pts.fun = NULL, col.pts = par("col"), pch.pts = 19, cex.npts = 0.6, cex.npts.fun = NULL, col.npts = "red", pch.npts = 20, jit.fac = 1, jit.tol = .Machine$double.eps, with.lab = FALSE, lab.pts = NULL, lab.font = NULL, alpha.trsp = NA, which.lbs = NULL, which.Order = NULL, which.nonlbs = NULL, attr.pre = FALSE, return.Order = FALSE, withSubst = TRUE) cniperPoint(L2Fam, neighbor, risk, lower, upper) cniperPointPlot(L2Fam, data=NULL, ..., neighbor, risk= asMSE(), lower=getdistrOption("DistrResolution"), upper=1-getdistrOption("DistrResolution"), n = 101, withMaxRisk = TRUE, with.automatic.grid = TRUE, scaleX = FALSE, scaleX.fct, scaleX.inv, scaleY = FALSE, scaleY.fct = pnorm, scaleY.inv=qnorm, scaleN = 9, x.ticks = NULL, y.ticks = NULL, cex.pts = 1, cex.pts.fun = NULL, col.pts = par("col"), pch.pts = 19, cex.npts = 1, cex.npts.fun = NULL, col.npts = par("col"), pch.npts = 19, jit.fac = 1, jit.tol = .Machine$double.eps, with.lab = FALSE, lab.pts = NULL, lab.font = NULL, alpha.trsp = NA, which.lbs = NULL, which.nonlbs = NULL, which.Order = NULL, attr.pre = FALSE, return.Order = FALSE, withSubst = TRUE, withMakeIC = FALSE)
IC1 |
object of class |
IC2 |
object of class |
L2Fam |
object of class |
neighbor |
object of class |
risk |
object of class |
... |
additional parameters (in particular to be passed on to |
data |
data to be plotted in |
lower , upper
|
the lower and upper end points of the contamination interval (in prob-scale). |
n |
number of points between |
withMaxRisk |
logical; if |
with.automatic.grid |
logical; should a grid be plotted alongside
with the ticks of the axes, automatically? If |
scaleX |
logical; shall X-axis be rescaled (by default according to the cdf of the underlying distribution)? |
scaleY |
logical; shall Y-axis be rescaled (by default according to a probit scale)? |
scaleX.fct |
an isotone, vectorized function mapping the domain of the IC(s)
to [0,1]; if |
scaleX.inv |
the inverse function to |
scaleY.fct |
an isotone, vectorized function mapping for each coordinate the
range of the respective coordinate of the IC(s)
to [0,1]; defaulting to the cdf of |
scaleY.inv |
an isotone, vectorized function mapping for each coordinate
the range [0,1] into the range of the respective coordinate of the IC(s);
defaulting to the quantile function of |
scaleN |
integer; defaults to 9; on rescaled axes, number of x and y ticks if drawn automatically; |
x.ticks |
numeric; defaults to NULL; (then ticks are chosen automatically); if non-NULL, user-given x-ticks (on original scale); |
y.ticks |
numeric; defaults to NULL; (then ticks are chosen automatically); if non-NULL, user-given y-ticks (on original scale); |
cex.pts |
size of the points of the second argument plotted (vectorized); |
cex.pts.fun |
rescaling function for the size of the points to be plotted;
either |
col.pts |
color of the points of the second argument plotted (vectorized); |
pch.pts |
symbol of the points of the second argument plotted (vectorized); |
col.npts |
color of the non-labelled points of the |
pch.npts |
symbol of the non-labelled points of the |
cex.npts |
size of the non-labelled points of the |
cex.npts.fun |
rescaling function for the size of the non-labelled points
to be plotted; either |
with.lab |
logical; shall labels be plotted to the observations? |
lab.pts |
character or NULL; labels to be plotted to the observations; if |
lab.font |
font to be used for labels |
alpha.trsp |
alpha transparency to be added ex post to colors
|
jit.fac |
jittering factor used in case of a |
jit.tol |
jittering tolerance used in case of a |
which.lbs |
either an integer vector with the indices of the observations
to be plotted into graph or |
which.nonlbs |
indices of the observations which should be plotted but
not labelled; either an integer vector with the indices of the observations
to be plotted into graph or |
which.Order |
we order the observations (descending) according to the norm given by
|
attr.pre |
logical; do graphical attributes for plotted data refer
to indices prior ( |
return.Order |
logical; if |
withSubst |
logical; if |
withMakeIC |
logical; if |
In case of cniperCont
the difference between the risks of two ICs
is plotted.
The function cniperPoint
can be used to determine cniper
points. That is, points such that the optimally robust estimator
has smaller minimax risk than the classical optimal estimator under
contamination with Dirac measures at the cniper points.
As such points might be difficult to find, we provide the
function cniperPointPlot
which can be used to obtain a plot
of the risk difference; in this function the usual arguments for
plot
can be used. For arguments col
, lwd
,
vectors can be used; then the first coordinate is taken for the
curve, the second one for the balancing line. For argument lty
,
a list can be used; its first component is then taken for the
curve, the second one for the balancing line.
If argument withSubst
is TRUE
, in all title
and axis lable arguments of cniperCont
and cniperPointPlot
,
the following patterns are substituted:
"%C"
class of argument L2Fam
(for cniperPointPlot
)
"%A"
deparsed argument L2Fam
(for cniperPointPlot
)
"%C1"
class of argument IC1
(for cniperCont
)
"%A1"
deparsed argument IC1
(for cniperCont
)
"%C2"
class of argument IC2
(for cniperCont
)
"%A2"
deparsed argument IC2
(for cniperCont
)
"%D"
time/date-string when the plot was generated
For more details about cniper contamination and cniper points we refer to Section~3.5 of Kohl et al. (2008) as well as Ruckdeschel (2004) and the Introduction of Kohl (2005).
The cniper point is returned by cniperPoint
.
In case of cniperPointPlot
, we return
an S3 object of class c("plotInfo","DiagnInfo")
, i.e., a list
containing the information needed to produce the
respective plot, which at a later stage could be used by different
graphic engines (like, e.g. ggplot
) to produce the plot
in a different framework. A more detailed description will follow in
a subsequent version.
Matthias Kohl [email protected]
M. Kohl (2005). Numerical Contributions to the Asymptotic Theory of Robustness. Dissertation. University of Bayreuth. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf.
M. Kohl, P. Ruckdeschel, and H. Rieder (2010). Infinitesimally Robust Estimation in General Smoothly Parametrized Models. Statistical Methods and Applications 19(3): 333-354. doi:10.1007/s10260-010-0133-0.
P. Ruckdeschel (2004). Higher Order Asymptotics for the MSE of M-Estimators on Shrinking Neighborhoods. Unpublished Manuscript.
## cniper contamination P <- PoisFamily(lambda = 4) RobP1 <- InfRobModel(center = P, neighbor = ContNeighborhood(radius = 0.1)) IC1 <- optIC(model=RobP1, risk=asMSE()) RobP2 <- InfRobModel(center = P, neighbor = ContNeighborhood(radius = 1)) IC2 <- optIC(model=RobP2, risk=asMSE()) cniperCont(IC1 = IC1, IC2 = IC2, neighbor = ContNeighborhood(radius = 0.5), risk = asMSE(), lower = 0, upper = 8, n = 101) ## cniper point plot cniperPointPlot(P, neighbor = ContNeighborhood(radius = 0.5), risk = asMSE(), lower = 0, upper = 10) ## Don't run to reduce check time on CRAN ## cniper point cniperPoint(P, neighbor = ContNeighborhood(radius = 0.5), risk = asMSE(), lower = 0, upper = 4) cniperPoint(P, neighbor = ContNeighborhood(radius = 0.5), risk = asMSE(), lower = 4, upper = 8)
## cniper contamination P <- PoisFamily(lambda = 4) RobP1 <- InfRobModel(center = P, neighbor = ContNeighborhood(radius = 0.1)) IC1 <- optIC(model=RobP1, risk=asMSE()) RobP2 <- InfRobModel(center = P, neighbor = ContNeighborhood(radius = 1)) IC2 <- optIC(model=RobP2, risk=asMSE()) cniperCont(IC1 = IC1, IC2 = IC2, neighbor = ContNeighborhood(radius = 0.5), risk = asMSE(), lower = 0, upper = 8, n = 101) ## cniper point plot cniperPointPlot(P, neighbor = ContNeighborhood(radius = 0.5), risk = asMSE(), lower = 0, upper = 10) ## Don't run to reduce check time on CRAN ## cniper point cniperPoint(P, neighbor = ContNeighborhood(radius = 0.5), risk = asMSE(), lower = 0, upper = 4) cniperPoint(P, neighbor = ContNeighborhood(radius = 0.5), risk = asMSE(), lower = 4, upper = 8)
The wrapper CniperPointPlot
(capital C!) takes most of arguments
to the cniperPointPlot
(lower case c!) function by default and gives
a user possibility to run the function with low number of arguments.
CniperPointPlot(fam, ..., lower = getdistrOption("DistrResolution"), upper = 1 - getdistrOption("DistrResolution"), with.legend = TRUE, rescale = FALSE, withCall = TRUE)
CniperPointPlot(fam, ..., lower = getdistrOption("DistrResolution"), upper = 1 - getdistrOption("DistrResolution"), with.legend = TRUE, rescale = FALSE, withCall = TRUE)
fam |
object of class L2ParamFamily |
... |
additional parameters (in particular to be
passed on to |
lower |
the lower end point of the contamination interval |
upper |
the upper end point of the contamination interval |
with.legend |
the flag for showing the legend of the plot |
rescale |
the flag for rescaling the axes for better view of the plot |
withCall |
the flag for the call output |
invisible(NULL)
Calls cniperPointPlot
with suitably chosen
defaults; if withCall == TRUE
, the call to
cniperPointPlot
is returned.
L2fam <- NormLocationScaleFamily() CniperPointPlot(fam=L2fam, main = "Normal location and scale", lower = 0, upper = 2.5, withCall = FALSE)
L2fam <- NormLocationScaleFamily() CniperPointPlot(fam=L2fam, main = "Normal location and scale", lower = 0, upper = 2.5, withCall = FALSE)
Plots 2-4 influence curves to the same model.
S4-Method comparePlot
for signature IC,IC
has been enhanced compared to
its original definition in RobAStBase so that if
argument MBRB
is NA
, it is filled automatically by a call
to optIC
which computes the MBR-IC on the fly. To this end, there
is an additional argument n.MBR
defaulting to 10000
to determine the number of evaluation points.
## all (interesting) examples to this function need ## more time than 5 seconds; ## you can find them in ## system.file("scripts", "examples_taking_longer.R", ## package="ROptEst")
## all (interesting) examples to this function need ## more time than 5 seconds; ## you can find them in ## system.file("scripts", "examples_taking_longer.R", ## package="ROptEst")
get.asGRisk.fct-methods to produce a function in r,s,b for computing a particular asGRisk
get.asGRisk.fct(Risk) ## S4 method for signature 'asMSE' get.asGRisk.fct(Risk) ## S4 method for signature 'asL1' get.asGRisk.fct(Risk) ## S4 method for signature 'asL4' get.asGRisk.fct(Risk)
get.asGRisk.fct(Risk) ## S4 method for signature 'asMSE' get.asGRisk.fct(Risk) ## S4 method for signature 'asL1' get.asGRisk.fct(Risk) ## S4 method for signature 'asL4' get.asGRisk.fct(Risk)
Risk |
a risk of class |
get.asGRisk.fct
is used internally in functions getAsRisk
and getReq
.
get.asGRisk.fct |
a function with arguments |
signature(Risk = "asMSE")
: method for asymptotic mean squared error.
signature(Risk = "asL1")
: method for asymptotic mean absolute error.
signature(Risk = "asL4")
: method for asymptotic mean power 4 error.
Peter Ruckdeschel [email protected]
Generic function for the computation of asymptotic risks. This function is rarely called directly. It is used by other functions.
getAsRisk(risk, L2deriv, neighbor, biastype, ...) ## S4 method for signature 'asMSE,UnivariateDistribution,Neighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand, trafo, ...) ## S4 method for signature 'asL1,UnivariateDistribution,Neighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand, trafo, ...) ## S4 method for signature 'asL4,UnivariateDistribution,Neighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand, trafo, ...) ## S4 method for signature 'asMSE,EuclRandVariable,Neighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand, trafo, ...) ## S4 method for signature 'asBias,UnivariateDistribution,ContNeighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand = NULL, trafo, ...) ## S4 method for signature ## 'asBias,UnivariateDistribution,ContNeighborhood,onesidedBias' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand = NULL, trafo, ...) ## S4 method for signature ## 'asBias,UnivariateDistribution,ContNeighborhood,asymmetricBias' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand = NULL, trafo, ...) ## S4 method for signature ## 'asBias,UnivariateDistribution,TotalVarNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand = NULL, trafo, ...) ## S4 method for signature 'asBias,RealRandVariable,ContNeighborhood,ANY' getAsRisk( risk,L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand = NULL, Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo, trafo, z.start, A.start, maxiter, tol, warn, verbose = NULL, ...) ## S4 method for signature 'asBias,RealRandVariable,TotalVarNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand = NULL, Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo, trafo, z.start, A.start, maxiter, tol, warn, verbose = NULL, ...) ## S4 method for signature 'asCov,UnivariateDistribution,ContNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip, cent, stand, trafo = NULL, ...) ## S4 method for signature ## 'asCov,UnivariateDistribution,TotalVarNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip, cent, stand, trafo = NULL, ...) ## S4 method for signature 'asCov,RealRandVariable,ContNeighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent, stand, Distr, trafo = NULL, V.comp = matrix(TRUE, ncol = nrow(stand), nrow = nrow(stand)), w, ...) ## S4 method for signature ## 'trAsCov,UnivariateDistribution,UncondNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip, cent, stand, trafo = NULL, ...) ## S4 method for signature 'trAsCov,RealRandVariable,ContNeighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype, clip, cent, stand, Distr, trafo = NULL, V.comp = matrix(TRUE, ncol = nrow(stand), nrow = nrow(stand)), w, ...) ## S4 method for signature ## 'asAnscombe,UnivariateDistribution,UncondNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip, cent, stand, trafo = NULL, FI, ...) ## S4 method for signature 'asAnscombe,RealRandVariable,ContNeighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype, clip, cent, stand, Distr, trafo = NULL, V.comp = matrix(TRUE, ncol = nrow(stand), nrow = nrow(stand)), FI, w, ...) ## S4 method for signature ## 'asUnOvShoot,UnivariateDistribution,UncondNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip, cent, stand, trafo, ...) ## S4 method for signature ## 'asSemivar,UnivariateDistribution,Neighborhood,onesidedBias' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip, cent, stand, trafo, ...)
getAsRisk(risk, L2deriv, neighbor, biastype, ...) ## S4 method for signature 'asMSE,UnivariateDistribution,Neighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand, trafo, ...) ## S4 method for signature 'asL1,UnivariateDistribution,Neighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand, trafo, ...) ## S4 method for signature 'asL4,UnivariateDistribution,Neighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand, trafo, ...) ## S4 method for signature 'asMSE,EuclRandVariable,Neighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand, trafo, ...) ## S4 method for signature 'asBias,UnivariateDistribution,ContNeighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand = NULL, trafo, ...) ## S4 method for signature ## 'asBias,UnivariateDistribution,ContNeighborhood,onesidedBias' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand = NULL, trafo, ...) ## S4 method for signature ## 'asBias,UnivariateDistribution,ContNeighborhood,asymmetricBias' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand = NULL, trafo, ...) ## S4 method for signature ## 'asBias,UnivariateDistribution,TotalVarNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand = NULL, trafo, ...) ## S4 method for signature 'asBias,RealRandVariable,ContNeighborhood,ANY' getAsRisk( risk,L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand = NULL, Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo, trafo, z.start, A.start, maxiter, tol, warn, verbose = NULL, ...) ## S4 method for signature 'asBias,RealRandVariable,TotalVarNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent = NULL, stand = NULL, Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo, trafo, z.start, A.start, maxiter, tol, warn, verbose = NULL, ...) ## S4 method for signature 'asCov,UnivariateDistribution,ContNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip, cent, stand, trafo = NULL, ...) ## S4 method for signature ## 'asCov,UnivariateDistribution,TotalVarNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip, cent, stand, trafo = NULL, ...) ## S4 method for signature 'asCov,RealRandVariable,ContNeighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype = NULL, clip = NULL, cent, stand, Distr, trafo = NULL, V.comp = matrix(TRUE, ncol = nrow(stand), nrow = nrow(stand)), w, ...) ## S4 method for signature ## 'trAsCov,UnivariateDistribution,UncondNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip, cent, stand, trafo = NULL, ...) ## S4 method for signature 'trAsCov,RealRandVariable,ContNeighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype, clip, cent, stand, Distr, trafo = NULL, V.comp = matrix(TRUE, ncol = nrow(stand), nrow = nrow(stand)), w, ...) ## S4 method for signature ## 'asAnscombe,UnivariateDistribution,UncondNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip, cent, stand, trafo = NULL, FI, ...) ## S4 method for signature 'asAnscombe,RealRandVariable,ContNeighborhood,ANY' getAsRisk(risk, L2deriv, neighbor, biastype, normtype, clip, cent, stand, Distr, trafo = NULL, V.comp = matrix(TRUE, ncol = nrow(stand), nrow = nrow(stand)), FI, w, ...) ## S4 method for signature ## 'asUnOvShoot,UnivariateDistribution,UncondNeighborhood,ANY' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip, cent, stand, trafo, ...) ## S4 method for signature ## 'asSemivar,UnivariateDistribution,Neighborhood,onesidedBias' getAsRisk( risk, L2deriv, neighbor, biastype, normtype = NULL, clip, cent, stand, trafo, ...)
risk |
object of class |
L2deriv |
L2-derivative of some L2-differentiable family of probability distributions. |
neighbor |
object of class |
biastype |
object of class |
... |
additional parameters; often used to enable flexible calls. |
clip |
optimal clipping bound. |
cent |
optimal centering constant. |
stand |
standardizing matrix. |
Finfo |
matrix: the Fisher Information of the parameter. |
trafo |
matrix: transformation of the parameter. |
Distr |
object of class |
DistrSymm |
object of class |
L2derivSymm |
object of class |
L2derivDistrSymm |
object of class |
z.start |
initial value for the centering constant. |
A.start |
initial value for the standardizing matrix. |
maxiter |
the maximum number of iterations |
tol |
the desired accuracy (convergence tolerance). |
warn |
logical: print warnings. |
normtype |
object of class |
V.comp |
matrix: indication which components of the standardizing matrix have to be computed. |
w |
object of class |
FI |
trace of the respective Fisher Information |
verbose |
logical: if |
This function is rarely called directly. It is used by other functions/methods.
The asymptotic risk is computed.
computes asymptotic mean square error in methods for
function getInfRobIC
.
computes asymptotic mean absolute error in methods for
function getInfRobIC
.
computes asymptotic mean power 4 error in methods for
function getInfRobIC
.
computes asymptotic mean square error in methods for
function getInfRobIC
.
computes standardized asymptotic bias in methods
for function getInfRobIC
.
computes standardized asymptotic bias in methods for function
getInfRobIC
.
computes standardized asymptotic bias in methods for function
getInfRobIC
.
computes standardized asymptotic bias in methods for function
getInfRobIC
.
computes standardized asymptotic bias in methods for function
getInfRobIC
.
computes asymptotic covariance in methods for function
getInfRobIC
.
computes asymptotic covariance in methods for function
getInfRobIC
.
computes asymptotic covariance in methods for function
getInfRobIC
.
computes trace of asymptotic covariance in methods
for function getInfRobIC
.
computes trace of asymptotic covariance in methods for
function getInfRobIC
.
computes the ARE in the ideal model in methods
for function getInfRobIC
.
computes the ARE in the ideal model in methods for
function getInfRobIC
.
computes asymptotic under-/overshoot risk in methods for
function getInfRobIC
.
computes asymptotic semivariance in methods for
function getInfRobIC
.
Matthias Kohl [email protected]
M. Kohl (2005). Numerical Contributions to the Asymptotic Theory of Robustness. Dissertation. University of Bayreuth. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf.
M. Kohl, P. Ruckdeschel, and H. Rieder (2010). Infinitesimally Robust Estimation in General Smoothly Parametrized Models. Statistical Methods and Applications 19(3): 333-354. doi:10.1007/s10260-010-0133-0.
H. Rieder (1994): Robust Asymptotic Statistics. Springer. doi:10.1007/978-1-4684-0624-5
P. Ruckdeschel (2005). Optimally One-Sided Bounded Influence Curves. Mathematical Methods of Statistics 14(1), 105-131.
P. Ruckdeschel and H. Rieder (2004). Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223. doi:10.1524/stnd.22.3.201.57067
Generic function for the computation of the asymptotic bias for an IC.
getBiasIC(IC, neighbor, ...) ## S4 method for signature 'HampIC,UncondNeighborhood' getBiasIC(IC, neighbor, L2Fam, ...)
getBiasIC(IC, neighbor, ...) ## S4 method for signature 'HampIC,UncondNeighborhood' getBiasIC(IC, neighbor, L2Fam, ...)
IC |
object of class |
neighbor |
object of class |
L2Fam |
object of class |
... |
additional parameters |
This function is rarely called directly. It is used by other functions/methods.
The bias of the IC is computed.
reads off the as. bias from the risks-slot of the IC.
reads off the as. bias from the risks-slot of the IC,
resp. if this is NULL
from the corresponding
Lagrange Multipliers.
This generic function is still under construction.
Peter Ruckdeschel [email protected]
Huber, P.J. (1968) Robust Confidence Limits. Z. Wahrscheinlichkeitstheor. Verw. Geb. 10:269–278.
Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. 8: 106–115.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
Ruckdeschel, P. and Kohl, M. (2005) Computation of the Finite Sample Bias of M-estimators on Neighborhoods.
getRiskIC-methods
, InfRobModel-class
Generic function for the computation of the optimal clipping bound in case of robust models with fixed neighborhoods. This function is rarely called directly. It is used to compute optimally robust ICs.
getFixClip(clip, Distr, risk, neighbor, ...) ## S4 method for signature 'numeric,Norm,fiUnOvShoot,ContNeighborhood' getFixClip(clip, Distr, risk, neighbor) ## S4 method for signature 'numeric,Norm,fiUnOvShoot,TotalVarNeighborhood' getFixClip(clip, Distr, risk, neighbor)
getFixClip(clip, Distr, risk, neighbor, ...) ## S4 method for signature 'numeric,Norm,fiUnOvShoot,ContNeighborhood' getFixClip(clip, Distr, risk, neighbor) ## S4 method for signature 'numeric,Norm,fiUnOvShoot,TotalVarNeighborhood' getFixClip(clip, Distr, risk, neighbor)
clip |
positive real: clipping bound |
Distr |
object of class |
risk |
object of class |
neighbor |
object of class |
... |
additional parameters. |
The optimal clipping bound is computed.
optimal clipping bound for finite-sample under-/overshoot risk.
optimal clipping bound for finite-sample under-/overshoot risk.
Matthias Kohl [email protected]
Huber, P.J. (1968) Robust Confidence Limits. Z. Wahrscheinlichkeitstheor. Verw. Geb. 10:269–278.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
ContIC-class
, TotalVarIC-class
Generic function for the computation of optimally robust ICs in case of robust models with fixed neighborhoods. This function is rarely called directly.
getFixRobIC(Distr, risk, neighbor, ...) ## S4 method for signature 'Norm,fiUnOvShoot,UncondNeighborhood' getFixRobIC(Distr, risk, neighbor, sampleSize, upper, lower, maxiter, tol, warn, Algo, cont)
getFixRobIC(Distr, risk, neighbor, ...) ## S4 method for signature 'Norm,fiUnOvShoot,UncondNeighborhood' getFixRobIC(Distr, risk, neighbor, sampleSize, upper, lower, maxiter, tol, warn, Algo, cont)
Distr |
object of class |
risk |
object of class |
neighbor |
object of class |
... |
additional parameters. |
sampleSize |
integer: sample size. |
upper |
upper bound for the optimal clipping bound. |
lower |
lower bound for the optimal clipping bound. |
maxiter |
the maximum number of iterations. |
tol |
the desired accuracy (convergence tolerance). |
warn |
logical: print warnings. |
Algo |
"A" or "B". |
cont |
"left" or "right". |
Computation of the optimally robust IC in sense of Huber (1968) which is also treated in Kohl (2005). The Algorithm used to compute the exact finite sample risk is introduced and explained in Kohl (2005). It is based on FFT.
The optimally robust IC is computed.
computes the optimally robust influence curve for one-dimensional normal location and finite-sample under-/overshoot risk.
Matthias Kohl [email protected]
Huber, P.J. (1968) Robust Confidence Limits. Z. Wahrscheinlichkeitstheor. Verw. Geb. 10:269–278.
Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. 8: 106-115.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
Generic function for the computation of inefficiency differencies. This function is rarely called directly. It is used to compute the radius minimax IC and the least favorable radius.
getIneffDiff(radius, L2Fam, neighbor, risk, ...) ## S4 method for signature 'numeric,L2ParamFamily,UncondNeighborhood,asMSE' getIneffDiff( radius, L2Fam, neighbor, risk, loRad, upRad, loRisk, upRisk, z.start = NULL, A.start = NULL, upper.b = NULL, lower.b = NULL, OptOrIter = "iterate", MaxIter, eps, warn, loNorm = NULL, upNorm = NULL, verbose = NULL, ..., withRetIneff = FALSE)
getIneffDiff(radius, L2Fam, neighbor, risk, ...) ## S4 method for signature 'numeric,L2ParamFamily,UncondNeighborhood,asMSE' getIneffDiff( radius, L2Fam, neighbor, risk, loRad, upRad, loRisk, upRisk, z.start = NULL, A.start = NULL, upper.b = NULL, lower.b = NULL, OptOrIter = "iterate", MaxIter, eps, warn, loNorm = NULL, upNorm = NULL, verbose = NULL, ..., withRetIneff = FALSE)
radius |
neighborhood radius. |
L2Fam |
L2-differentiable family of probability measures. |
neighbor |
object of class |
risk |
object of class |
loRad |
the lower end point of the interval to be searched. |
upRad |
the upper end point of the interval to be searched. |
loRisk |
the risk at the lower end point of the interval. |
upRisk |
the risk at the upper end point of the interval. |
z.start |
initial value for the centering constant. |
A.start |
initial value for the standardizing matrix. |
upper.b |
upper bound for the optimal clipping bound. |
lower.b |
lower bound for the optimal clipping bound. |
OptOrIter |
character; which method to be used for determining Lagrange
multipliers |
MaxIter |
the maximum number of iterations |
eps |
the desired accuracy (convergence tolerance). |
warn |
logical: print warnings. |
loNorm |
object of class |
upNorm |
object of class |
verbose |
logical: if |
... |
further arguments to be passed on to |
withRetIneff |
logical: if |
The inefficieny difference between the left and the right margin of a given radius interval is computed.
computes difference of asymptotic MSE–inefficiency for the boundaries of a given radius interval.
Matthias Kohl [email protected]
M. Kohl (2005). Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf.
H. Rieder, M. Kohl, and P. Ruckdeschel (2008). The Costs of not Knowing the Radius. Statistical Methods and Applications, 17(1) 13-40. doi:10.1007/s10260-007-0047-7.
H. Rieder, M. Kohl, and P. Ruckdeschel (2001). The Costs of not Knowing the Radius. Appeared as discussion paper Nr. 81. SFB 373 (Quantification and Simulation of Economic Processes), Humboldt University, Berlin; also available under doi:10.18452/3638.
P. Ruckdeschel (2005). Optimally One-Sided Bounded Influence Curves. Mathematical Methods of Statistics 14(1), 105-131.
P. Ruckdeschel and H. Rieder (2004). Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223. doi:10.1524/stnd.22.3.201.57067
radiusMinimaxIC
, leastFavorableRadius
Generic function for the computation of the optimal centering constant (contamination neighborhoods) respectively, of the optimal lower clipping bound (total variation neighborhood). This function is rarely called directly. It is used to compute optimally robust ICs.
getInfCent(L2deriv, neighbor, biastype, ...) ## S4 method for signature 'UnivariateDistribution,ContNeighborhood,BiasType' getInfCent(L2deriv, neighbor, biastype, clip, cent, tol.z, symm, trafo) ## S4 method for signature ## 'UnivariateDistribution,TotalVarNeighborhood,BiasType' getInfCent(L2deriv, neighbor, biastype, clip, cent, tol.z, symm, trafo) ## S4 method for signature 'RealRandVariable,ContNeighborhood,BiasType' getInfCent(L2deriv, neighbor, biastype, Distr, z.comp, w, tol.z = .Machine$double.eps^.5, ...) ## S4 method for signature 'RealRandVariable,TotalVarNeighborhood,BiasType' getInfCent(L2deriv, neighbor, biastype, Distr, z.comp, w, tol.z = .Machine$double.eps^.5,...) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,onesidedBias' getInfCent(L2deriv, neighbor, biastype, clip, cent, tol.z, symm, trafo) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,asymmetricBias' getInfCent(L2deriv, neighbor, biastype, clip, cent, tol.z, symm, trafo)
getInfCent(L2deriv, neighbor, biastype, ...) ## S4 method for signature 'UnivariateDistribution,ContNeighborhood,BiasType' getInfCent(L2deriv, neighbor, biastype, clip, cent, tol.z, symm, trafo) ## S4 method for signature ## 'UnivariateDistribution,TotalVarNeighborhood,BiasType' getInfCent(L2deriv, neighbor, biastype, clip, cent, tol.z, symm, trafo) ## S4 method for signature 'RealRandVariable,ContNeighborhood,BiasType' getInfCent(L2deriv, neighbor, biastype, Distr, z.comp, w, tol.z = .Machine$double.eps^.5, ...) ## S4 method for signature 'RealRandVariable,TotalVarNeighborhood,BiasType' getInfCent(L2deriv, neighbor, biastype, Distr, z.comp, w, tol.z = .Machine$double.eps^.5,...) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,onesidedBias' getInfCent(L2deriv, neighbor, biastype, clip, cent, tol.z, symm, trafo) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,asymmetricBias' getInfCent(L2deriv, neighbor, biastype, clip, cent, tol.z, symm, trafo)
L2deriv |
L2-derivative of some L2-differentiable family of probability measures. |
neighbor |
object of class |
biastype |
object of class |
... |
additional parameters, in particular for expectation |
clip |
optimal clipping bound. |
cent |
optimal centering constant. |
tol.z |
the desired accuracy (convergence tolerance). |
symm |
logical: indicating symmetry of |
trafo |
matrix: transformation of the parameter. |
Distr |
object of class |
z.comp |
logical vector: indication which components of the centering constant have to be computed. |
w |
object of class |
The optimal centering constant is computed.
computation of optimal centering constant for symmetric bias.
computation of optimal lower clipping bound for symmetric bias.
computation of optimal centering constant for symmetric bias.
computation of optimal centering constant for symmetric bias.
computation of optimal centering constant for onesided bias.
computation of optimal centering constant for asymmetric bias.
Matthias Kohl [email protected], Peter Ruckdeschel [email protected]
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves. Mathematical Methods in Statistics 14(1), 105-131.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
ContIC-class
, TotalVarIC-class
Generic function for the computation of the optimal clipping bound in case of infinitesimal robust models. This function is rarely called directly. It is used to compute optimally robust ICs.
getInfClip(clip, L2deriv, risk, neighbor, ...) ## S4 method for signature ## 'numeric,UnivariateDistribution,asMSE,ContNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asMSE,TotalVarNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL1,ContNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL1,TotalVarNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL4,ContNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL4,TotalVarNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature 'numeric,EuclRandVariable,asMSE,UncondNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, Distr, stand, cent, trafo, ...) ## S4 method for signature ## 'numeric,UnivariateDistribution,asUnOvShoot,UncondNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asSemivar,ContNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo,...)
getInfClip(clip, L2deriv, risk, neighbor, ...) ## S4 method for signature ## 'numeric,UnivariateDistribution,asMSE,ContNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asMSE,TotalVarNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL1,ContNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL1,TotalVarNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL4,ContNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL4,TotalVarNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature 'numeric,EuclRandVariable,asMSE,UncondNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, Distr, stand, cent, trafo, ...) ## S4 method for signature ## 'numeric,UnivariateDistribution,asUnOvShoot,UncondNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asSemivar,ContNeighborhood' getInfClip( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo,...)
clip |
positive real: clipping bound |
L2deriv |
L2-derivative of some L2-differentiable family of probability measures. |
risk |
object of class |
neighbor |
object of class |
... |
additional parameters, in particular for expectation |
biastype |
object of class |
cent |
optimal centering constant. |
stand |
standardizing matrix. |
Distr |
object of class |
symm |
logical: indicating symmetry of |
trafo |
matrix: transformation of the parameter. |
The optimal clipping bound is computed.
optimal clipping bound for asymtotic mean square error.
optimal clipping bound for asymtotic mean square error.
optimal clipping bound for asymtotic mean square error.
optimal clipping bound for asymtotic mean absolute error.
optimal clipping bound for asymtotic mean absolute error.
optimal clipping bound for asymtotic mean power 4 error.
optimal clipping bound for asymtotic mean power 4 error.
optimal clipping bound for asymtotic under-/overshoot risk.
optimal clipping bound for asymtotic semivariance.
Matthias Kohl [email protected], Peter Ruckdeschel [email protected]
Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. 8: 106–115.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Ruckdeschel, P. and Rieder, H. (2004) Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223.
Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves. Mathematical Methods in Statistics 14(1), 105-131.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
ContIC-class
, TotalVarIC-class
Generic function for the computation of the optimal clipping bound.
This function is rarely called directly. It is called by getInfClip
to compute optimally robust ICs.
getInfGamma(L2deriv, risk, neighbor, biastype, ...) ## S4 method for signature ## 'UnivariateDistribution,asGRisk,ContNeighborhood,BiasType' getInfGamma(L2deriv, risk, neighbor, biastype, cent, clip) ## S4 method for signature ## 'UnivariateDistribution,asGRisk,TotalVarNeighborhood,BiasType' getInfGamma(L2deriv, risk, neighbor, biastype, cent, clip) ## S4 method for signature 'RealRandVariable,asMSE,ContNeighborhood,BiasType' getInfGamma(L2deriv, risk, neighbor, biastype, Distr, stand, cent, clip, power = 1L, ...) ## S4 method for signature ## 'RealRandVariable,asMSE,TotalVarNeighborhood,BiasType' getInfGamma(L2deriv, risk, neighbor, biastype, Distr, stand, cent, clip, power = 1L, ...) ## S4 method for signature ## 'UnivariateDistribution,asUnOvShoot,ContNeighborhood,BiasType' getInfGamma(L2deriv, risk, neighbor, biastype, cent, clip) ## S4 method for signature ## 'UnivariateDistribution,asMSE,ContNeighborhood,onesidedBias' getInfGamma(L2deriv, risk, neighbor, biastype, cent, clip) ## S4 method for signature ## 'UnivariateDistribution,asMSE,ContNeighborhood,asymmetricBias' getInfGamma(L2deriv, risk, neighbor, biastype, cent, clip)
getInfGamma(L2deriv, risk, neighbor, biastype, ...) ## S4 method for signature ## 'UnivariateDistribution,asGRisk,ContNeighborhood,BiasType' getInfGamma(L2deriv, risk, neighbor, biastype, cent, clip) ## S4 method for signature ## 'UnivariateDistribution,asGRisk,TotalVarNeighborhood,BiasType' getInfGamma(L2deriv, risk, neighbor, biastype, cent, clip) ## S4 method for signature 'RealRandVariable,asMSE,ContNeighborhood,BiasType' getInfGamma(L2deriv, risk, neighbor, biastype, Distr, stand, cent, clip, power = 1L, ...) ## S4 method for signature ## 'RealRandVariable,asMSE,TotalVarNeighborhood,BiasType' getInfGamma(L2deriv, risk, neighbor, biastype, Distr, stand, cent, clip, power = 1L, ...) ## S4 method for signature ## 'UnivariateDistribution,asUnOvShoot,ContNeighborhood,BiasType' getInfGamma(L2deriv, risk, neighbor, biastype, cent, clip) ## S4 method for signature ## 'UnivariateDistribution,asMSE,ContNeighborhood,onesidedBias' getInfGamma(L2deriv, risk, neighbor, biastype, cent, clip) ## S4 method for signature ## 'UnivariateDistribution,asMSE,ContNeighborhood,asymmetricBias' getInfGamma(L2deriv, risk, neighbor, biastype, cent, clip)
L2deriv |
L2-derivative of some L2-differentiable family of probability measures. |
risk |
object of class |
neighbor |
object of class |
biastype |
object of class |
... |
additional parameters, in particular for expectation |
cent |
optimal centering constant. |
clip |
optimal clipping bound. |
stand |
standardizing matrix. |
Distr |
object of class |
power |
exponent for the integrand; by default |
The function is used in case of asymptotic G-risks; confer Ruckdeschel and Rieder (2004).
The optimal clipping height is computed. More specifically, the optimal
clipping height is determined in a zero search of a certain function
, where the respective
getInf
-method will return
the value of . The actual function
varies according to whether the parameter is one dimensional or higher dimensional,
according to the risk, according to the neighborhood, and according to the
bias type, which leads to the different methods.
used by getInfClip
for symmetric bias.
used by getInfClip
for symmetric bias.
used by getInfClip
for symmetric bias.
used by getInfClip
for symmetric bias.
used by getInfClip
for symmetric bias.
used by getInfClip
for onesided bias.
used by getInfClip
for asymmetric bias.
Matthias Kohl [email protected], Peter Ruckdeschel [email protected]
Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. 8: 106–115.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Ruckdeschel, P. and Rieder, H. (2004) Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223.
Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves. Mathematical Methods in Statistics 14(1), 105-131.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
asGRisk-class
, asMSE-class
,
asUnOvShoot-class
, ContIC-class
,
TotalVarIC-class
Functions to determine Lagrange multipliers A
and a
in a Hampel problem or in a(n) (inner) loop in a MSE problem; can be done
either by optimization or by fixed point iteration. These functions are
rarely called directly.
getLagrangeMultByIter(b, L2deriv, risk, trafo, neighbor, biastype, normtype, Distr, a.start, z.start, A.start, w.start, std, z.comp, A.comp, maxiter, tol, verbose = NULL, warnit = TRUE, ...) getLagrangeMultByOptim(b, L2deriv, risk, FI, trafo, neighbor, biastype, normtype, Distr, a.start, z.start, A.start, w.start, std, z.comp, A.comp, maxiter, tol, verbose = NULL, ...)
getLagrangeMultByIter(b, L2deriv, risk, trafo, neighbor, biastype, normtype, Distr, a.start, z.start, A.start, w.start, std, z.comp, A.comp, maxiter, tol, verbose = NULL, warnit = TRUE, ...) getLagrangeMultByOptim(b, L2deriv, risk, FI, trafo, neighbor, biastype, normtype, Distr, a.start, z.start, A.start, w.start, std, z.comp, A.comp, maxiter, tol, verbose = NULL, ...)
b |
numeric; ( |
L2deriv |
L2-derivative of some L2-differentiable family of probability measures. |
risk |
object of class |
FI |
matrix: Fisher information. |
trafo |
matrix: transformation of the parameter. |
neighbor |
object of class |
biastype |
object of class |
normtype |
object of class |
Distr |
object of class |
a.start |
initial value for the centering constant (in |
z.start |
initial value for the centering constant (in |
A.start |
initial value for the standardizing matrix. |
w.start |
initial value for the weight function. |
std |
matrix of (or which may coerced to) class
|
z.comp |
logical vector: indication which components of the centering constant have to be computed. |
A.comp |
matrix: indication which components of the standardizing matrix have to be computed. |
maxiter |
the maximum number of iterations. |
tol |
the desired accuracy (convergence tolerance). |
verbose |
logical: if |
warnit |
logical: if |
... |
additional parameters for |
a list with items
A |
Lagrange multiplier |
a |
Lagrange multiplier |
z |
Lagrange multiplier |
w |
weight function involving Lagrange multipliers |
biastype |
(possibly modified) bias type |
normtype |
(possibly modified) norm type |
normtype.old |
(possibly modified) norm type |
risk |
(possibly [norm-]modified) risk |
std |
(possibly modified) argument |
iter |
number of iterations needed |
prec |
precision achieved |
b |
used clippng height |
call |
call with which either |
Peter Ruckdeschel [email protected]
Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. 8: 106-115.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Ruckdeschel, P. and Rieder, H. (2004) Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22: 201-223.
Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves. Mathematical Methods in Statistics 14(1), 105-131.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
The usual robust optimality problem for given asGRisk searches the optimal
clipping height b of a Hampel-type IC to given radius of the neighborhood.
Instead, again for given asGRisk and for given Hampel-Type IC with
given clipping height b we may determine the radius of the neighborhood
for which it is optimal in the sense of the first sentence. This
radius is determined by getInfRad
. This function is rarely called
directly. It is used withing getRadius
.
getInfRad(clip, L2deriv, risk, neighbor, ...) ## S4 method for signature ## 'numeric,UnivariateDistribution,asMSE,ContNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asMSE,TotalVarNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL1,ContNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL1,TotalVarNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL4,ContNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL4,TotalVarNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature 'numeric,EuclRandVariable,asMSE,UncondNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, Distr, stand, cent, trafo, ...) ## S4 method for signature ## 'numeric,UnivariateDistribution,asUnOvShoot,UncondNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asSemivar,ContNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo)
getInfRad(clip, L2deriv, risk, neighbor, ...) ## S4 method for signature ## 'numeric,UnivariateDistribution,asMSE,ContNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asMSE,TotalVarNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL1,ContNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL1,TotalVarNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL4,ContNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asL4,TotalVarNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature 'numeric,EuclRandVariable,asMSE,UncondNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, Distr, stand, cent, trafo, ...) ## S4 method for signature ## 'numeric,UnivariateDistribution,asUnOvShoot,UncondNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo) ## S4 method for signature ## 'numeric,UnivariateDistribution,asSemivar,ContNeighborhood' getInfRad( clip, L2deriv, risk, neighbor, biastype, cent, symm, trafo)
clip |
positive real: clipping bound |
L2deriv |
L2-derivative of some L2-differentiable family of probability measures. |
risk |
object of class |
neighbor |
object of class |
... |
additional parameters. |
biastype |
object of class |
cent |
optimal centering constant. |
stand |
standardizing matrix. |
Distr |
object of class |
symm |
logical: indicating symmetry of |
trafo |
matrix: transformation of the parameter. |
The optimal clipping bound is computed.
optimal clipping bound for asymtotic mean square error.
optimal clipping bound for asymtotic mean square error.
optimal clipping bound for asymtotic mean square error.
optimal clipping bound for asymtotic mean absolute error.
optimal clipping bound for asymtotic mean absolute error.
optimal clipping bound for asymtotic mean power 4 error.
optimal clipping bound for asymtotic mean power 4 error.
optimal clipping bound for asymtotic under-/overshoot risk.
optimal clipping bound for asymtotic semivariance.
Peter Ruckdeschel [email protected]
Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. 8: 106–115.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Ruckdeschel, P. and Rieder, H. (2004) Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223.
Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves. Mathematical Methods in Statistics 14(1), 105-131.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
ContIC-class
, TotalVarIC-class
Generic function for the computation of optimally robust ICs in case of infinitesimal robust models. This function is rarely called directly.
getInfRobIC(L2deriv, risk, neighbor, ...) ## S4 method for signature 'UnivariateDistribution,asCov,ContNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Finfo, trafo, verbose = NULL) ## S4 method for signature 'UnivariateDistribution,asCov,TotalVarNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Finfo, trafo, verbose = NULL) ## S4 method for signature 'RealRandVariable,asCov,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Distr, Finfo, trafo, QuadForm = diag(nrow(trafo)), verbose = NULL) ## S4 method for signature 'UnivariateDistribution,asBias,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, symm, trafo, maxiter, tol, warn, Finfo, verbose = NULL, ...) ## S4 method for signature 'RealRandVariable,asBias,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, z.start, A.start, Finfo, trafo, maxiter, tol, warn, verbose = NULL, ...) ## S4 method for signature 'UnivariateDistribution,asHampel,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, symm, Finfo, trafo, upper = NULL, lower=NULL, maxiter, tol, warn, noLow = FALSE, verbose = NULL, checkBounds = TRUE, ...) ## S4 method for signature 'RealRandVariable,asHampel,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo, trafo, onesetLM = FALSE, z.start, A.start, upper = NULL, lower=NULL, OptOrIter = "iterate", maxiter, tol, warn, verbose = NULL, checkBounds = TRUE, ..., .withEvalAsVar = TRUE) ## S4 method for signature ## 'UnivariateDistribution,asAnscombe,UncondNeighborhood' getInfRobIC( L2deriv, risk, neighbor, symm, Finfo, trafo, upper = NULL, lower=NULL, maxiter, tol, warn, noLow = FALSE, verbose = NULL, checkBounds = TRUE, ...) ## S4 method for signature 'RealRandVariable,asAnscombe,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo, trafo, onesetLM = FALSE, z.start, A.start, upper = NULL, lower=NULL, OptOrIter = "iterate", maxiter, tol, warn, verbose = NULL, checkBounds = TRUE, ...) ## S4 method for signature 'UnivariateDistribution,asGRisk,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, symm, Finfo, trafo, upper = NULL, lower = NULL, maxiter, tol, warn, noLow = FALSE, verbose = NULL, ...) ## S4 method for signature 'RealRandVariable,asGRisk,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo, trafo, onesetLM = FALSE, z.start, A.start, upper = NULL, lower = NULL, OptOrIter = "iterate", maxiter, tol, warn, verbose = NULL, withPICcheck = TRUE, ..., .withEvalAsVar = TRUE) ## S4 method for signature ## 'UnivariateDistribution,asUnOvShoot,UncondNeighborhood' getInfRobIC( L2deriv, risk, neighbor, symm, Finfo, trafo, upper, lower, maxiter, tol, warn, verbose = NULL, ...)
getInfRobIC(L2deriv, risk, neighbor, ...) ## S4 method for signature 'UnivariateDistribution,asCov,ContNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Finfo, trafo, verbose = NULL) ## S4 method for signature 'UnivariateDistribution,asCov,TotalVarNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Finfo, trafo, verbose = NULL) ## S4 method for signature 'RealRandVariable,asCov,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Distr, Finfo, trafo, QuadForm = diag(nrow(trafo)), verbose = NULL) ## S4 method for signature 'UnivariateDistribution,asBias,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, symm, trafo, maxiter, tol, warn, Finfo, verbose = NULL, ...) ## S4 method for signature 'RealRandVariable,asBias,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, z.start, A.start, Finfo, trafo, maxiter, tol, warn, verbose = NULL, ...) ## S4 method for signature 'UnivariateDistribution,asHampel,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, symm, Finfo, trafo, upper = NULL, lower=NULL, maxiter, tol, warn, noLow = FALSE, verbose = NULL, checkBounds = TRUE, ...) ## S4 method for signature 'RealRandVariable,asHampel,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo, trafo, onesetLM = FALSE, z.start, A.start, upper = NULL, lower=NULL, OptOrIter = "iterate", maxiter, tol, warn, verbose = NULL, checkBounds = TRUE, ..., .withEvalAsVar = TRUE) ## S4 method for signature ## 'UnivariateDistribution,asAnscombe,UncondNeighborhood' getInfRobIC( L2deriv, risk, neighbor, symm, Finfo, trafo, upper = NULL, lower=NULL, maxiter, tol, warn, noLow = FALSE, verbose = NULL, checkBounds = TRUE, ...) ## S4 method for signature 'RealRandVariable,asAnscombe,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo, trafo, onesetLM = FALSE, z.start, A.start, upper = NULL, lower=NULL, OptOrIter = "iterate", maxiter, tol, warn, verbose = NULL, checkBounds = TRUE, ...) ## S4 method for signature 'UnivariateDistribution,asGRisk,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, symm, Finfo, trafo, upper = NULL, lower = NULL, maxiter, tol, warn, noLow = FALSE, verbose = NULL, ...) ## S4 method for signature 'RealRandVariable,asGRisk,UncondNeighborhood' getInfRobIC(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo, trafo, onesetLM = FALSE, z.start, A.start, upper = NULL, lower = NULL, OptOrIter = "iterate", maxiter, tol, warn, verbose = NULL, withPICcheck = TRUE, ..., .withEvalAsVar = TRUE) ## S4 method for signature ## 'UnivariateDistribution,asUnOvShoot,UncondNeighborhood' getInfRobIC( L2deriv, risk, neighbor, symm, Finfo, trafo, upper, lower, maxiter, tol, warn, verbose = NULL, ...)
L2deriv |
L2-derivative of some L2-differentiable family of probability measures. |
risk |
object of class |
neighbor |
object of class |
... |
additional parameters (mainly for |
Distr |
object of class |
symm |
logical: indicating symmetry of |
DistrSymm |
object of class |
L2derivSymm |
object of class |
L2derivDistrSymm |
object of class |
Finfo |
Fisher information matrix. |
z.start |
initial value for the centering constant. |
A.start |
initial value for the standardizing matrix. |
trafo |
matrix: transformation of the parameter. |
upper |
upper bound for the optimal clipping bound. |
lower |
lower bound for the optimal clipping bound. |
OptOrIter |
character; which method to be used for determining Lagrange
multipliers |
maxiter |
the maximum number of iterations. |
tol |
the desired accuracy (convergence tolerance). |
warn |
logical: print warnings. |
noLow |
logical: is lower case to be computed? |
onesetLM |
logical: use one set of Lagrange multipliers? |
QuadForm |
matrix of (or which may coerced to) class
|
verbose |
logical: if |
checkBounds |
logical: if |
withPICcheck |
logical: at the end of the algorithm, shall we check
how accurately this is a pIC; this will only be done if
|
.withEvalAsVar |
logical (of length 1):
if |
The optimally robust IC is computed.
computes the classical optimal influence curve for L2 differentiable parametric families with unknown one-dimensional parameter.
computes the classical optimal influence curve for L2 differentiable parametric families with unknown one-dimensional parameter.
computes the classical optimal influence curve for L2 differentiable
parametric families with unknown -dimensional parameter
(
) where the underlying distribution is univariate;
for total variation neighborhoods only is implemented for the case
where there is a
transformation
trafo
matrix.
computes the bias optimal influence curve for L2 differentiable parametric families with unknown one-dimensional parameter.
computes the bias optimal influence curve for L2 differentiable
parametric families with unknown -dimensional parameter
(
) where the underlying distribution is univariate.
computes the optimally robust influence curve for L2 differentiable parametric families with unknown one-dimensional parameter.
computes the optimally robust influence curve for L2 differentiable
parametric families with unknown -dimensional parameter
(
) where the underlying distribution is univariate;
for total variation neighborhoods only is implemented for the case
where there is a
transformation
trafo
matrix.
computes the optimally bias-robust influence curve to given ARE in the ideal model for L2 differentiable parametric families with unknown one-dimensional parameter.
computes the optimally bias-robust influence curve to given ARE in the
ideal modelfor L2 differentiable
parametric families with unknown -dimensional parameter
(
) where the underlying distribution is univariate;
for total variation neighborhoods only is implemented for the case
where there is a
transformation
trafo
matrix.
computes the optimally robust influence curve for L2 differentiable parametric families with unknown one-dimensional parameter.
computes the optimally robust influence curve for L2 differentiable
parametric families with unknown -dimensional parameter
(
) where the underlying distribution is univariate;
for total variation neighborhoods only is implemented for the case
where there is a
transformation
trafo
matrix.
computes the optimally robust influence curve for one-dimensional L2 differentiable parametric families and asymptotic under-/overshoot risk.
Matthias Kohl [email protected],
Peter Ruckdeschel [email protected]
Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. 8: 106-115.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Ruckdeschel, P. and Rieder, H. (2004) Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22: 201-223.
Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves. Mathematical Methods in Statistics 14(1), 105-131.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
Generic function for the computation of the standardizing matrix which takes care of the Fisher consistency of the corresponding IC. This function is rarely called directly. It is used to compute optimally robust ICs.
getInfStand(L2deriv, neighbor, biastype, ...) ## S4 method for signature 'UnivariateDistribution,ContNeighborhood,BiasType' getInfStand(L2deriv, neighbor, biastype, clip, cent, trafo) ## S4 method for signature ## 'UnivariateDistribution,TotalVarNeighborhood,BiasType' getInfStand(L2deriv, neighbor, biastype, clip, cent, trafo) ## S4 method for signature 'RealRandVariable,UncondNeighborhood,BiasType' getInfStand(L2deriv, neighbor, biastype, Distr, A.comp, cent, trafo, w, ...) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,onesidedBias' getInfStand(L2deriv, neighbor, biastype, clip, cent, trafo, ...) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,asymmetricBias' getInfStand(L2deriv, neighbor, biastype, clip, cent, trafo)
getInfStand(L2deriv, neighbor, biastype, ...) ## S4 method for signature 'UnivariateDistribution,ContNeighborhood,BiasType' getInfStand(L2deriv, neighbor, biastype, clip, cent, trafo) ## S4 method for signature ## 'UnivariateDistribution,TotalVarNeighborhood,BiasType' getInfStand(L2deriv, neighbor, biastype, clip, cent, trafo) ## S4 method for signature 'RealRandVariable,UncondNeighborhood,BiasType' getInfStand(L2deriv, neighbor, biastype, Distr, A.comp, cent, trafo, w, ...) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,onesidedBias' getInfStand(L2deriv, neighbor, biastype, clip, cent, trafo, ...) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,asymmetricBias' getInfStand(L2deriv, neighbor, biastype, clip, cent, trafo)
L2deriv |
L2-derivative of some L2-differentiable family of probability measures. |
neighbor |
object of class |
biastype |
object of class |
... |
additional parameters, in particular for expectation |
clip |
optimal clipping bound. |
cent |
optimal centering constant. |
Distr |
object of class |
trafo |
matrix: transformation of the parameter. |
A.comp |
matrix: indication which components of the standardizing matrix have to be computed. |
w |
object of class |
The standardizing matrix is computed.
computes standardizing matrix for symmetric bias.
computes standardizing matrix for symmetric bias.
computes standardizing matrix for symmetric bias.
computes standardizing matrix for onesided bias.
computes standardizing matrix for asymmetric bias.
Matthias Kohl [email protected], Peter Ruckdeschel [email protected]
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves. Mathematical Methods in Statistics 14(1), 105-131.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
ContIC-class
, TotalVarIC-class
Generic function for the computation of the optimal clipping bound in case of infinitesimal robust models. This function is rarely called directly. It is used to compute optimally robust ICs.
getInfV(L2deriv, neighbor, biastype, ...) ## S4 method for signature 'UnivariateDistribution,ContNeighborhood,BiasType' getInfV(L2deriv, neighbor, biastype, clip, cent, stand) ## S4 method for signature ## 'UnivariateDistribution,TotalVarNeighborhood,BiasType' getInfV(L2deriv, neighbor, biastype, clip, cent, stand) ## S4 method for signature 'RealRandVariable,ContNeighborhood,BiasType' getInfV(L2deriv, neighbor, biastype, Distr, V.comp, cent, stand, w, ...) ## S4 method for signature 'RealRandVariable,TotalVarNeighborhood,BiasType' getInfV(L2deriv, neighbor, biastype, Distr, V.comp, cent, stand, w, ...) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,onesidedBias' getInfV(L2deriv, neighbor, biastype, clip, cent, stand, ...) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,asymmetricBias' getInfV(L2deriv, neighbor, biastype, clip, cent, stand)
getInfV(L2deriv, neighbor, biastype, ...) ## S4 method for signature 'UnivariateDistribution,ContNeighborhood,BiasType' getInfV(L2deriv, neighbor, biastype, clip, cent, stand) ## S4 method for signature ## 'UnivariateDistribution,TotalVarNeighborhood,BiasType' getInfV(L2deriv, neighbor, biastype, clip, cent, stand) ## S4 method for signature 'RealRandVariable,ContNeighborhood,BiasType' getInfV(L2deriv, neighbor, biastype, Distr, V.comp, cent, stand, w, ...) ## S4 method for signature 'RealRandVariable,TotalVarNeighborhood,BiasType' getInfV(L2deriv, neighbor, biastype, Distr, V.comp, cent, stand, w, ...) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,onesidedBias' getInfV(L2deriv, neighbor, biastype, clip, cent, stand, ...) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,asymmetricBias' getInfV(L2deriv, neighbor, biastype, clip, cent, stand)
L2deriv |
L2-derivative of some L2-differentiable family of probability measures. |
neighbor |
object of class |
biastype |
object of class |
... |
additional parameters, in particular for expectation |
clip |
positive real: clipping bound |
cent |
optimal centering constant. |
stand |
standardizing matrix. |
Distr |
standardizing matrix. |
V.comp |
matrix: indication which components of the standardizing matrix have to be computed. |
w |
object of class |
The asymptotic variance of an ALE to IC of Hampel type is computed.
Peter Ruckdeschel [email protected]
Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. 8: 106–115.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves. Mathematical Methods in Statistics 14(1), 105-131.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
ContIC-class
, TotalVarIC-class
Methods to calculate the L1 norm of the L2derivative in a smooth parametric model.
getL1normL2deriv(L2deriv, ...) ## S4 method for signature 'UnivariateDistribution' getL1normL2deriv(L2deriv, cent, ...) ## S4 method for signature 'RealRandVariable' getL1normL2deriv(L2deriv, cent, stand, Distr, normtype, ...)
getL1normL2deriv(L2deriv, ...) ## S4 method for signature 'UnivariateDistribution' getL1normL2deriv(L2deriv, cent, ...) ## S4 method for signature 'RealRandVariable' getL1normL2deriv(L2deriv, cent, stand, Distr, normtype, ...)
L2deriv |
L2derivative of the model |
cent |
centering Lagrange Multiplier |
stand |
standardizing Lagrange Multiplier |
Distr |
distribution of the L2derivative |
normtype |
object of class |
... |
further arguments (not used at the moment) |
L1 norm of the L2derivative
Peter Ruckdeschel [email protected]
##
##
Function to calculate the L2 norm of the L2derivative in a smooth parametric model.
getL2normL2deriv(aFinfo, cent, ...)
getL2normL2deriv(aFinfo, cent, ...)
aFinfo |
trace of the Fisher information |
cent |
centering |
... |
further arguments (not used at the moment) |
L2 norm of the L2derivative
Peter Ruckdeschel [email protected]
##
##
computes the maximal inefficiency of an IC for the radius range [0,Inf).
getMaxIneff(IC, neighbor, biastype = symmetricBias(), normtype = NormType(), z.start = NULL, A.start = NULL, maxiter = 50, tol = .Machine$double.eps^0.4, warn = TRUE, verbose = NULL, ...)
getMaxIneff(IC, neighbor, biastype = symmetricBias(), normtype = NormType(), z.start = NULL, A.start = NULL, maxiter = 50, tol = .Machine$double.eps^0.4, warn = TRUE, verbose = NULL, ...)
IC |
some IC of class |
neighbor |
object of class |
biastype |
a bias type of class |
normtype |
a norm type of class |
z.start |
initial value for the centering constant. |
A.start |
initial value for the standardizing matrix. |
maxiter |
the maximum number of iterations. |
tol |
the desired accuracy (convergence tolerance). |
warn |
logical: print warnings. |
verbose |
logical: if |
... |
additional arguments to be passed to |
The maximal inefficiency, i.e.; a number in [1,Inf).
Peter Ruckdeschel [email protected]
Hampel et al. (1986) Robust Statistics. The Approach Based on Influence Functions. New York: Wiley.
M. Kohl (2005). Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf.
H. Rieder, M. Kohl, and P. Ruckdeschel (2008). The Costs of not Knowing the Radius. Statistical Methods and Applications, 17(1) 13-40. doi:10.1007/s10260-007-0047-7.
H. Rieder, M. Kohl, and P. Ruckdeschel (2001). The Costs of not Knowing the Radius. Appeared as discussion paper Nr. 81. SFB 373 (Quantification and Simulation of Economic Processes), Humboldt University, Berlin; also available under doi:10.18452/3638.
P. Ruckdeschel (2005). Optimally One-Sided Bounded Influence Curves. Mathematical Methods of Statistics 14(1), 105-131.
P. Ruckdeschel and H. Rieder (2004). Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223. doi:10.1524/stnd.22.3.201.57067
N0 <- NormLocationFamily(mean=2, sd=3) ## L_2 family + infinitesimal neighborhood neighbor <- ContNeighborhood(radius = 0.5) N0.Rob1 <- InfRobModel(center = N0, neighbor = neighbor) ## OBRE solution (ARE 95%) N0.ICA <- optIC(model = N0.Rob1, risk = asAnscombe(.95)) ## OMSE solution radius 0.5 N0.ICM <- optIC(model=N0.Rob1, risk=asMSE()) ## RMX solution N0.ICR <- radiusMinimaxIC(L2Fam=N0, neighbor=neighbor,risk=asMSE()) getMaxIneff(N0.ICA,neighbor) getMaxIneff(N0.ICM,neighbor) getMaxIneff(N0.ICR,neighbor) ## Don't run to reduce check time on CRAN N0ls <- NormLocationScaleFamily() ICsc <- makeIC(list(sin,cos),N0ls) getMaxIneff(ICsc,neighbor)
N0 <- NormLocationFamily(mean=2, sd=3) ## L_2 family + infinitesimal neighborhood neighbor <- ContNeighborhood(radius = 0.5) N0.Rob1 <- InfRobModel(center = N0, neighbor = neighbor) ## OBRE solution (ARE 95%) N0.ICA <- optIC(model = N0.Rob1, risk = asAnscombe(.95)) ## OMSE solution radius 0.5 N0.ICM <- optIC(model=N0.Rob1, risk=asMSE()) ## RMX solution N0.ICR <- radiusMinimaxIC(L2Fam=N0, neighbor=neighbor,risk=asMSE()) getMaxIneff(N0.ICA,neighbor) getMaxIneff(N0.ICM,neighbor) getMaxIneff(N0.ICR,neighbor) ## Don't run to reduce check time on CRAN N0ls <- NormLocationScaleFamily() ICsc <- makeIC(list(sin,cos),N0ls) getMaxIneff(ICsc,neighbor)
These function is used by internal computations and is rarely called directly.
getModifyIC(L2FamIC, neighbor, risk,...) ## S4 method for signature 'L2ParamFamily,Neighborhood,asRisk' getModifyIC(L2FamIC, neighbor, risk, ...) ## S4 method for signature 'L2LocationFamily,UncondNeighborhood,asGRisk' getModifyIC(L2FamIC, neighbor, risk, ...) ## S4 method for signature 'L2LocationFamily,UncondNeighborhood,fiUnOvShoot' getModifyIC(L2FamIC, neighbor, risk, ...) ## S4 method for signature 'L2ScaleFamily,UncondNeighborhood,asGRisk' getModifyIC(L2FamIC, neighbor, risk, ..., modifyICwarn = NULL) ## S4 method for signature 'L2LocationScaleFamily,UncondNeighborhood,asGRisk' getModifyIC(L2FamIC, neighbor, risk, ..., modifyICwarn = NULL) scaleUpdateIC(neighbor,...) ## S4 method for signature 'UncondNeighborhood' scaleUpdateIC(neighbor, sdneu, sdalt, IC) ## S4 method for signature 'ContNeighborhood' scaleUpdateIC(neighbor, sdneu, sdalt, IC) ## S4 method for signature 'TotalVarNeighborhood' scaleUpdateIC(neighbor, sdneu, sdalt, IC)
getModifyIC(L2FamIC, neighbor, risk,...) ## S4 method for signature 'L2ParamFamily,Neighborhood,asRisk' getModifyIC(L2FamIC, neighbor, risk, ...) ## S4 method for signature 'L2LocationFamily,UncondNeighborhood,asGRisk' getModifyIC(L2FamIC, neighbor, risk, ...) ## S4 method for signature 'L2LocationFamily,UncondNeighborhood,fiUnOvShoot' getModifyIC(L2FamIC, neighbor, risk, ...) ## S4 method for signature 'L2ScaleFamily,UncondNeighborhood,asGRisk' getModifyIC(L2FamIC, neighbor, risk, ..., modifyICwarn = NULL) ## S4 method for signature 'L2LocationScaleFamily,UncondNeighborhood,asGRisk' getModifyIC(L2FamIC, neighbor, risk, ..., modifyICwarn = NULL) scaleUpdateIC(neighbor,...) ## S4 method for signature 'UncondNeighborhood' scaleUpdateIC(neighbor, sdneu, sdalt, IC) ## S4 method for signature 'ContNeighborhood' scaleUpdateIC(neighbor, sdneu, sdalt, IC) ## S4 method for signature 'TotalVarNeighborhood' scaleUpdateIC(neighbor, sdneu, sdalt, IC)
L2FamIC |
object of class |
neighbor |
object of class |
risk |
object of class |
... |
further arguments to be passed over to |
sdneu |
positive numeric of length one; the new scale. |
sdalt |
positive numeric of length one; the new scale. |
IC |
a Hampel-IC to be updated. |
modifyICwarn |
logical: should a (warning) information be added if
|
This function is used for internal computations.
By setting RobAStBaseOption("all.verbose" = TRUE)
somewhere
globally, the generated function modifyIC
will generate
calls to optIC
with argument verbose=TRUE
.
Function for slot modifyIC
of IC
s
a list to be digested in corresponding methods
of getmodifyIC
by generateIC
Matthias Kohl [email protected]
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
The usual robust optimality problem for given asGRisk searches the optimal clipping height b of a Hampel-type IC to given radius of the neighborhood. Instead, again for given asGRisk and for given Hampel-Type IC with given clipping height b we may determine the radius of the neighborhood for which it is optimal in the sense of the first sentence.
getRadius(IC, risk, neighbor, L2Fam)
getRadius(IC, risk, neighbor, L2Fam)
IC |
an IC of class |
risk |
object of class |
neighbor |
object of class |
L2Fam |
object of class |
The optimal radius is computed.
Peter Ruckdeschel [email protected]
Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. 8: 106–115.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Ruckdeschel, P. and Rieder, H. (2004) Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223.
Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves. Mathematical Methods in Statistics 14(1), 105-131.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
ContIC-class
, TotalVarIC-class
N <- NormLocationFamily(mean=0, sd=1) nb <- ContNeighborhood(); ri <- asMSE() radIC <- radiusMinimaxIC(L2Fam=N, neighbor=nb, risk=ri, loRad=0.1, upRad=0.5) getRadius(radIC, L2Fam=N, neighbor=nb, risk=ri) ## taken from script NormalScaleModel.R in folder scripts N0 <- NormScaleFamily(mean=0, sd=1) (N0.IC7 <- radiusMinimaxIC(L2Fam=N0, neighbor=nb, risk=ri, loRad=0, upRad=Inf)) ## getRadius(N0.IC7, risk=asMSE(), neighbor=nb, L2Fam=N0) getRadius(N0.IC7, risk=asL4(), neighbor=nb, L2Fam=N0)
N <- NormLocationFamily(mean=0, sd=1) nb <- ContNeighborhood(); ri <- asMSE() radIC <- radiusMinimaxIC(L2Fam=N, neighbor=nb, risk=ri, loRad=0.1, upRad=0.5) getRadius(radIC, L2Fam=N, neighbor=nb, risk=ri) ## taken from script NormalScaleModel.R in folder scripts N0 <- NormScaleFamily(mean=0, sd=1) (N0.IC7 <- radiusMinimaxIC(L2Fam=N0, neighbor=nb, risk=ri, loRad=0, upRad=Inf)) ## getRadius(N0.IC7, risk=asMSE(), neighbor=nb, L2Fam=N0) getRadius(N0.IC7, risk=asL4(), neighbor=nb, L2Fam=N0)
(tries to) compute a radius interval where IC1 is better than IC2, respectively the number of (worst-case) outliers interval where IC1 is better than IC2.
getReq(Risk,neighbor,IC1,IC2,n=1,upper=15, radOrOutl=c("radius","Outlier"), ...)
getReq(Risk,neighbor,IC1,IC2,n=1,upper=15, radOrOutl=c("radius","Outlier"), ...)
Risk |
an object of class |
neighbor |
object of class |
IC1 |
some IC of class |
IC2 |
some IC of class |
n |
the sample size; by default set to 1; then the radius interval refers to starting radii in the shrinking neighborhood setting of Rieder[94]. Otherwise the radius interval is scaled down accordingly. |
upper |
the upper bound of the radius interval in which to search |
radOrOutl |
a character string specifying whether an interval of radii or a number of outliers is returned; must be one of "radius" (default) and "Outlier". |
... |
further arguments to be passed on |
The radius interval (given by its endpoints) where IC1
is better than IC2
according to the risk. In case IC2
is better than IC1
as to both variance and bias,
the return value is NA
.
Peter Ruckdeschel [email protected]
Hampel et al. (1986) Robust Statistics. The Approach Based on Influence Functions. New York: Wiley.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
N0 <- NormLocationFamily(mean=2, sd=3) ## L_2 family + infinitesimal neighborhood neighbor <- ContNeighborhood(radius = 0.5) N0.Rob1 <- InfRobModel(center = N0, neighbor = neighbor) ## OBRE solution (ARE 95%) N0.ICA <- optIC(model = N0.Rob1, risk = asAnscombe(.95)) ## MSE solution N0.ICM <- optIC(model=N0.Rob1, risk=asMSE()) getReq(asMSE(),neighbor,N0.ICA,N0.ICM,n=1) getReq(asMSE(),neighbor,N0.ICA,N0.ICM,n=30) ## Don't test to reduce check time on CRAN ## RMX solution N0.ICR <- radiusMinimaxIC(L2Fam=N0, neighbor=neighbor,risk=asMSE()) getReq(asL1(),neighbor,N0.ICA,N0.ICM,n=30) getReq(asL4(),neighbor,N0.ICA,N0.ICM,n=30) getReq(asMSE(),neighbor,N0.ICA,N0.ICR,n=30) getReq(asL1(),neighbor,N0.ICA,N0.ICR,n=30) getReq(asL4(),neighbor,N0.ICA,N0.ICR,n=30) getReq(asMSE(),neighbor,N0.ICM,N0.ICR,n=30) ### when to use MAD and when Qn ## for Qn, see C. Croux, P. Rousseeuw (1993). Alternatives to the Median ## Absolute Deviation, JASA 88(424):1273-1283 L2M <- NormScaleFamily() IC.mad <- makeIC(function(x)sign(abs(x)-qnorm(.75)),L2M) d.qn <- (2^.5*qnorm(5/8))^-1 IC.qn <- makeIC(function(x) d.qn*(1/4 - pnorm(x+1/d.qn) + pnorm(x-1/d.qn)), L2M) getReq(asMSE(), neighbor, IC.mad, IC.qn) getReq(asMSE(), neighbor, IC.mad, IC.qn, radOrOutl = "Outlier", n = 30) # => MAD is better once r > 0.5144 (i.e. for more than 2 outliers for n = 30)
N0 <- NormLocationFamily(mean=2, sd=3) ## L_2 family + infinitesimal neighborhood neighbor <- ContNeighborhood(radius = 0.5) N0.Rob1 <- InfRobModel(center = N0, neighbor = neighbor) ## OBRE solution (ARE 95%) N0.ICA <- optIC(model = N0.Rob1, risk = asAnscombe(.95)) ## MSE solution N0.ICM <- optIC(model=N0.Rob1, risk=asMSE()) getReq(asMSE(),neighbor,N0.ICA,N0.ICM,n=1) getReq(asMSE(),neighbor,N0.ICA,N0.ICM,n=30) ## Don't test to reduce check time on CRAN ## RMX solution N0.ICR <- radiusMinimaxIC(L2Fam=N0, neighbor=neighbor,risk=asMSE()) getReq(asL1(),neighbor,N0.ICA,N0.ICM,n=30) getReq(asL4(),neighbor,N0.ICA,N0.ICM,n=30) getReq(asMSE(),neighbor,N0.ICA,N0.ICR,n=30) getReq(asL1(),neighbor,N0.ICA,N0.ICR,n=30) getReq(asL4(),neighbor,N0.ICA,N0.ICR,n=30) getReq(asMSE(),neighbor,N0.ICM,N0.ICR,n=30) ### when to use MAD and when Qn ## for Qn, see C. Croux, P. Rousseeuw (1993). Alternatives to the Median ## Absolute Deviation, JASA 88(424):1273-1283 L2M <- NormScaleFamily() IC.mad <- makeIC(function(x)sign(abs(x)-qnorm(.75)),L2M) d.qn <- (2^.5*qnorm(5/8))^-1 IC.qn <- makeIC(function(x) d.qn*(1/4 - pnorm(x+1/d.qn) + pnorm(x-1/d.qn)), L2M) getReq(asMSE(), neighbor, IC.mad, IC.qn) getReq(asMSE(), neighbor, IC.mad, IC.qn, radOrOutl = "Outlier", n = 30) # => MAD is better once r > 0.5144 (i.e. for more than 2 outliers for n = 30)
getRiskFctBV for a given object of S4 class asGRisk
returns a function in bias and variance to compute the asymptotic
risk.
signature(risk = "asL1", biastype = "ANY")
:
returns a function with arguments bias
and variance
to compute the asymptotic absolute (L1) error for a given ALE at a situation
where it has bias bias
(including the radius!) and variance variance
.
signature(risk = "asL4", biastype = "ANY")
:
returns a function with arguments bias
and variance
to compute the asymptotic L4 error for a given ALE at a situation where
it has bias bias
(including the radius!) and variance variance
.
myrisk <- asMSE() getRiskFctBV(myrisk)
myrisk <- asMSE() getRiskFctBV(myrisk)
Generic function for the computation of a risk for an IC.
getRiskIC(IC, risk, neighbor, L2Fam, ...) ## S4 method for signature 'HampIC,asCov,missing,missing' getRiskIC(IC, risk, withCheck= TRUE, ...) ## S4 method for signature 'HampIC,asCov,missing,L2ParamFamily' getRiskIC(IC, risk, L2Fam, withCheck= TRUE, ...) ## S4 method for signature 'TotalVarIC,asCov,missing,L2ParamFamily' getRiskIC(IC, risk, L2Fam, withCheck = TRUE, ...)
getRiskIC(IC, risk, neighbor, L2Fam, ...) ## S4 method for signature 'HampIC,asCov,missing,missing' getRiskIC(IC, risk, withCheck= TRUE, ...) ## S4 method for signature 'HampIC,asCov,missing,L2ParamFamily' getRiskIC(IC, risk, L2Fam, withCheck= TRUE, ...) ## S4 method for signature 'TotalVarIC,asCov,missing,L2ParamFamily' getRiskIC(IC, risk, L2Fam, withCheck = TRUE, ...)
IC |
object of class |
risk |
object of class |
neighbor |
object of class |
... |
additional parameters to be passed to |
L2Fam |
object of class |
withCheck |
logical: should a call to |
To make sure that the results are valid, it is recommended
to include an additional check of the IC properties of IC
using checkIC
.
The risk of an IC is computed.
asymptotic covariance of IC
read off from corresp. Risks
slot.
asymptotic covariance of IC
under L2Fam
read off from corresp. Risks
slot.
asymptotic covariance of IC
read off from corresp. Risks
slot,
resp. if this is NULL
calculates it via getInfV
.
This generic function is still under construction.
Peter Ruckdeschel [email protected]
Huber, P.J. (1968) Robust Confidence Limits. Z. Wahrscheinlichkeitstheor. Verw. Geb. 10:269–278.
Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. 8: 106–115.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
Ruckdeschel, P. and Kohl, M. (2005) Computation of the Finite Sample Risk of M-estimators on Neighborhoods.
B <- BinomFamily(size = 25, prob = 0.25) ## classical optimal IC IC0 <- optIC(model = B, risk = asCov()) getRiskIC(IC0, asCov())
B <- BinomFamily(size = 25, prob = 0.25) ## classical optimal IC IC0 <- optIC(model = B, risk = asCov()) getRiskIC(IC0, asCov())
getStartIC
computes the optimally-robust IC to be used as
argument ICstart
in kStepEstimator
.
getStartIC(model, risk, ...) ## S4 method for signature 'ANY,ANY' getStartIC(model, risk, ...) ## S4 method for signature 'L2ParamFamily,asGRisk' getStartIC(model, risk, ..., withEvalAsVar = TRUE, withMakeIC = FALSE, ..debug=FALSE, modifyICwarn = NULL, diagnostic = FALSE) ## S4 method for signature 'L2ParamFamily,asBias' getStartIC(model, risk, ..., withMakeIC = FALSE, ..debug=FALSE, modifyICwarn = NULL, diagnostic = FALSE) ## S4 method for signature 'L2ParamFamily,asCov' getStartIC(model, risk, ..., withMakeIC = FALSE, ..debug=FALSE) ## S4 method for signature 'L2ParamFamily,trAsCov' getStartIC(model, risk, ..., withMakeIC = FALSE, ..debug=FALSE) ## S4 method for signature 'L2ParamFamily,asAnscombe' getStartIC(model, risk, ..., withEvalAsVar = TRUE, withMakeIC = FALSE, ..debug=FALSE, modifyICwarn = NULL, diagnostic = FALSE) ## S4 method for signature 'L2LocationFamily,interpolRisk' getStartIC(model, risk, ...) ## S4 method for signature 'L2ScaleFamily,interpolRisk' getStartIC(model, risk, ...) ## S4 method for signature 'L2LocationScaleFamily,interpolRisk' getStartIC(model, risk, ...)
getStartIC(model, risk, ...) ## S4 method for signature 'ANY,ANY' getStartIC(model, risk, ...) ## S4 method for signature 'L2ParamFamily,asGRisk' getStartIC(model, risk, ..., withEvalAsVar = TRUE, withMakeIC = FALSE, ..debug=FALSE, modifyICwarn = NULL, diagnostic = FALSE) ## S4 method for signature 'L2ParamFamily,asBias' getStartIC(model, risk, ..., withMakeIC = FALSE, ..debug=FALSE, modifyICwarn = NULL, diagnostic = FALSE) ## S4 method for signature 'L2ParamFamily,asCov' getStartIC(model, risk, ..., withMakeIC = FALSE, ..debug=FALSE) ## S4 method for signature 'L2ParamFamily,trAsCov' getStartIC(model, risk, ..., withMakeIC = FALSE, ..debug=FALSE) ## S4 method for signature 'L2ParamFamily,asAnscombe' getStartIC(model, risk, ..., withEvalAsVar = TRUE, withMakeIC = FALSE, ..debug=FALSE, modifyICwarn = NULL, diagnostic = FALSE) ## S4 method for signature 'L2LocationFamily,interpolRisk' getStartIC(model, risk, ...) ## S4 method for signature 'L2ScaleFamily,interpolRisk' getStartIC(model, risk, ...) ## S4 method for signature 'L2LocationScaleFamily,interpolRisk' getStartIC(model, risk, ...)
model |
normtype of class |
risk |
normtype of class |
... |
further arguments to be passed to specific methods. |
withEvalAsVar |
logical (of length 1):
if |
withMakeIC |
logical; if |
..debug |
logical; if |
modifyICwarn |
logical: should a (warning) information be added if
|
diagnostic |
logical; if |
getStartIC
is used internally in functions robest
and roptest
to compute the optimally robust influence function
according to the arguments given to them.
An IC of type HampIC
.
signature(model = "ANY", risk = "ANY")
:
issue that this is not yet implemented.
signature(model = "L2ParamFamily", risk = "asGRisk")
:
depending on the values of argument eps
(to be passed on through
the ...
argument) computes the optimally robust influence
function on the fly via calls to optIC
or radiusMinimaxIC
.
signature(model = "L2ParamFamily", risk = "asBias")
:
computes the most-bias-robust influence function on the fly via
calls to optIC
.
signature(model = "L2ParamFamily", risk = "asCov")
:
computes the classically optimal influence function on the fly via
calls to optIC
.
signature(model = "L2ParamFamily", risk = "trAsCov")
:
computes the classically optimal influence function on the fly via
calls to optIC
.
Peter Ruckdeschel [email protected]
Generating functions to generate structured input for function robest
.
genkStepCtrl(useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), scalename = "scale", withLogScale = TRUE, withEvalAsVar = NULL, withMakeIC = FALSE, E.argList = NULL) genstartCtrl(initial.est = NULL, initial.est.ArgList = NULL, startPar = NULL, distance = CvMDist, withMDE = NULL, E.argList = NULL) gennbCtrl(neighbor = ContNeighborhood(), eps, eps.lower, eps.upper) genstartICCtrl(withMakeIC = FALSE, withEvalAsVar = NULL, modifyICwarn = NULL, E.argList = NULL)
genkStepCtrl(useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), scalename = "scale", withLogScale = TRUE, withEvalAsVar = NULL, withMakeIC = FALSE, E.argList = NULL) genstartCtrl(initial.est = NULL, initial.est.ArgList = NULL, startPar = NULL, distance = CvMDist, withMDE = NULL, E.argList = NULL) gennbCtrl(neighbor = ContNeighborhood(), eps, eps.lower, eps.upper) genstartICCtrl(withMakeIC = FALSE, withEvalAsVar = NULL, modifyICwarn = NULL, E.argList = NULL)
useLast |
which parameter estimate (initial estimate or
k-step estimate) shall be used to fill the slots |
withUpdateInKer |
if there is a non-trivial trafo in the model with matrix |
IC.UpdateInKer |
if there is a non-trivial trafo in the model with matrix |
withICList |
logical: shall slot |
withPICList |
logical: shall slot |
scalename |
character: name of the respective scale component. |
withLogScale |
logical; shall a scale component (if existing and found
with name |
withEvalAsVar |
logical or |
withMakeIC |
logical; if |
modifyICwarn |
logical: should a (warning) information be added if
|
initial.est |
initial estimate for unknown parameter. If missing minimum distance estimator is computed. |
initial.est.ArgList |
a list of arguments to be given to argument |
startPar |
initial information used by |
distance |
distance function |
withMDE |
logical or NULL: Shall a minimum distance estimator be used as
starting estimator in |
neighbor |
object of class |
eps |
positive real (0 < |
eps.lower |
positive real (0 <= |
eps.upper |
positive real ( |
E.argList |
|
All these functions bundle their respective input to (reusable) lists
which can be used as arguments in function robest
.
For details, see this function.
A list of arguments to be (re-)used as (structured) input for function robest
;
more specifically, all arguments of the respective function are bundled into
a list, where arguments not explicitly specified in the call are filled with
corresponding defaults as given in the usage section of this help file.
Matthias Kohl [email protected],
Peter Ruckdeschel [email protected]
roblox
,
L2ParamFamily-class
UncondNeighborhood-class
,
RiskType-class
genkStepCtrl() genstartICCtrl() genstartCtrl() gennbCtrl()
genkStepCtrl() genstartICCtrl() genstartCtrl() gennbCtrl()
Generic function for the computation of least favorable radii.
leastFavorableRadius(L2Fam, neighbor, risk, ...) ## S4 method for signature 'L2ParamFamily,UncondNeighborhood,asGRisk' leastFavorableRadius( L2Fam, neighbor, risk, rho, upRad = 1, z.start = NULL, A.start = NULL, upper = 100, OptOrIter = "iterate", maxiter = 100, tol = .Machine$double.eps^0.4, warn = FALSE, verbose = NULL, ...)
leastFavorableRadius(L2Fam, neighbor, risk, ...) ## S4 method for signature 'L2ParamFamily,UncondNeighborhood,asGRisk' leastFavorableRadius( L2Fam, neighbor, risk, rho, upRad = 1, z.start = NULL, A.start = NULL, upper = 100, OptOrIter = "iterate", maxiter = 100, tol = .Machine$double.eps^0.4, warn = FALSE, verbose = NULL, ...)
L2Fam |
L2-differentiable family of probability measures. |
neighbor |
object of class |
risk |
object of class |
upRad |
the upper end point of the radius interval to be searched. |
rho |
The considered radius interval is: |
z.start |
initial value for the centering constant. |
A.start |
initial value for the standardizing matrix. |
upper |
upper bound for the optimal clipping bound. |
OptOrIter |
character; which method to be used for determining Lagrange
multipliers |
maxiter |
the maximum number of iterations |
tol |
the desired accuracy (convergence tolerance). |
warn |
logical: print warnings. |
verbose |
logical: if |
... |
additional arguments to be passed to |
The least favorable radius and the corresponding inefficiency are computed.
computation of the least favorable radius.
Matthias Kohl [email protected], Peter Ruckdeschel [email protected]
M. Kohl (2005). Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf.
H. Rieder, M. Kohl, and P. Ruckdeschel (2008). The Costs of not Knowing the Radius. Statistical Methods and Applications, 17(1) 13-40. doi:10.1007/s10260-007-0047-7.
H. Rieder, M. Kohl, and P. Ruckdeschel (2001). The Costs of not Knowing the Radius. Appeared as discussion paper Nr. 81. SFB 373 (Quantification and Simulation of Economic Processes), Humboldt University, Berlin; also available under doi:10.18452/3638.
P. Ruckdeschel (2005). Optimally One-Sided Bounded Influence Curves. Mathematical Methods of Statistics 14(1), 105-131.
P. Ruckdeschel and H. Rieder (2004). Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223. doi:10.1524/stnd.22.3.201.57067
N <- NormLocationFamily(mean=0, sd=1) leastFavorableRadius(L2Fam=N, neighbor=ContNeighborhood(), risk=asMSE(), rho=0.5)
N <- NormLocationFamily(mean=0, sd=1) leastFavorableRadius(L2Fam=N, neighbor=ContNeighborhood(), risk=asMSE(), rho=0.5)
The lower case radius is computed; confer Subsection 2.1.2 in Kohl (2005) and formula (4.5) in Ruckdeschel (2005).
lowerCaseRadius(L2Fam, neighbor, risk, biastype, ...)
lowerCaseRadius(L2Fam, neighbor, risk, biastype, ...)
L2Fam |
L2 differentiable parametric family |
neighbor |
object of class |
risk |
object of class |
biastype |
object of class |
... |
additional parameters |
lower case radius
lower case radius for risk "asMSE"
in case of "ContNeighborhood"
for symmetric bias.
lower case radius for risk "asMSE"
in case of "TotalVarNeighborhood"
;
(argument biastype is just for signature reasons).
lower case radius for risk "asMSE"
in case of "ContNeighborhood"
for onesided bias.
lower case radius for risk "asMSE"
in case of "ContNeighborhood"
for asymmetric bias.
used only internally; trick to be able to call lower case radius from within minmax bias solver
Matthias Kohl [email protected], Peter Ruckdeschel [email protected]
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves. Mathematical Methods in Statistics 14(1), 105-131.
L2ParamFamily-class
, Neighborhood-class
lowerCaseRadius(BinomFamily(size = 10), ContNeighborhood(), asMSE()) lowerCaseRadius(BinomFamily(size = 10), TotalVarNeighborhood(), asMSE())
lowerCaseRadius(BinomFamily(size = 10), ContNeighborhood(), asMSE()) lowerCaseRadius(BinomFamily(size = 10), TotalVarNeighborhood(), asMSE())
Generic function for the computation of bias-optimally robust ICs in case of infinitesimal robust models. This function is rarely called directly.
minmaxBias(L2deriv, neighbor, biastype, ...) ## S4 method for signature 'UnivariateDistribution,ContNeighborhood,BiasType' minmaxBias(L2deriv, neighbor, biastype, symm, trafo, maxiter, tol, warn, Finfo, verbose = NULL) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,asymmetricBias' minmaxBias( L2deriv, neighbor, biastype, symm, trafo, maxiter, tol, warn, Finfo, verbose = NULL) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,onesidedBias' minmaxBias( L2deriv, neighbor, biastype, symm, trafo, maxiter, tol, warn, Finfo, verbose = NULL) ## S4 method for signature ## 'UnivariateDistribution,TotalVarNeighborhood,BiasType' minmaxBias( L2deriv, neighbor, biastype, symm, trafo, maxiter, tol, warn, Finfo, verbose = NULL) ## S4 method for signature 'RealRandVariable,ContNeighborhood,BiasType' minmaxBias(L2deriv, neighbor, biastype, normtype, Distr, z.start, A.start, z.comp, A.comp, Finfo, trafo, maxiter, tol, verbose = NULL, ...) ## S4 method for signature 'RealRandVariable,TotalVarNeighborhood,BiasType' minmaxBias(L2deriv, neighbor, biastype, normtype, Distr, z.start, A.start, z.comp, A.comp, Finfo, trafo, maxiter, tol, verbose = NULL, ...)
minmaxBias(L2deriv, neighbor, biastype, ...) ## S4 method for signature 'UnivariateDistribution,ContNeighborhood,BiasType' minmaxBias(L2deriv, neighbor, biastype, symm, trafo, maxiter, tol, warn, Finfo, verbose = NULL) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,asymmetricBias' minmaxBias( L2deriv, neighbor, biastype, symm, trafo, maxiter, tol, warn, Finfo, verbose = NULL) ## S4 method for signature ## 'UnivariateDistribution,ContNeighborhood,onesidedBias' minmaxBias( L2deriv, neighbor, biastype, symm, trafo, maxiter, tol, warn, Finfo, verbose = NULL) ## S4 method for signature ## 'UnivariateDistribution,TotalVarNeighborhood,BiasType' minmaxBias( L2deriv, neighbor, biastype, symm, trafo, maxiter, tol, warn, Finfo, verbose = NULL) ## S4 method for signature 'RealRandVariable,ContNeighborhood,BiasType' minmaxBias(L2deriv, neighbor, biastype, normtype, Distr, z.start, A.start, z.comp, A.comp, Finfo, trafo, maxiter, tol, verbose = NULL, ...) ## S4 method for signature 'RealRandVariable,TotalVarNeighborhood,BiasType' minmaxBias(L2deriv, neighbor, biastype, normtype, Distr, z.start, A.start, z.comp, A.comp, Finfo, trafo, maxiter, tol, verbose = NULL, ...)
L2deriv |
L2-derivative of some L2-differentiable family of probability measures. |
neighbor |
object of class |
biastype |
object of class |
normtype |
object of class |
... |
additional arguments to be passed to |
Distr |
object of class |
symm |
logical: indicating symmetry of |
z.start |
initial value for the centering constant. |
A.start |
initial value for the standardizing matrix. |
z.comp |
|
A.comp |
|
trafo |
matrix: transformation of the parameter. |
maxiter |
the maximum number of iterations. |
tol |
the desired accuracy (convergence tolerance). |
warn |
logical: print warnings. |
Finfo |
Fisher information matrix. |
verbose |
logical: if |
The bias-optimally robust IC is computed.
computes the bias optimal influence curve for symmetric bias for L2 differentiable parametric families with unknown one-dimensional parameter.
computes the bias optimal influence curve for asymmetric bias for L2 differentiable parametric families with unknown one-dimensional parameter.
computes the bias optimal influence curve for symmetric bias for L2 differentiable parametric families with unknown one-dimensional parameter.
computes the bias optimal influence curve for symmetric bias for L2 differentiable
parametric families with unknown -dimensional parameter
(
) where the underlying distribution is univariate.
computes the bias optimal influence curve for symmetric bias for L2 differentiable
parametric families in a setting where we are interested in a
dimensional aspect of an unknown
-dimensional parameter
(
) where the underlying distribution is univariate.
Matthias Kohl [email protected], Peter Ruckdeschel [email protected]
Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. 8: 106–115.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves. Mathematical Methods in Statistics 14(1), 105-131.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
Generic function for the computation of optimally robust ICs.
optIC(model, risk, ...) ## S4 method for signature 'InfRobModel,asRisk' optIC(model, risk, z.start = NULL, A.start = NULL, upper = 1e4, lower = 1e-4, OptOrIter = "iterate", maxiter = 50, tol = .Machine$double.eps^0.4, warn = TRUE, noLow = FALSE, verbose = NULL, ..., .withEvalAsVar = TRUE, withMakeIC = FALSE, returnNAifProblem = FALSE, modifyICwarn = NULL) ## S4 method for signature 'InfRobModel,asUnOvShoot' optIC(model, risk, upper = 1e4, lower = 1e-4, maxiter = 50, tol = .Machine$double.eps^0.4, withMakeIC = FALSE, warn = TRUE, verbose = NULL, modifyICwarn = NULL, ...) ## S4 method for signature 'FixRobModel,fiUnOvShoot' optIC(model, risk, sampleSize, upper = 1e4, lower = 1e-4, maxiter = 50, tol = .Machine$double.eps^0.4, withMakeIC = FALSE, warn = TRUE, Algo = "A", cont = "left", verbose = NULL, modifyICwarn = NULL, ...)
optIC(model, risk, ...) ## S4 method for signature 'InfRobModel,asRisk' optIC(model, risk, z.start = NULL, A.start = NULL, upper = 1e4, lower = 1e-4, OptOrIter = "iterate", maxiter = 50, tol = .Machine$double.eps^0.4, warn = TRUE, noLow = FALSE, verbose = NULL, ..., .withEvalAsVar = TRUE, withMakeIC = FALSE, returnNAifProblem = FALSE, modifyICwarn = NULL) ## S4 method for signature 'InfRobModel,asUnOvShoot' optIC(model, risk, upper = 1e4, lower = 1e-4, maxiter = 50, tol = .Machine$double.eps^0.4, withMakeIC = FALSE, warn = TRUE, verbose = NULL, modifyICwarn = NULL, ...) ## S4 method for signature 'FixRobModel,fiUnOvShoot' optIC(model, risk, sampleSize, upper = 1e4, lower = 1e-4, maxiter = 50, tol = .Machine$double.eps^0.4, withMakeIC = FALSE, warn = TRUE, Algo = "A", cont = "left", verbose = NULL, modifyICwarn = NULL, ...)
model |
probability model. |
risk |
object of class |
... |
additional arguments; e.g. are passed on to |
z.start |
initial value for the centering constant. |
A.start |
initial value for the standardizing matrix. |
upper |
upper bound for the optimal clipping bound. |
lower |
lower bound for the optimal clipping bound. |
maxiter |
the maximum number of iterations. |
tol |
the desired accuracy (convergence tolerance). |
warn |
logical: print warnings. |
sampleSize |
integer: sample size. |
Algo |
"A" or "B". |
cont |
"left" or "right". |
noLow |
logical: is lower case to be computed? |
OptOrIter |
character; which method to be used for determining Lagrange
multipliers |
verbose |
logical: if |
.withEvalAsVar |
logical (of length 1):
if |
withMakeIC |
logical; if |
returnNAifProblem |
logical (of length 1):
if |
modifyICwarn |
logical: should a (warning) information be added if
|
In case of the finite-sample risk "fiUnOvShoot"
one can choose
between two algorithms for the computation of this risk where the least favorable
contamination is assumed to be left or right of some bound. For more details
we refer to Section 11.3 of Kohl (2005).
Some optimally robust IC is computed.
computes optimally robust influence curve for robust models with infinitesimal neighborhoods and various asymptotic risks.
computes optimally robust influence curve for robust models with infinitesimal neighborhoods and asymptotic under-/overshoot risk.
computes optimally robust influence curve for robust models with fixed neighborhoods and finite-sample under-/overshoot risk.
Matthias Kohl [email protected]
Huber, P.J. (1968) Robust Confidence Limits. Z. Wahrscheinlichkeitstheor. Verw. Geb. 10:269–278.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf.
Kohl, M. and Ruckdeschel, P. (2010): R package distrMod: Object-Oriented Implementation of Probability Models. J. Statist. Softw. 35(10), 1–27. doi:10.18637/jss.v035.i10.
Kohl, M. and Ruckdeschel, P., and Rieder, H. (2010): Infinitesimally Robust Estimation in General Smoothly Parametrized Models. Stat. Methods Appl., 19, 333–354. doi:10.1007/s10260-010-0133-0.
Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. 8: 106–115.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer. doi:10.1007/978-1-4684-0624-5.
Rieder, H., Kohl, M. and Ruckdeschel, P. (2008) The Costs of not Knowing the Radius. Statistical Methods and Applications 17(1) 13-40. doi:10.1007/s10260-007-0047-7.
Rieder, H., Kohl, M. and Ruckdeschel, P. (2001) The Costs of not Knowing the Radius. Appeared as discussion paper Nr. 81. SFB 373 (Quantification and Simulation of Economic Processes), Humboldt University, Berlin; also available under doi:10.18452/3638.
InfluenceCurve-class
, RiskType-class
B <- BinomFamily(size = 25, prob = 0.25) ## classical optimal IC IC0 <- optIC(model = B, risk = asCov()) plot(IC0) # plot IC checkIC(IC0, B)
B <- BinomFamily(size = 25, prob = 0.25) ## classical optimal IC IC0 <- optIC(model = B, risk = asCov()) plot(IC0) # plot IC checkIC(IC0, B)
Generic function for the computation of the optimal (i.e., minimal) risk for a probability model.
optRisk(model, risk, ...) ## S4 method for signature 'L2ParamFamily,asCov' optRisk(model, risk) ## S4 method for signature 'InfRobModel,asRisk' optRisk(model, risk, z.start = NULL, A.start = NULL, upper = 1e4, maxiter = 50, tol = .Machine$double.eps^0.4, warn = TRUE, noLow = FALSE) ## S4 method for signature 'FixRobModel,fiUnOvShoot' optRisk(model, risk, sampleSize, upper = 1e4, maxiter = 50, tol = .Machine$double.eps^0.4, warn = TRUE, Algo = "A", cont = "left")
optRisk(model, risk, ...) ## S4 method for signature 'L2ParamFamily,asCov' optRisk(model, risk) ## S4 method for signature 'InfRobModel,asRisk' optRisk(model, risk, z.start = NULL, A.start = NULL, upper = 1e4, maxiter = 50, tol = .Machine$double.eps^0.4, warn = TRUE, noLow = FALSE) ## S4 method for signature 'FixRobModel,fiUnOvShoot' optRisk(model, risk, sampleSize, upper = 1e4, maxiter = 50, tol = .Machine$double.eps^0.4, warn = TRUE, Algo = "A", cont = "left")
model |
probability model |
risk |
object of class |
... |
additional parameters |
z.start |
initial value for the centering constant. |
A.start |
initial value for the standardizing matrix. |
upper |
upper bound for the optimal clipping bound. |
maxiter |
the maximum number of iterations |
tol |
the desired accuracy (convergence tolerance). |
warn |
logical: print warnings. |
sampleSize |
integer: sample size. |
Algo |
"A" or "B". |
cont |
"left" or "right". |
noLow |
logical: is lower case to be computed? |
In case of the finite-sample risk "fiUnOvShoot"
one can choose
between two algorithms for the computation of this risk where the least favorable
contamination is assumed to be left or right of some bound. For more details
we refer to Section 11.3 of Kohl (2005).
The minimal risk is computed.
asymptotic covariance of L2 differentiable parameteric family.
asymptotic risk of a infinitesimal robust model.
finite-sample under-/overshoot risk of a robust model with fixed neighborhood.
Matthias Kohl [email protected]
Huber, P.J. (1968) Robust Confidence Limits. Z. Wahrscheinlichkeitstheor. Verw. Geb. 10:269–278.
Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. 8: 106–115.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer.
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation.
optRisk(model = NormLocationScaleFamily(), risk = asCov())
optRisk(model = NormLocationScaleFamily(), risk = asCov())
Class of optimally robust asymptotically linear estimates.
Objects can be created by calls of the form new("ORobEstimate", ...)
.
More frequently they are created as results of functions
roptest
, MBREstimator
, RMXEstimator
, or
OMSEstimator
.
name
Object of class "character"
:
name of the estimator. [*]
estimate
Object of class "ANY"
:
estimate. [*]
estimate.call
Object of class "call"
:
call by which estimate was produced. [*]
samplesize
object of class "numeric"
—
the samplesize (only complete cases are counted)
at which the estimate was evaluated. [*]
completecases
: object of class "logical"
—
complete cases at which the estimate was evaluated. [*]
asvar
object of class "OptionalNumericOrMatrix"
which may contain the asymptotic (co)variance of the estimator. [*]
asbias
Optional object of class "numeric"
:
asymptotic bias. [*]
pIC
Optional object of class InfluenceCurve
:
influence curve. [*]
nuis.idx
object of class "OptionalNumeric"
:
indices of estimate
belonging to the nuisance part. [*]
fixed
object of class "OptionalNumeric"
:
the fixed and known part of the parameter. [*]
steps
Object of class "integer"
: number
of steps. [*]
Infos
object of class "matrix"
with two columns named method
and message
:
additional informations. [*]
trafo
object of class "list"
:
a list with components fct
and mat
(see below). [*]
untransformed.estimate
:Object of class "ANY"
:
untransformed estimate. [*]
untransformed.asvar
: object of class "OptionalNumericOrMatrix"
which may contain the asymptotic (co)variance of the untransformed
estimator. [*]
pICList
Optional object of class "OptionalpICList"
:
the list of (intermediate) (partial) influence curves used;
only filled when called from ORobEstimator
with argument
withPICList==TRUE
. [*]
ICList
Optional object of class "OptionalpICList"
:
the list of (intermediate) (total) influence curves used;
only filled when called from ORobEstimator
with argument
withICList==TRUE
. [*]
start
The argument start
— of class "StartClass"
used in call to ORobEstimator
. [*]
startval
Object of class matrix
:
the starting value with which the k-step Estimator was initialized
(in -space / transformed). [*]
ustartval
Object of class matrix
:
the starting value with which the k-step Estimator was initialized
(in -space / untransformed). [*]
ksteps
Object of class "OptionalMatrix"
:
the intermediate estimates (in -space) for the parameter;
only filled when called from
ORobEstimator
. [*]
uksteps
Object of class "OptionalMatrix"
:
the intermediate estimates (in -space) for the parameter;
only filled when called from
ORobEstimator
. [*]
robestcall
Object of class "OptionalCall"
, i.e.,
a call
or NULL
: only filled when called from roptest
. [*]
roptestcall
Object of class "OptionalCall"
, i.e.,
a call
or NULL
: only filled when called from roptest
,
MBREstimator
, RMXEstimator
, or OMSEstimator
.
Class "kStepEstimate"
, directly.
Class "ALEstimate"
and class "Estimate"
, by
class "kStepstimate"
. All slots and methods marked with [*] are inherited.
signature(object = "ORobEstimate")
:
accessor function for slot steps
. [*]
signature(object = "ORobEstimate")
:
accessor function for slot ksteps
; has additional argument
diff
, defaulting to FALSE
; if the latter is TRUE
,
the starting value from slot startval
is prepended as first column;
otherwise we return the corresponding increments in each step. [*]
signature(object = "ORobEstimate")
:
accessor function for slot uksteps
; has additional argument
diff
, defaulting to FALSE
; if the latter is TRUE
,
the starting value from slot ustartval
is prepended as first column;
otherwise we return the corresponding increments in each step. [*]
signature(object = "ORobEstimate")
:
accessor function for slot start
. [*]
signature(object = "ORobEstimate")
:
accessor function for slot startval
. [*]
signature(object = "ORobEstimate")
:
accessor function for slot startval
. [*]
signature(object = "ORobEstimate")
:
accessor function for slot ICList
. [*]
signature(object = "ORobEstimate")
:
accessor function for slot pICList
. [*]
signature(object = "ORobEstimate")
:
accessor function for slot robestCall
. [*]
signature(object = "ORobEstimate")
:
accessor function for slot roptestCall
.
signature(object = "ORobEstimate")
:
accessor function for attribute "timings"
.
with additional argument withKStep
defaulting to FALSE
;
in case argument withKStep==TRUE
, the return value is a list
with items timings
and kStepTimings
combining the
two timing informaion attributes.
signature(object = "ORobEstimate")
:
accessor function for attribute "timings"
.
signature(object = "ORobEstimate")
: a show method; [*]
Peter Ruckdeschel [email protected]
ALEstimate-class
, kStepEstimate-class
plot-methods
S4-Method plot
for for signature IC,missing
has been enhanced
compared to its original definition in RobAStBase so that if
argument MBRB
is NA
, it is filled automatically by a call
to optIC
which computes the MBR-IC on the fly. To this end, there
is an additional argument n.MBR
defaulting to 10000
to determine the number of evaluation points.
points.
N <- NormLocationScaleFamily(mean=0, sd=1) IC <- optIC(model = N, risk = asCov()) ## Don't run to reduce check time on CRAN plot(IC, main = TRUE, panel.first= grid(), col = "blue", cex.main = 2, cex.inner = 0.6, withMBR=TRUE)
N <- NormLocationScaleFamily(mean=0, sd=1) IC <- optIC(model = N, risk = asCov()) ## Don't run to reduce check time on CRAN plot(IC, main = TRUE, panel.first= grid(), col = "blue", cex.main = 2, cex.inner = 0.6, withMBR=TRUE)
Generic function for the computation of the radius minimax IC.
radiusMinimaxIC(L2Fam, neighbor, risk, ...) ## S4 method for signature 'L2ParamFamily,UncondNeighborhood,asGRisk' radiusMinimaxIC( L2Fam, neighbor, risk, loRad = 0, upRad = Inf, z.start = NULL, A.start = NULL, upper = NULL, lower = NULL, OptOrIter = "iterate", maxiter = 50, tol = .Machine$double.eps^0.4, warn = FALSE, verbose = NULL, loRad0 = 1e-3, ..., returnNAifProblem = FALSE, loRad.s = NULL, upRad.s = NULL, modifyICwarn = NULL)
radiusMinimaxIC(L2Fam, neighbor, risk, ...) ## S4 method for signature 'L2ParamFamily,UncondNeighborhood,asGRisk' radiusMinimaxIC( L2Fam, neighbor, risk, loRad = 0, upRad = Inf, z.start = NULL, A.start = NULL, upper = NULL, lower = NULL, OptOrIter = "iterate", maxiter = 50, tol = .Machine$double.eps^0.4, warn = FALSE, verbose = NULL, loRad0 = 1e-3, ..., returnNAifProblem = FALSE, loRad.s = NULL, upRad.s = NULL, modifyICwarn = NULL)
L2Fam |
L2-differentiable family of probability measures. |
neighbor |
object of class |
risk |
object of class |
loRad |
the lower end point of the interval to be searched in the inner optimization (for the least favorable situation to the user-guessed radius). |
upRad |
the upper end point of the interval to be searched in the inner optimization (for the least favorable situation to the user-guessed radius). |
z.start |
initial value for the centering constant. |
A.start |
initial value for the standardizing matrix. |
upper |
upper bound for the optimal clipping bound. |
lower |
lower bound for the optimal clipping bound. |
OptOrIter |
character; which method to be used for determining Lagrange
multipliers |
maxiter |
the maximum number of iterations |
tol |
the desired accuracy (convergence tolerance). |
warn |
logical: print warnings. |
verbose |
logical: if |
loRad0 |
for numerical reasons: the effective lower bound for the zero search;
internally set to |
... |
further arguments to be passed on to |
returnNAifProblem |
logical (of length 1):
if |
loRad.s |
the lower end point of the interval
to be searched in the outer optimization
(for the user-guessed radius); if |
upRad.s |
the upper end point of the interval to be searched in the
outer optimization (for the user-guessed radius); if
|
modifyICwarn |
logical: should a (warning) information be added if
|
In case the neighborhood radius is unknown, Rieder et al. (2001, 2008) and Kohl (2005) show that there is nevertheless a way to compute an optimally robust IC - the so-called radius-minimax IC - which is optimal for some radius interval.
The radius minimax IC is computed.
computation of the radius minimax IC for an L2 differentiable parametric family.
Matthias Kohl [email protected], Peter Ruckdeschel [email protected]
M. Kohl (2005). Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf.
H. Rieder, M. Kohl, and P. Ruckdeschel (2008). The Costs of not Knowing the Radius. Statistical Methods and Applications, 17(1) 13-40. doi:10.1007/s10260-007-0047-7.
H. Rieder, M. Kohl, and P. Ruckdeschel (2001). The Costs of not Knowing the Radius. Appeared as discussion paper Nr. 81. SFB 373 (Quantification and Simulation of Economic Processes), Humboldt University, Berlin; also available under doi:10.18452/3638.
P. Ruckdeschel (2005). Optimally One-Sided Bounded Influence Curves. Mathematical Methods of Statistics 14(1), 105-131.
P. Ruckdeschel and H. Rieder (2004). Optimal Influence Curves for General Loss Functions. Statistics & Decisions 22, 201-223. doi:10.1524/stnd.22.3.201.57067
N <- NormLocationFamily(mean=0, sd=1) radIC <- radiusMinimaxIC(L2Fam=N, neighbor=ContNeighborhood(), risk=asMSE(), loRad=0.1, upRad=0.5) checkIC(radIC)
N <- NormLocationFamily(mean=0, sd=1) radIC <- radiusMinimaxIC(L2Fam=N, neighbor=ContNeighborhood(), risk=asMSE(), loRad=0.1, upRad=0.5) checkIC(radIC)
These are wrapper functions to 'roptest' to compute optimally robust estimates, more specifically RMXEs, OMSEs, MBREs, and OBREs, for L2-differentiable parametric families via k-step construction.
RMXEstimator(x, L2Fam, fsCor = 1, initial.est, neighbor = ContNeighborhood(), steps = 1L, distance = CvMDist, startPar = NULL, verbose = NULL, OptOrIter = "iterate", useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), na.rm = TRUE, initial.est.ArgList, ..., withLogScale = TRUE, ..withCheck=FALSE, withTimings = FALSE, withMDE = NULL, withEvalAsVar = NULL, withMakeIC = FALSE, modifyICwarn = NULL, E.argList = NULL, diagnostic = FALSE) OMSEstimator(x, L2Fam, eps=0.5, fsCor = 1, initial.est, neighbor = ContNeighborhood(), steps = 1L, distance = CvMDist, startPar = NULL, verbose = NULL, OptOrIter = "iterate", useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), na.rm = TRUE, initial.est.ArgList, ..., withLogScale = TRUE, ..withCheck=FALSE, withTimings = FALSE, withMDE = NULL, withEvalAsVar = NULL, withMakeIC = FALSE, modifyICwarn = NULL, E.argList = NULL, diagnostic = FALSE) OBREstimator(x, L2Fam, eff=0.95, fsCor = 1, initial.est, neighbor = ContNeighborhood(), steps = 1L, distance = CvMDist, startPar = NULL, verbose = NULL, OptOrIter = "iterate", useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), na.rm = TRUE, initial.est.ArgList, ..., withLogScale = TRUE, ..withCheck=FALSE, withTimings = FALSE, withMDE = NULL, withEvalAsVar = NULL, withMakeIC = FALSE, modifyICwarn = NULL, E.argList = NULL, diagnostic = FALSE) MBREstimator(x, L2Fam, fsCor = 1, initial.est, neighbor = ContNeighborhood(), steps = 1L, distance = CvMDist, startPar = NULL, verbose = NULL, OptOrIter = "iterate", useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), na.rm = TRUE, initial.est.ArgList, ..., withLogScale = TRUE, ..withCheck=FALSE, withTimings = FALSE, withMDE = NULL, withEvalAsVar = NULL, withMakeIC = FALSE, modifyICwarn = NULL, E.argList = NULL, diagnostic = FALSE)
RMXEstimator(x, L2Fam, fsCor = 1, initial.est, neighbor = ContNeighborhood(), steps = 1L, distance = CvMDist, startPar = NULL, verbose = NULL, OptOrIter = "iterate", useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), na.rm = TRUE, initial.est.ArgList, ..., withLogScale = TRUE, ..withCheck=FALSE, withTimings = FALSE, withMDE = NULL, withEvalAsVar = NULL, withMakeIC = FALSE, modifyICwarn = NULL, E.argList = NULL, diagnostic = FALSE) OMSEstimator(x, L2Fam, eps=0.5, fsCor = 1, initial.est, neighbor = ContNeighborhood(), steps = 1L, distance = CvMDist, startPar = NULL, verbose = NULL, OptOrIter = "iterate", useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), na.rm = TRUE, initial.est.ArgList, ..., withLogScale = TRUE, ..withCheck=FALSE, withTimings = FALSE, withMDE = NULL, withEvalAsVar = NULL, withMakeIC = FALSE, modifyICwarn = NULL, E.argList = NULL, diagnostic = FALSE) OBREstimator(x, L2Fam, eff=0.95, fsCor = 1, initial.est, neighbor = ContNeighborhood(), steps = 1L, distance = CvMDist, startPar = NULL, verbose = NULL, OptOrIter = "iterate", useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), na.rm = TRUE, initial.est.ArgList, ..., withLogScale = TRUE, ..withCheck=FALSE, withTimings = FALSE, withMDE = NULL, withEvalAsVar = NULL, withMakeIC = FALSE, modifyICwarn = NULL, E.argList = NULL, diagnostic = FALSE) MBREstimator(x, L2Fam, fsCor = 1, initial.est, neighbor = ContNeighborhood(), steps = 1L, distance = CvMDist, startPar = NULL, verbose = NULL, OptOrIter = "iterate", useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), na.rm = TRUE, initial.est.ArgList, ..., withLogScale = TRUE, ..withCheck=FALSE, withTimings = FALSE, withMDE = NULL, withEvalAsVar = NULL, withMakeIC = FALSE, modifyICwarn = NULL, E.argList = NULL, diagnostic = FALSE)
x |
sample |
L2Fam |
object of class |
eff |
positive real (0 <= |
eps |
positive real (0 < |
fsCor |
positive real: factor used to correct the neighborhood radius; see details. |
initial.est |
initial estimate for unknown parameter. If missing minimum distance estimator is computed. |
neighbor |
object of class |
steps |
positive integer: number of steps used for k-steps construction |
distance |
distance function used in |
startPar |
initial information used by |
verbose |
logical: if |
useLast |
which parameter estimate (initial estimate or
k-step estimate) shall be used to fill the slots |
OptOrIter |
character; which method to be used for determining Lagrange
multipliers |
withUpdateInKer |
if there is a non-trivial trafo in the model with matrix |
IC.UpdateInKer |
if there is a non-trivial trafo in the model with matrix |
withPICList |
logical: shall slot |
withICList |
logical: shall slot |
na.rm |
logical: if |
initial.est.ArgList |
a list of arguments to be given to argument |
... |
further arguments |
withLogScale |
logical; shall a scale component (if existing and found
with name |
..withCheck |
logical: if |
withTimings |
logical: if |
withMDE |
logical or |
withEvalAsVar |
logical or |
withMakeIC |
logical; if |
modifyICwarn |
logical: should a (warning) information be added if
|
E.argList |
|
diagnostic |
logical; if |
The functions compute optimally robust estimator for a given L2 differentiable
parametric family; more specifically they are RMXEs, OMSEs, MBREs, and OBREs.
The computation uses a k-step construction with an
appropriate initial estimate; cf. also kStepEstimator
.
Valid candidates are e.g. Kolmogorov(-Smirnov) or von Mises minimum
distance estimators (default); cf. Rieder (1994) and Kohl (2005).
For OMSE, i.e., the asymptotically linear estimator with minimax mean squared
error on this neighborhood of given size, the amount of gross errors
(contamination) is assumed to be known, and is specified by eps
.
The radius of the corresponding infinitesimal
contamination neighborhood is obtained by multiplying eps
by the square root of the sample size.
If the amount of gross errors (contamination) is unknown, RMXE should be used, i.e., the radius-minimax estimator in the sense of Rieder et al. (2001, 2008), respectively Section 2.2 of Kohl (2005) is returned.
The OBRE, i.e., the optimal bias-robust (asymptotically linear) estimator; (terminology due to Hampel et al (1985)), expects an efficiency loss (at the ideal model) to be specified and then, according to an (asymptotic) Anscombe criterion computes the the bias bound achieving this efficiency loss.
The MBRE, i.e., the most bias-robust (asymptotically linear) estimator; (terminology due to Hampel et al (1985)), uses the influence curve with minimal possible bias bound, hence minimaxes bias on these neighborhoods (in an infinitesimal sense)..
Finite-sample and higher order results suggest that the asymptotically
optimal procedure is to liberal. Using fsCor
the radius can be
modified - as a rule enlarged - to obtain a more conservative estimate.
In case of normal location and scale there is function
finiteSampleCorrection
which returns a finite-sample
corrected (enlarged) radius based on the results of large Monte-Carlo
studies.
The default value of argument useLast
is set by the
global option kStepUseLast
which by default is set to
FALSE
. In case of general models useLast
remains unchanged during the computations. However, if
slot CallL2Fam
of IC
generates an object of
class "L2GroupParamFamily"
the value of useLast
is changed to TRUE
.
Explicitly setting useLast
to TRUE
should
be done with care as in this situation the influence curve
is re-computed using the value of the one-step estimate
which may take quite a long time depending on the model.
If useLast
is set to TRUE
the computation of asvar
,
asbias
and IC
is based on the k-step estimate.
All these estimators are realized as wrappers to function roptest
.
Timings for the steps run through in these estimators are available
in attributes timings
, and for the step of the
kStepEstimator
in kStepTimings
.
One may also use the arguments startCtrl
, startICCtrl
, and
kStepCtrl
of function robest
. This allows for individual
settings of E.argList
, withEvalAsVar
, and
withMakeIC
for the different steps. If any of the three arguments
startCtrl
, startICCtrl
, and kStepCtrl
is used, the
respective attributes set in the correspondig argument are used and, if
colliding with arguments directly passed to the estimator function, the directly
passed ones are ignored.
Diagnostics on the involved integrations are available if argument
diagnostic
is TRUE
. Then there are attributes diagnostic
and kStepDiagnostic
attached to the return value, which may be inspected
and assessed through showDiagnostic
and
getDiagnostic
.
Object of class "kStepEstimate"
. In addition, it has
an attribute "timings"
where computation time is stored.
Matthias Kohl [email protected],
Peter Ruckdeschel [email protected]
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf.
Kohl, M. and Ruckdeschel, P. (2010): R package distrMod: Object-Oriented Implementation of Probability Models. J. Statist. Softw. 35(10), 1–27. doi:10.18637/jss.v035.i10.
Kohl, M. and Ruckdeschel, P., and Rieder, H. (2010): Infinitesimally Robust Estimation in General Smoothly Parametrized Models. Stat. Methods Appl., 19, 333–354. doi:10.1007/s10260-010-0133-0.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer. doi:10.1007/978-1-4684-0624-5.
Rieder, H., Kohl, M. and Ruckdeschel, P. (2008) The Costs of not Knowing the Radius. Statistical Methods and Applications 17(1) 13-40. doi:10.1007/s10260-007-0047-7.
Rieder, H., Kohl, M. and Ruckdeschel, P. (2001) The Costs of not Knowing the Radius. Appeared as discussion paper Nr. 81. SFB 373 (Quantification and Simulation of Economic Processes), Humboldt University, Berlin; also available under doi:10.18452/3638
roptest
, robest
,
roblox
,
L2ParamFamily-class
UncondNeighborhood-class
,
RiskType-class
############################# ## 1. Binomial data ############################# ## generate a sample of contaminated data set.seed(123) ind <- rbinom(100, size=1, prob=0.05) x <- rbinom(100, size=25, prob=(1-ind)*0.25 + ind*0.9) ## ML-estimate MLE.bin <- MLEstimator(x, BinomFamily(size = 25)) ## compute optimally robust estimators OMSE.bin <- OMSEstimator(x, BinomFamily(size = 25), steps = 3) MBRE.bin <- MBREstimator(x, BinomFamily(size = 25), steps = 3) estimate(MLE.bin) estimate(MBRE.bin) estimate(OMSE.bin) ## to reduce time load at CRAN tests RMXE.bin <- RMXEstimator(x, BinomFamily(size = 25), steps = 3) OBRE.bin <- OBREstimator(x, BinomFamily(size = 25), steps = 3) estimate(RMXE.bin) estimate(OBRE.bin) ## to reduce time load at CRAN tests ############################# ## 2. Poisson data ############################# ## Example: Rutherford-Geiger (1910); cf. Feller~(1968), Section VI.7 (a) x <- c(rep(0, 57), rep(1, 203), rep(2, 383), rep(3, 525), rep(4, 532), rep(5, 408), rep(6, 273), rep(7, 139), rep(8, 45), rep(9, 27), rep(10, 10), rep(11, 4), rep(12, 0), rep(13, 1), rep(14, 1)) ## ML-estimate MLE.pois <- MLEstimator(x, PoisFamily()) OBRE.pois <- OBREstimator(x, PoisFamily(), steps = 3) OMSE.pois <- OMSEstimator(x, PoisFamily(), steps = 3) MBRE.pois <- MBREstimator(x, PoisFamily(), steps = 3) RMXE.pois <- RMXEstimator(x, PoisFamily(), steps = 3) estimate(MLE.pois) estimate(OBRE.pois) estimate(RMXE.pois) estimate(MBRE.pois) estimate(OMSE.pois) ## to reduce time load at CRAN tests ############################# ## 3. Normal (Gaussian) location and scale ############################# ## 24 determinations of copper in wholemeal flour library(MASS) data(chem) MLE.n <- MLEstimator(chem, NormLocationScaleFamily()) MBRE.n <- MBREstimator(chem, NormLocationScaleFamily(), steps = 3) OMSE.n <- OMSEstimator(chem, NormLocationScaleFamily(), steps = 3) OBRE.n <- OBREstimator(chem, NormLocationScaleFamily(), steps = 3) RMXE.n <- RMXEstimator(chem, NormLocationScaleFamily(), steps = 3) estimate(MLE.n) estimate(MBRE.n) estimate(OMSE.n) estimate(OBRE.n) estimate(RMXE.n)
############################# ## 1. Binomial data ############################# ## generate a sample of contaminated data set.seed(123) ind <- rbinom(100, size=1, prob=0.05) x <- rbinom(100, size=25, prob=(1-ind)*0.25 + ind*0.9) ## ML-estimate MLE.bin <- MLEstimator(x, BinomFamily(size = 25)) ## compute optimally robust estimators OMSE.bin <- OMSEstimator(x, BinomFamily(size = 25), steps = 3) MBRE.bin <- MBREstimator(x, BinomFamily(size = 25), steps = 3) estimate(MLE.bin) estimate(MBRE.bin) estimate(OMSE.bin) ## to reduce time load at CRAN tests RMXE.bin <- RMXEstimator(x, BinomFamily(size = 25), steps = 3) OBRE.bin <- OBREstimator(x, BinomFamily(size = 25), steps = 3) estimate(RMXE.bin) estimate(OBRE.bin) ## to reduce time load at CRAN tests ############################# ## 2. Poisson data ############################# ## Example: Rutherford-Geiger (1910); cf. Feller~(1968), Section VI.7 (a) x <- c(rep(0, 57), rep(1, 203), rep(2, 383), rep(3, 525), rep(4, 532), rep(5, 408), rep(6, 273), rep(7, 139), rep(8, 45), rep(9, 27), rep(10, 10), rep(11, 4), rep(12, 0), rep(13, 1), rep(14, 1)) ## ML-estimate MLE.pois <- MLEstimator(x, PoisFamily()) OBRE.pois <- OBREstimator(x, PoisFamily(), steps = 3) OMSE.pois <- OMSEstimator(x, PoisFamily(), steps = 3) MBRE.pois <- MBREstimator(x, PoisFamily(), steps = 3) RMXE.pois <- RMXEstimator(x, PoisFamily(), steps = 3) estimate(MLE.pois) estimate(OBRE.pois) estimate(RMXE.pois) estimate(MBRE.pois) estimate(OMSE.pois) ## to reduce time load at CRAN tests ############################# ## 3. Normal (Gaussian) location and scale ############################# ## 24 determinations of copper in wholemeal flour library(MASS) data(chem) MLE.n <- MLEstimator(chem, NormLocationScaleFamily()) MBRE.n <- MBREstimator(chem, NormLocationScaleFamily(), steps = 3) OMSE.n <- OMSEstimator(chem, NormLocationScaleFamily(), steps = 3) OBRE.n <- OBREstimator(chem, NormLocationScaleFamily(), steps = 3) RMXE.n <- RMXEstimator(chem, NormLocationScaleFamily(), steps = 3) estimate(MLE.n) estimate(MBRE.n) estimate(OMSE.n) estimate(OBRE.n) estimate(RMXE.n)
Function to compute optimally robust estimates for L2-differentiable parametric families via k-step construction.
robest(x, L2Fam, fsCor = 1, risk = asMSE(), steps = 1L, verbose = NULL, OptOrIter = "iterate", nbCtrl = gennbCtrl(), startCtrl = genstartCtrl(), startICCtrl = genstartICCtrl(), kStepCtrl = genkStepCtrl(), na.rm = TRUE, ..., debug = FALSE, withTimings = FALSE, diagnostic = FALSE)
robest(x, L2Fam, fsCor = 1, risk = asMSE(), steps = 1L, verbose = NULL, OptOrIter = "iterate", nbCtrl = gennbCtrl(), startCtrl = genstartCtrl(), startICCtrl = genstartICCtrl(), kStepCtrl = genkStepCtrl(), na.rm = TRUE, ..., debug = FALSE, withTimings = FALSE, diagnostic = FALSE)
x |
sample |
L2Fam |
object of class |
fsCor |
positive real: factor used to correct the neighborhood radius; see details. |
risk |
object of class |
steps |
positive integer: number of steps used for k-steps construction |
verbose |
logical: if |
OptOrIter |
character; which method to be used for determining Lagrange
multipliers |
nbCtrl |
a list specifying input concerning the used neighborhood;
to be generated by a respective call to |
startCtrl |
a list specifying input concerning the used starting estimator;
to be generated by a respective call to |
startICCtrl |
a list specifying input concerning the call to
|
kStepCtrl |
a list specifying input concerning the used variant of
a kstepEstimator;
to be generated by a respective call to |
na.rm |
logical: if |
... |
further arguments |
debug |
logical: if |
withTimings |
logical: if |
diagnostic |
logical; if |
A new, more structured interface to the former function roptest
.
For details, see this function.
In some respects this functions allows for more granular arguments,
in the sense that the different steps (a) computation of the inital estimator,
resp. (a') in case initial.est
is missing computation of the initial
MDE, (b) computation of the optimal IC and (c) computation of the k-step
estimator each can have individial arguments E.arglist
to be
passed on to calls to expectation operator E
within each step.
These different arguments are passed through the input generating functions
genstartCtrl
,
genstartICCtrl
, and
kStepCtrl
Diagnostics on the involved integrations are available if argument
diagnostic
is TRUE
. Then there are attributes diagnostic
and kStepDiagnostic
attached to the return value, which may be inspected
and assessed through showDiagnostic
and
getDiagnostic
.
Object of class "kStepEstimate"
. In addition, it has
an attribute "timings"
where computation time is stored.
Matthias Kohl [email protected],
Peter Ruckdeschel [email protected]
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf.
Kohl, M. and Ruckdeschel, P. (2010): R package distrMod: Object-Oriented Implementation of Probability Models. J. Statist. Softw. 35(10), 1–27. doi:10.18637/jss.v035.i10.
Kohl, M. and Ruckdeschel, P., and Rieder, H. (2010): Infinitesimally Robust Estimation in General Smoothly Parametrized Models. Stat. Methods Appl., 19, 333–354. doi:10.1007/s10260-010-0133-0.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer. doi:10.1007/978-1-4684-0624-5.
Rieder, H., Kohl, M. and Ruckdeschel, P. (2008) The Costs of not Knowing the Radius. Statistical Methods and Applications 17(1) 13-40. doi:10.1007/s10260-007-0047-7.
Rieder, H., Kohl, M. and Ruckdeschel, P. (2001) The Costs of not Knowing the Radius. Appeared as discussion paper Nr. 81. SFB 373 (Quantification and Simulation of Economic Processes), Humboldt University, Berlin; also available under doi:10.18452/3638
roblox
,
L2ParamFamily-class
UncondNeighborhood-class
,
RiskType-class
## Don't test to reduce check time on CRAN ############################# ## 1. Binomial data ############################# ## generate a sample of contaminated data set.seed(123) ind <- rbinom(100, size=1, prob=0.05) x <- rbinom(100, size=25, prob=(1-ind)*0.25 + ind*0.9) ## Family BF <- BinomFamily(size = 25) ## ML-estimate MLest <- MLEstimator(x, BF) estimate(MLest) confint(MLest) ## compute optimally robust estimator (known contamination) nb <- gennbCtrl(eps=0.05) robest1 <- robest(x, BF, nbCtrl = nb, steps = 3) estimate(robest1) confint(robest1, method = symmetricBias()) ## neglecting bias confint(robest1) plot(pIC(robest1)) tmp <- qqplot(x, robest1, cex.pch=1.5, exp.cex2.pch = -.25, exp.fadcol.pch = .55, jit.fac=.9) ## compute optimally robust estimator (unknown contamination) nb2 <- gennbCtrl(eps.lower = 0, eps.upper = 0.2) robest2 <- robest(x, BF, nbCtrl = nb2, steps = 3) estimate(robest2) confint(robest2, method = symmetricBias()) plot(pIC(robest2)) ## total variation neighborhoods (known deviation) nb3 <- gennbCtrl(eps = 0.025, neighbor = TotalVarNeighborhood()) robest3 <- robest(x, BF, nbCtrl = nb3, steps = 3) estimate(robest3) confint(robest3, method = symmetricBias()) plot(pIC(robest3)) ## total variation neighborhoods (unknown deviation) nb4 <- gennbCtrl(eps.lower = 0, eps.upper = 0.1, neighbor = TotalVarNeighborhood()) robest3 <- robest(x, BF, nbCtrl = nb4, steps = 3) robest4 <- robest(x, BinomFamily(size = 25), nbCtrl = nb4, steps = 3) estimate(robest4) confint(robest4, method = symmetricBias()) plot(pIC(robest4)) ############################# ## 2. Poisson data ############################# ## Example: Rutherford-Geiger (1910); cf. Feller~(1968), Section VI.7 (a) x <- c(rep(0, 57), rep(1, 203), rep(2, 383), rep(3, 525), rep(4, 532), rep(5, 408), rep(6, 273), rep(7, 139), rep(8, 45), rep(9, 27), rep(10, 10), rep(11, 4), rep(12, 0), rep(13, 1), rep(14, 1)) ## Family PF <- PoisFamily() ## ML-estimate MLest <- MLEstimator(x, PF) estimate(MLest) confint(MLest) ## compute optimally robust estimator (unknown contamination) nb1 <- gennbCtrl(eps.upper = 0.1) robest <- robest(x, PF, nbCtrl = nb1, steps = 3) estimate(robest) confint(robest, symmetricBias()) plot(pIC(robest)) tmp <- qqplot(x, robest, cex.pch=1.5, exp.cex2.pch = -.25, exp.fadcol.pch = .55, jit.fac=.9) ## total variation neighborhoods (unknown deviation) nb2 <- gennbCtrl(eps.upper = 0.05, neighbor = TotalVarNeighborhood()) robest1 <- robest(x, PF, nbCtrl = nb2, steps = 3) estimate(robest1) confint(robest1, symmetricBias()) plot(pIC(robest1)) ############################# ## 3. Normal (Gaussian) location and scale ############################# ## this example of a two dimensional parameter ## to be estimated will need more time than ## 5 seconds to run ## you can find it in ## system.file("scripts", "examples_taking_longer.R", ## package="ROptEst")
## Don't test to reduce check time on CRAN ############################# ## 1. Binomial data ############################# ## generate a sample of contaminated data set.seed(123) ind <- rbinom(100, size=1, prob=0.05) x <- rbinom(100, size=25, prob=(1-ind)*0.25 + ind*0.9) ## Family BF <- BinomFamily(size = 25) ## ML-estimate MLest <- MLEstimator(x, BF) estimate(MLest) confint(MLest) ## compute optimally robust estimator (known contamination) nb <- gennbCtrl(eps=0.05) robest1 <- robest(x, BF, nbCtrl = nb, steps = 3) estimate(robest1) confint(robest1, method = symmetricBias()) ## neglecting bias confint(robest1) plot(pIC(robest1)) tmp <- qqplot(x, robest1, cex.pch=1.5, exp.cex2.pch = -.25, exp.fadcol.pch = .55, jit.fac=.9) ## compute optimally robust estimator (unknown contamination) nb2 <- gennbCtrl(eps.lower = 0, eps.upper = 0.2) robest2 <- robest(x, BF, nbCtrl = nb2, steps = 3) estimate(robest2) confint(robest2, method = symmetricBias()) plot(pIC(robest2)) ## total variation neighborhoods (known deviation) nb3 <- gennbCtrl(eps = 0.025, neighbor = TotalVarNeighborhood()) robest3 <- robest(x, BF, nbCtrl = nb3, steps = 3) estimate(robest3) confint(robest3, method = symmetricBias()) plot(pIC(robest3)) ## total variation neighborhoods (unknown deviation) nb4 <- gennbCtrl(eps.lower = 0, eps.upper = 0.1, neighbor = TotalVarNeighborhood()) robest3 <- robest(x, BF, nbCtrl = nb4, steps = 3) robest4 <- robest(x, BinomFamily(size = 25), nbCtrl = nb4, steps = 3) estimate(robest4) confint(robest4, method = symmetricBias()) plot(pIC(robest4)) ############################# ## 2. Poisson data ############################# ## Example: Rutherford-Geiger (1910); cf. Feller~(1968), Section VI.7 (a) x <- c(rep(0, 57), rep(1, 203), rep(2, 383), rep(3, 525), rep(4, 532), rep(5, 408), rep(6, 273), rep(7, 139), rep(8, 45), rep(9, 27), rep(10, 10), rep(11, 4), rep(12, 0), rep(13, 1), rep(14, 1)) ## Family PF <- PoisFamily() ## ML-estimate MLest <- MLEstimator(x, PF) estimate(MLest) confint(MLest) ## compute optimally robust estimator (unknown contamination) nb1 <- gennbCtrl(eps.upper = 0.1) robest <- robest(x, PF, nbCtrl = nb1, steps = 3) estimate(robest) confint(robest, symmetricBias()) plot(pIC(robest)) tmp <- qqplot(x, robest, cex.pch=1.5, exp.cex2.pch = -.25, exp.fadcol.pch = .55, jit.fac=.9) ## total variation neighborhoods (unknown deviation) nb2 <- gennbCtrl(eps.upper = 0.05, neighbor = TotalVarNeighborhood()) robest1 <- robest(x, PF, nbCtrl = nb2, steps = 3) estimate(robest1) confint(robest1, symmetricBias()) plot(pIC(robest1)) ############################# ## 3. Normal (Gaussian) location and scale ############################# ## this example of a two dimensional parameter ## to be estimated will need more time than ## 5 seconds to run ## you can find it in ## system.file("scripts", "examples_taking_longer.R", ## package="ROptEst")
Function to compute optimally robust estimates for L2-differentiable parametric families via k-step construction.
roptest(x, L2Fam, eps, eps.lower, eps.upper, fsCor = 1, initial.est, neighbor = ContNeighborhood(), risk = asMSE(), steps = 1L, distance = CvMDist, startPar = NULL, verbose = NULL, OptOrIter = "iterate", useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), na.rm = TRUE, initial.est.ArgList, ..., withLogScale = TRUE, ..withCheck = FALSE, withTimings = FALSE, withMDE = NULL, withEvalAsVar = NULL, withMakeIC = FALSE, modifyICwarn = NULL, E.argList = NULL, diagnostic = FALSE) roptest.old(x, L2Fam, eps, eps.lower, eps.upper, fsCor = 1, initial.est, neighbor = ContNeighborhood(), risk = asMSE(), steps = 1L, distance = CvMDist, startPar = NULL, verbose = NULL, OptOrIter = "iterate", useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), na.rm = TRUE, initial.est.ArgList, ..., withLogScale = TRUE)
roptest(x, L2Fam, eps, eps.lower, eps.upper, fsCor = 1, initial.est, neighbor = ContNeighborhood(), risk = asMSE(), steps = 1L, distance = CvMDist, startPar = NULL, verbose = NULL, OptOrIter = "iterate", useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), na.rm = TRUE, initial.est.ArgList, ..., withLogScale = TRUE, ..withCheck = FALSE, withTimings = FALSE, withMDE = NULL, withEvalAsVar = NULL, withMakeIC = FALSE, modifyICwarn = NULL, E.argList = NULL, diagnostic = FALSE) roptest.old(x, L2Fam, eps, eps.lower, eps.upper, fsCor = 1, initial.est, neighbor = ContNeighborhood(), risk = asMSE(), steps = 1L, distance = CvMDist, startPar = NULL, verbose = NULL, OptOrIter = "iterate", useLast = getRobAStBaseOption("kStepUseLast"), withUpdateInKer = getRobAStBaseOption("withUpdateInKer"), IC.UpdateInKer = getRobAStBaseOption("IC.UpdateInKer"), withICList = getRobAStBaseOption("withICList"), withPICList = getRobAStBaseOption("withPICList"), na.rm = TRUE, initial.est.ArgList, ..., withLogScale = TRUE)
x |
sample |
L2Fam |
object of class |
eps |
positive real (0 < |
eps.lower |
positive real (0 <= |
eps.upper |
positive real ( |
fsCor |
positive real: factor used to correct the neighborhood radius; see details. |
initial.est |
initial estimate for unknown parameter. If missing, a minimum distance estimator is computed. |
neighbor |
object of class |
risk |
object of class |
steps |
positive integer: number of steps used for k-steps construction |
distance |
distance function used in |
startPar |
initial information used by |
verbose |
logical: if |
useLast |
which parameter estimate (initial estimate or
k-step estimate) shall be used to fill the slots |
OptOrIter |
character; which method to be used for determining Lagrange
multipliers |
withUpdateInKer |
if there is a non-trivial trafo in the model with matrix |
IC.UpdateInKer |
if there is a non-trivial trafo in the model with matrix |
withPICList |
logical: shall slot |
withICList |
logical: shall slot |
na.rm |
logical: if |
initial.est.ArgList |
a list of arguments to be given to argument |
... |
further arguments |
withLogScale |
logical; shall a scale component (if existing and found
with name |
..withCheck |
logical: if |
withTimings |
logical: if |
withMDE |
logical or |
withEvalAsVar |
logical or |
withMakeIC |
logical; if |
modifyICwarn |
logical: should a (warning) information be added if
|
E.argList |
|
diagnostic |
logical; if |
Computes the optimally robust estimator for a given L2 differentiable
parametric family. The computation uses a k-step construction with an
appropriate initial estimate; cf. also kStepEstimator
.
Valid candidates are e.g. Kolmogorov(-Smirnov) or von Mises minimum
distance estimators (default); cf. Rieder (1994) and Kohl (2005).
Before package version 0.9, this computation was done with the code of
function roptest.old
(with the same formals). From package version
0.9 on, this function uses the modularized function robest
internally.
If the amount of gross errors (contamination) is known, it can be
specified by eps
. The radius of the corresponding infinitesimal
contamination neighborhood is obtained by multiplying eps
by the square root of the sample size.
If the amount of gross errors (contamination) is unknown, try to find a
rough estimate for the amount of gross errors, such that it lies
between eps.lower
and eps.upper
.
In case eps.lower
is specified and eps.upper
is missing,
eps.upper
is set to 0.5. In case eps.upper
is specified and
eps.lower
is missing, eps.lower
is set to 0.
If neither eps
nor eps.lower
and/or eps.upper
is
specified, eps.lower
and eps.upper
are set to 0 and 0.5,
respectively.
If eps
is missing, the radius-minimax estimator in sense of
Rieder et al. (2001, 2008), respectively Section 2.2 of Kohl (2005) is returned.
Finite-sample and higher order results suggest that the asymptotically
optimal procedure is to liberal. Using fsCor
the radius can be
modified - as a rule enlarged - to obtain a more conservative estimate.
In case of normal location and scale there is function
finiteSampleCorrection
which returns a finite-sample
corrected (enlarged) radius based on the results of large Monte-Carlo
studies.
The logic in argument initial.est
is as follows: It can be
a numeric vector of the length of the unknow parameter or a function or
it can be missing. If it is missing, one consults argument startPar
for a search interval (if a one dimensional unknown parameter) or a starting
value for the search (if the dimension of the unknown parameter is larger
than one). If startPar
is missing, too, it takes the value from
the corresponding slot of argument L2Fam
. Then, if argument withMDE
is TRUE
a Minimum-Distance estimator is computed as initial value
initial.est
with distance as specified in argument distance
and possibly further arguments as passed through ...
.
In the next step, the value of initial.est
(either if not missing
from beginning or as computed through the MDE) is then passed on to
kStepEstimator.start
which then takes out the essential
information for the sequel, i.e., a numeric vector of the estimate.
At this initial value the optimal influence curve is computed through
interface getStartIC
, which in turn, depending on the risk calls
optIC
, radiusMinimaxIC
, or computes the IC
from precomputed grid values in case of risk
being of class
interpolRisk
. With the obtained optimal IC, kStepEstimator
is called.
The default value of argument useLast
is set by the
global option kStepUseLast
which by default is set to
FALSE
. In case of general models useLast
remains unchanged during the computations. However, if
slot CallL2Fam
of IC
generates an object of
class "L2GroupParamFamily"
the value of useLast
is changed to TRUE
.
Explicitly setting useLast
to TRUE
should
be done with care as in this situation the influence curve
is re-computed using the value of the one-step estimate
which may take quite a long time depending on the model.
If useLast
is set to TRUE
the computation of asvar
,
asbias
and IC
is based on the k-step estimate.
Timings for the steps run through in roptest
are available
in attributes timings
, and for the step of the
kStepEstimator
in kStepTimings
.
One may also use the arguments startCtrl
, startICCtrl
, and
kStepCtrl
of function robest
. This allows for individual
settings of E.argList
, withEvalAsVar
, and
withMakeIC
for the different steps. If any of the three arguments
startCtrl
, startICCtrl
, and kStepCtrl
is used, the
respective attributes set in the correspondig argument are used and, if
colliding with arguments directly passed to roptest
, the directly
passed ones are ignored.
Diagnostics on the involved integrations are available if argument
diagnostic
is TRUE
. Then there are attributes diagnostic
and kStepDiagnostic
attached to the return value, which may be inspected
and assessed through showDiagnostic
and
getDiagnostic
.
Object of class "kStepEstimate"
. In addition, it has
an attribute "timings"
where computation time is stored.
Matthias Kohl [email protected],
Peter Ruckdeschel [email protected]
Kohl, M. (2005) Numerical Contributions to the Asymptotic Theory of Robustness. Bayreuth: Dissertation. https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf.
Kohl, M. and Ruckdeschel, P. (2010): R package distrMod: Object-Oriented Implementation of Probability Models. J. Statist. Softw. 35(10), 1–27. doi:10.18637/jss.v035.i10.
Kohl, M. and Ruckdeschel, P., and Rieder, H. (2010): Infinitesimally Robust Estimation in General Smoothly Parametrized Models. Stat. Methods Appl., 19, 333–354. doi:10.1007/s10260-010-0133-0.
Rieder, H. (1994) Robust Asymptotic Statistics. New York: Springer. doi:10.1007/978-1-4684-0624-5.
Rieder, H., Kohl, M. and Ruckdeschel, P. (2008) The Costs of not Knowing the Radius. Statistical Methods and Applications 17(1) 13-40. doi:10.1007/s10260-007-0047-7.
Rieder, H., Kohl, M. and Ruckdeschel, P. (2001) The Costs of not Knowing the Radius. Appeared as discussion paper Nr. 81. SFB 373 (Quantification and Simulation of Economic Processes), Humboldt University, Berlin; also available under doi:10.18452/3638
roblox
,
L2ParamFamily-class
UncondNeighborhood-class
,
RiskType-class
## Don't run to reduce check time on CRAN ## Not run: ############################# ## 1. Binomial data ############################# ## generate a sample of contaminated data set.seed(123) ind <- rbinom(100, size=1, prob=0.05) x <- rbinom(100, size=25, prob=(1-ind)*0.25 + ind*0.9) ## ML-estimate MLest <- MLEstimator(x, BinomFamily(size = 25)) estimate(MLest) confint(MLest) ## compute optimally robust estimator (known contamination) robest1 <- roptest(x, BinomFamily(size = 25), eps = 0.05, steps = 3) robest1.0 <- roptest.old(x, BinomFamily(size = 25), eps = 0.05, steps = 3) identical(robest1,robest1.0) estimate(robest1) confint(robest1, method = symmetricBias()) ## neglecting bias confint(robest1) plot(pIC(robest1)) tmp <- qqplot(x, robest1, cex.pch=1.5, exp.cex2.pch = -.25, exp.fadcol.pch = .55, jit.fac=.9) ## compute optimally robust estimator (unknown contamination) robest2 <- roptest(x, BinomFamily(size = 25), eps.lower = 0, eps.upper = 0.2, steps = 3) estimate(robest2) confint(robest2, method = symmetricBias()) plot(pIC(robest2)) ## total variation neighborhoods (known deviation) robest3 <- roptest(x, BinomFamily(size = 25), eps = 0.025, neighbor = TotalVarNeighborhood(), steps = 3) estimate(robest3) confint(robest3, method = symmetricBias()) plot(pIC(robest3)) ## total variation neighborhoods (unknown deviation) robest4 <- roptest(x, BinomFamily(size = 25), eps.lower = 0, eps.upper = 0.1, neighbor = TotalVarNeighborhood(), steps = 3) estimate(robest4) confint(robest4, method = symmetricBias()) plot(pIC(robest4)) ############################# ## 2. Poisson data ############################# ## Example: Rutherford-Geiger (1910); cf. Feller~(1968), Section VI.7 (a) x <- c(rep(0, 57), rep(1, 203), rep(2, 383), rep(3, 525), rep(4, 532), rep(5, 408), rep(6, 273), rep(7, 139), rep(8, 45), rep(9, 27), rep(10, 10), rep(11, 4), rep(12, 0), rep(13, 1), rep(14, 1)) ## ML-estimate MLest <- MLEstimator(x, PoisFamily()) estimate(MLest) confint(MLest) ## compute optimally robust estimator (unknown contamination) robest <- roptest(x, PoisFamily(), eps.upper = 0.1, steps = 3) estimate(robest) confint(robest, symmetricBias()) plot(pIC(robest)) tmp <- qqplot(x, robest, cex.pch=1.5, exp.cex2.pch = -.25, exp.fadcol.pch = .55, jit.fac=.9) ## total variation neighborhoods (unknown deviation) robest1 <- roptest(x, PoisFamily(), eps.upper = 0.05, neighbor = TotalVarNeighborhood(), steps = 3) estimate(robest1) confint(robest1, symmetricBias()) plot(pIC(robest1)) ## End(Not run) ############################# ## 3. Normal (Gaussian) location and scale ############################# ## this example of a two dimensional parameter ## to be estimated will need more time than ## 5 seconds to run ## you can find it in ## system.file("scripts", "examples_taking_longer.R", ## package="ROptEst")
## Don't run to reduce check time on CRAN ## Not run: ############################# ## 1. Binomial data ############################# ## generate a sample of contaminated data set.seed(123) ind <- rbinom(100, size=1, prob=0.05) x <- rbinom(100, size=25, prob=(1-ind)*0.25 + ind*0.9) ## ML-estimate MLest <- MLEstimator(x, BinomFamily(size = 25)) estimate(MLest) confint(MLest) ## compute optimally robust estimator (known contamination) robest1 <- roptest(x, BinomFamily(size = 25), eps = 0.05, steps = 3) robest1.0 <- roptest.old(x, BinomFamily(size = 25), eps = 0.05, steps = 3) identical(robest1,robest1.0) estimate(robest1) confint(robest1, method = symmetricBias()) ## neglecting bias confint(robest1) plot(pIC(robest1)) tmp <- qqplot(x, robest1, cex.pch=1.5, exp.cex2.pch = -.25, exp.fadcol.pch = .55, jit.fac=.9) ## compute optimally robust estimator (unknown contamination) robest2 <- roptest(x, BinomFamily(size = 25), eps.lower = 0, eps.upper = 0.2, steps = 3) estimate(robest2) confint(robest2, method = symmetricBias()) plot(pIC(robest2)) ## total variation neighborhoods (known deviation) robest3 <- roptest(x, BinomFamily(size = 25), eps = 0.025, neighbor = TotalVarNeighborhood(), steps = 3) estimate(robest3) confint(robest3, method = symmetricBias()) plot(pIC(robest3)) ## total variation neighborhoods (unknown deviation) robest4 <- roptest(x, BinomFamily(size = 25), eps.lower = 0, eps.upper = 0.1, neighbor = TotalVarNeighborhood(), steps = 3) estimate(robest4) confint(robest4, method = symmetricBias()) plot(pIC(robest4)) ############################# ## 2. Poisson data ############################# ## Example: Rutherford-Geiger (1910); cf. Feller~(1968), Section VI.7 (a) x <- c(rep(0, 57), rep(1, 203), rep(2, 383), rep(3, 525), rep(4, 532), rep(5, 408), rep(6, 273), rep(7, 139), rep(8, 45), rep(9, 27), rep(10, 10), rep(11, 4), rep(12, 0), rep(13, 1), rep(14, 1)) ## ML-estimate MLest <- MLEstimator(x, PoisFamily()) estimate(MLest) confint(MLest) ## compute optimally robust estimator (unknown contamination) robest <- roptest(x, PoisFamily(), eps.upper = 0.1, steps = 3) estimate(robest) confint(robest, symmetricBias()) plot(pIC(robest)) tmp <- qqplot(x, robest, cex.pch=1.5, exp.cex2.pch = -.25, exp.fadcol.pch = .55, jit.fac=.9) ## total variation neighborhoods (unknown deviation) robest1 <- roptest(x, PoisFamily(), eps.upper = 0.05, neighbor = TotalVarNeighborhood(), steps = 3) estimate(robest1) confint(robest1, symmetricBias()) plot(pIC(robest1)) ## End(Not run) ############################# ## 3. Normal (Gaussian) location and scale ############################# ## this example of a two dimensional parameter ## to be estimated will need more time than ## 5 seconds to run ## you can find it in ## system.file("scripts", "examples_taking_longer.R", ## package="ROptEst")
updateNorm-methods to update norm in IC-Algo
updateNorm(normtype, ...) ## S4 method for signature 'SelfNorm' updateNorm(normtype, L2, neighbor, biastype, Distr, V.comp, cent, stand, w)
updateNorm(normtype, ...) ## S4 method for signature 'SelfNorm' updateNorm(normtype, L2, neighbor, biastype, Distr, V.comp, cent, stand, w)
normtype |
normtype of class |
... |
further arguments to be passed to specific methods. |
L2 |
L2derivative |
neighbor |
object of class |
biastype |
object of class |
cent |
optimal centering constant. |
stand |
standardizing matrix. |
Distr |
standardizing matrix. |
V.comp |
matrix: indication which components of the standardizing matrix have to be computed. |
w |
object of class |
updateNorm
is used internally in the opt-IC-algorithm to be
able to work with a norm that depends on the current covariance
(SelfNorm
)
updateNorm |
an updated object of class |
signature(normtype = "SelfNorm")
:
udates the norm in the self-standardized case; just used
internally in the opt-IC-Algorithm.
Peter Ruckdeschel [email protected]