library(RobStatTM)
set.seed(200)
rcont_norm <- function(n, eps = 0.10, mu0 = 0, sigma0 = 1, sigma1 = 10) {
x <- rnorm(n, mean = mu0, sd = sigma0)
k <- ceiling(eps * n)
if (k > 0) {
idx <- sample(1:n, k)
x[idx] <- rnorm(k, mean = mu0, sd = sigma1)
}
x
}
#no contamination
eps = 0
sim <- replicate(1000, {
x <- rcont_norm(100, eps = eps)
c(
Mean = mean(x),
Median = median(x),
Bisquare_3.44 = locScaleM(x, psi="bisquare", eff=0.85)$mu,
Bisquare_4.68 = locScaleM(x, psi="bisquare", eff=0.95)$mu
)
})
var0 <- apply(t(sim), 2, var)
# with contamination
eps = 0.20
sim <- replicate(1000, {
x <- rcont_norm(100, eps = eps)
c(
Mean = mean(x),
Median = median(x),
Bisquare_3.44 = locScaleM(x, psi="bisquare", eff=0.85)$mu,
Bisquare_4.68 = locScaleM(x, psi="bisquare", eff=0.95)$mu
)
})
var20 <- apply(t(sim), 2, var)