Class for controlling contamination in a simulation experiment. The values of the contaminated observations will be distributed at random (DAR), i.e., they will depend on on the original values.
Objects can be created by calls of the form
new("DARContControl", …)
, DARContControl(…)
or
ContControl(…, type="DAR")
.
target
:Object of class "OptCharacter"
; a character
vector specifying specifying the variables (columns) to be contaminated,
or NULL
to contaminate all variables (except the additional ones
generated internally).
epsilon
:Object of class "numeric"
giving the
contamination levels.
grouping
:Object of class "character"
specifying a
grouping variable (column) to be used for contaminating whole groups
rather than individual observations.
aux
:Object of class "character"
specifying an
auxiliary variable (column) whose values are used as probability weights
for selecting the items (observations or groups) to be contaminated.
fun
:Object of class "function"
generating
the values of the contamination data. The original values of the
observations to be contaminated will be passed as its first argument.
Furthermore, it should return an object that can be coerced to a
data.frame
, containing the contamination data.
dots
:Object of class "list"
containing additional
arguments to be passed to fun
.
Class "'>ContControl"
, directly.
Class "'>VirtualContControl"
, by class "ContControl", distance 2.
Class "'>OptContControl"
, by class "ContControl", distance 3.
In addition to the accessor and mutator methods for the slots inherited from
"'>ContControl"
, the following are available:
getFun
signature(x = "DARContControl")
: get slot
fun
.
setFun
signature(x = "DARContControl")
: set slot
fun
.
getDots
signature(x = "DARContControl")
: get slot
dots
.
setDots
signature(x = "DARContControl")
: set slot
dots
.
A slightly simplified UML class diagram of the framework can be found in
Figure 1 of the package vignette An Object-Oriented Framework for
Statistical Simulation: The R Package simFrame
. Use
vignette("simFrame-intro")
to view this vignette.
With this control class, contamination is modeled as a two-step process. The
first step is to select observations to be contaminated, the second is to
model the distribution of the outliers. In this case, the original values
will be modified by the function given by slot fun
, i.e., values of
the contaminated observations will depend on on the original values.
Alfons, A., Templ, M. and Filzmoser, P. (2010) An Object-Oriented Framework for Statistical Simulation: The R Package simFrame. Journal of Statistical Software, 37(3), 1--36. 10.18637/jss.v037.i03.
Alfons, A., Templ, M. and Filzmoser, P. (2010) Contamination Models in the R Package simFrame for Statistical Simulation. In Aivazian, S., Filzmoser, P. and Kharin, Y. (editors) Computer Data Analysis and Modeling: Complex Stochastic Data and Systems, volume 2, 178--181. Minsk. ISBN 978-985-476-848-9.
B<U+00E9>guin, C. and Hulliger, B. (2008) The BACON-EEM Algorithm for Multivariate Outlier Detection in Incomplete Survey Data. Survey Methodology, 34(1), 91--103.
Hulliger, B. and Schoch, T. (2009) Robust Multivariate Imputation with Survey Data. 57th Session of the International Statistical Institute, Durban.
"'>DCARContControl"
, "'>ContControl"
,
"'>VirtualContControl"
, contaminate
# NOT RUN {
foo <- generate(size = 10, distribution = rnorm,
dots = list(mean = 0, sd = 2))
cc <- DARContControl(target = "V1",
epsilon = 0.2, fun = function(x) x * 100)
contaminate(foo, cc)
# }
Run the code above in your browser using DataLab