[Robast-commits] r79 - in pkg: ROptEst ROptEst/R ROptEst/man RobAStBase RobAStBase/R RobAStBase/chm RobAStBase/man
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Wed Mar 26 02:14:36 CET 2008
Author: ruckdeschel
Date: 2008-03-26 02:14:35 +0100 (Wed, 26 Mar 2008)
New Revision: 79
Added:
pkg/ROptEst/R/getInfV.R
pkg/ROptEst/man/getInfV.Rd
pkg/RobAStBase/R/Weights.R
pkg/RobAStBase/R/control.R
pkg/RobAStBase/R/generateICfct.R
pkg/RobAStBase/chm/BdStWeight-class.html
pkg/RobAStBase/chm/BoundedWeight-class.html
pkg/RobAStBase/chm/HampelWeight-class.html
pkg/RobAStBase/chm/RobAStControl-class.html
pkg/RobAStBase/chm/RobWeight-class.html
pkg/RobAStBase/chm/generateICfct.html
pkg/RobAStBase/chm/getweight.html
pkg/RobAStBase/chm/makeIC.html
pkg/RobAStBase/man/BdStWeight-class.Rd
pkg/RobAStBase/man/BoundedWeight-class.Rd
pkg/RobAStBase/man/HampelWeight-class.Rd
pkg/RobAStBase/man/RobAStControl-class.Rd
pkg/RobAStBase/man/RobWeight-class.Rd
pkg/RobAStBase/man/generateICfct.Rd
pkg/RobAStBase/man/getweight.Rd
pkg/RobAStBase/man/makeIC.Rd
Modified:
pkg/ROptEst/NAMESPACE
pkg/ROptEst/R/AllGeneric.R
pkg/ROptEst/R/getAsRisk.R
pkg/ROptEst/R/getInfCent.R
pkg/ROptEst/R/getInfGamma.R
pkg/ROptEst/R/getInfRobIC_asBias.R
pkg/ROptEst/R/getInfRobIC_asGRisk.R
pkg/ROptEst/R/getInfRobIC_asHampel.R
pkg/ROptEst/R/getInfStand.R
pkg/ROptEst/R/getRiskIC.R
pkg/ROptEst/R/lowerCaseRadius.R
pkg/ROptEst/man/getAsRisk.Rd
pkg/ROptEst/man/lowerCaseRadius.Rd
pkg/RobAStBase/NAMESPACE
pkg/RobAStBase/R/AllClass.R
pkg/RobAStBase/R/AllGeneric.R
pkg/RobAStBase/R/ContIC.R
pkg/RobAStBase/R/IC.R
pkg/RobAStBase/R/TotalVarIC.R
pkg/RobAStBase/chm/00Index.html
pkg/RobAStBase/chm/ContIC-class.html
pkg/RobAStBase/chm/ContIC.html
pkg/RobAStBase/chm/RobAStBase.chm
pkg/RobAStBase/chm/RobAStBase.hhp
pkg/RobAStBase/chm/RobAStBase.toc
pkg/RobAStBase/chm/TotalVarIC-class.html
pkg/RobAStBase/chm/TotalVarIC.html
pkg/RobAStBase/man/ContIC-class.Rd
pkg/RobAStBase/man/ContIC.Rd
pkg/RobAStBase/man/TotalVarIC-class.Rd
pkg/RobAStBase/man/TotalVarIC.Rd
Log:
introduced weight classes;
still some problems; try to fix it soon
Modified: pkg/ROptEst/NAMESPACE
===================================================================
--- pkg/ROptEst/NAMESPACE 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/NAMESPACE 2008-03-26 01:14:35 UTC (rev 79)
@@ -14,6 +14,7 @@
"getInfGamma",
"getInfCent",
"getInfStand",
+ "getInfV",
"getRiskIC",
"optRisk",
"radiusMinimaxIC",
Modified: pkg/ROptEst/R/AllGeneric.R
===================================================================
--- pkg/ROptEst/R/AllGeneric.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/AllGeneric.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -34,6 +34,10 @@
setGeneric("getInfStand",
function(L2deriv, neighbor, biastype, ...) standardGeneric("getInfStand"))
}
+if(!isGeneric("getInfV")){
+ setGeneric("getInfV",
+ function(L2deriv, neighbor, biastype, ...) standardGeneric("getInfV"))
+}
if(!isGeneric("getRiskIC")){
setGeneric("getRiskIC",
function(IC, risk, neighbor, L2Fam, ...) standardGeneric("getRiskIC"))
Modified: pkg/ROptEst/R/getAsRisk.R
===================================================================
--- pkg/ROptEst/R/getAsRisk.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getAsRisk.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -116,22 +116,64 @@
setMethod("getAsRisk", signature(risk = "asCov",
L2deriv = "RealRandVariable",
neighbor = "ContNeighborhood", biastype = "BiasType"),
- function(risk, L2deriv, neighbor, biastype = symmetricBias(), Distr, clip, cent, stand){
- Y <- as(stand %*% L2deriv - cent, "EuclRandVariable")
- absY <- sqrt(Y %*% Y)
-
- nrvalues <- nrow(stand)
- ICfct <- vector(mode = "list", length = nrvalues)
- for(i in 1:nrvalues){
- ICfct[[i]] <- function(x){ Yi(x)*pmin(1, b/absY(x)) }
- body(ICfct[[i]]) <- substitute({ Yi(x)*pmin(1, b/absY(x)) },
- list(Yi = Y at Map[[i]], absY = absY at Map[[1]], b = clip))
+ function(risk, L2deriv, neighbor, biastype = symmetricBias(), Distr, clip, cent,
+ stand, norm = EuclideanNorm){
+
+ return(list(asCov = .asCovMB(L2deriv, stand, cent, clip, Distr,
+ norm = norm)))
+ })
+
+
+# Y <- as(stand %*% L2deriv - cent, "EuclRandVariable")
+# absY <- sqrt(Y %*% Y)
+#
+# nrvalues <- nrow(stand)
+# ICfct <- vector(mode = "list", length = nrvalues)
+# for(i in 1:nrvalues){
+# ICfct[[i]] <- function(x){ Yi(x)*pmin(1, b/absY(x)) }
+# body(ICfct[[i]]) <- substitute({ Yi(x)*pmin(1, b/absY(x)) },
+# list(Yi = Y at Map[[i]], absY = absY at Map[[1]], b = clip))
+# }
+# IC <- RealRandVariable(Map = ICfct, Domain = Y at Domain, Range = Y at Range)
+# Cov <- matrix(E(Distr, IC %*% t(IC)), ncol = nrvalues)
+#
+# return(list(asCov = Cov))
+# })
+
+### helping function
+
+.asCovMB <- function(L2, stand, cent, clip, Distr, norm){
+ p <- nrow(stand)
+ idx <- matrix(1:p^2,p,p)
+ idx <- idx[col(idx)<=row(idx)]
+ Cv <- matrix(0,p,p)
+
+ if (clip == 0){
+ Cv[idx] <- E(object = Distr, fun = function(x){
+ X <- evalRandVar(L2, as.matrix(x))[,,1] - cent
+ Y <- stand %*% X
+ norm0 <- norm(Y)
+ ind <- 1-.eq(norm0)
+ Y0 <- Y*ind/(norm0+1-ind)
+ Y02 <- apply(Y0,2,function(x)x%*%t(x))[idx,]
+ }, useApply = FALSE)
+ }else{
+ Cv[idx] <- E(object = Distr, fun = function(x){
+ X <- evalRandVar(L2, as.matrix(x))[,,1] - cent
+ Y <- stand %*% X
+ norm0 <- norm(Y)
+ ind2 <- (norm0 < b/2)
+ norm1 <- ind2*clip/2 + (1-ind2)*norm0
+ ind1 <- (norm0 < b)
+ ind1 + (1-ind1)*clip/norm1
+ Y0 <- Y*ind1
+ Y02 <- apply(Y0,2,function(x)x%*%t(x))[idx,]
+ }, useApply = FALSE)
+ }
+ dCv <- diag(Cv)
+ return(PosSemDefSymmMatrix(Cv + t(Cv) - dCv))
}
- IC <- RealRandVariable(Map = ICfct, Domain = Y at Domain, Range = Y at Range)
- Cov <- matrix(E(Distr, IC %*% t(IC)), ncol = nrvalues)
- return(list(asCov = Cov))
- })
###############################################################################
## trace of asymptotic covariance
Modified: pkg/ROptEst/R/getInfCent.R
===================================================================
--- pkg/ROptEst/R/getInfCent.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getInfCent.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -34,34 +34,26 @@
return(uniroot(g.fct, lower = lower, upper = upper, tol = tol.z,
c0 = clip, D1 = D1)$root)
})
+
setMethod("getInfCent", signature(L2deriv = "RealRandVariable",
neighbor = "ContNeighborhood",
biastype = "BiasType"),
function(L2deriv, neighbor, biastype = symmetricBias(),
- Distr, z.comp, stand, cent, clip){
- integrand1 <- function(x, L2, clip, cent, stand){
- X <- evalRandVar(L2, as.matrix(x))[,,1] - cent
- Y <- apply(X, 2, "%*%", t(stand))
- h.vct <- sqrt(colSums(Y^2))
- ind2 <- (h.vct < clip/2)
- h.vct <- ind2*clip/2 + (1-ind2)*h.vct
- ind1 <- (h.vct < clip)
-
- return(ind1 + (1-ind1)*clip/h.vct)
+ Distr, z.comp, w){
+ integrand1 <- function(x){
+ weight(w)(evalRandVar(L2deriv, as.matrix(x)) [,,1])
}
- integrand2 <- function(x, L2.i, L2, clip, cent, stand){
- return(L2.i(x)*integrand1(x = x, L2 = L2, clip = clip, cent = cent, stand = stand))
+ integrand2 <- function(x, L2.i){
+ return(L2.i(x)*integrand1(x))
}
- res1 <- E(object = Distr, fun = integrand1, L2 = L2deriv, clip = clip,
- cent = cent, stand = stand, useApply = FALSE)
+ res1 <- E(object = Distr, fun = integrand1, useApply = FALSE)
nrvalues <- length(L2deriv)
res2 <- numeric(nrvalues)
for(i in 1:nrvalues){
if(z.comp[i]){
- res2[i] <- E(object = Distr, fun = integrand2, L2.i = L2deriv at Map[[i]],
- L2 = L2deriv, clip = clip, cent = cent, stand = stand,
- useApply = FALSE)
+ res2[i] <- E(object = Distr, fun = integrand2,
+ L2.i = L2deriv at Map[[i]], useApply = FALSE)
}else{
res2[i] <- 0
}
Modified: pkg/ROptEst/R/getInfGamma.R
===================================================================
--- pkg/ROptEst/R/getInfGamma.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getInfGamma.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -27,11 +27,12 @@
risk = "asMSE",
neighbor = "ContNeighborhood",
biastype = "BiasType"),
- function(L2deriv, risk, neighbor, biastype = symmetricBias(), Distr, stand, cent, clip){
+ function(L2deriv, risk, neighbor, biastype = symmetricBias(), Distr,
+ stand, cent, clip){
integrandG <- function(x, L2, stand, cent, clip){
X <- evalRandVar(L2, as.matrix(x))[,,1] - cent
- Y <- apply(X, 2, "%*%", t(stand))
- res <- sqrt(colSums(Y^2)) - clip
+ Y <- stand %*% X
+ res <- norm(risk)(Y) - clip
return((res > 0)*res)
}
Modified: pkg/ROptEst/R/getInfRobIC_asBias.R
===================================================================
--- pkg/ROptEst/R/getInfRobIC_asBias.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getInfRobIC_asBias.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -15,7 +15,7 @@
function(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm,
L2derivDistrSymm, Finfo, z.start, A.start, trafo, upper,
maxiter, tol, warn){
- minmaxBias(L2deriv, neighbor, biastype(risk),
+ minmaxBias(L2deriv, neighbor, biastype(risk), normtype(risk),
Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo,
z.start, A.start, trafo, upper,
maxiter, tol, warn)
@@ -45,7 +45,15 @@
asCov <- b^2*(1-ws0) + b^2*d^2*ws0
Risk <- list(asBias = b, asCov = asCov)
- return(list(A = A, a = zi*z, b = b, d = d, risk = Risk, info = info))
+ w <- new("HampelWeight")
+ cent(w) <- z
+ stand(w) <- A
+ clip(w) <- b
+ weight(w) <- minbiasweight(w, neighbor = neighbor, biastype = biastype,
+ normtype = NormType())
+
+ return(list(A = A, a = zi*z, b = b, d = d, risk = Risk, info = info,
+ w = w, biastype = biastype, normtype = NormType()))
})
setMethod("minmaxBias", signature(L2deriv = "UnivariateDistribution",
@@ -71,32 +79,44 @@
info <- c("minimum asymptotic bias (lower case) solution")
Risk <- list(asCov = a^2*(p0-ws0) + (zi*a+b)^2*(1-p0), asBias = b)
- return(list(A = A, a = a, b = b, d = 1, risk = Risk, info = info))
+ w <- new("BdStWeight")
+ stand(w) <- A
+ clip(w) <- c(a, a+b)
+ weight(w) <- minbiasweight(w, neighbor = neighbor, biastype = biastype,
+ normtype = NormType())
+
+ return(list(A = A, a = a, b = b, d = 1, risk = Risk, info = info,
+ w = w, biastype = biastype, normtype = NormType()))
})
setMethod("minmaxBias", signature(L2deriv = "RealRandVariable",
neighbor = "ContNeighborhood",
biastype = "BiasType"),
function(L2deriv, neighbor, biastype = symmetricBias(),
- Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo,
- z.start, A.start, trafo, upper,
+ normtype = NormType(), Distr, DistrSymm, L2derivSymm,
+ L2derivDistrSymm, Finfo, z.start, A.start, trafo, upper,
maxiter, tol, warn){
if(is.null(z.start)) z.start <- numeric(ncol(trafo))
if(is.null(A.start)) A.start <- trafo
- abs.fct <- function(x, L2, stand, cent){
+
+
+ abs.fct <- function(x, L2, stand, cent, norm){
X <- evalRandVar(L2, as.matrix(x))[,,1] - cent
- Y <- apply(X, 2, "%*%", t(stand))
+ Y <- stand %*% X
+ return(fct(norm)(Y))
+ }
- return(sqrt(colSums(Y^2)))
- }
bmin.fct <- function(param, L2deriv, Distr, trafo, z.comp){
p <- nrow(trafo)
k <- ncol(trafo)
A <- matrix(param[1:(p*k)], ncol=k, nrow=p)
z <- numeric(k)
z[z.comp] <- param[(p*k+1):length(param)]
-
+ aL <- list(normtype = normtype, FI = Finfo,
+ L2 = L2deriv, stand = A, cent = z, clip = 0,
+ Distr = Distr, norm = fct(normtype))
+ normtype <<- do.call(updateNorm, aL)
return(E(object = Distr, fun = abs.fct, L2 = L2deriv, stand = A,
cent = z, useApply = FALSE)/sum(diag(A %*% t(trafo))))
}
@@ -109,6 +129,7 @@
z.comp[i] <- FALSE
A.vec <- as.vector(A.start)
+ force(normtype)
erg <- optim(c(A.vec, z.start[z.comp]), bmin.fct, method = "Nelder-Mead",
control = list(reltol = tol, maxit = 100*maxiter),
L2deriv = L2deriv, Distr = Distr, trafo = trafo, z.comp = z.comp)
@@ -126,7 +147,15 @@
info <- c("minimum asymptotic bias (lower case) solution")
Risk <- list(asBias = b)
- return(list(A = A, a = a, b = b, d = d, risk = Risk, info = info))
+ w <- new("HampelWeight")
+ cent(w) <- z
+ stand(w) <- A
+ clip(w) <- b
+ weight(w) <- minbiasweight(w, neighbor = neighbor, biastype = biastype,
+ normtype = normtype)
+
+ return(list(A = A, a = a, b = b, d = d, risk = Risk, info = info,
+ w = w, biastype = biastype, normtype = normtype))
})
setMethod("minmaxBias", signature(L2deriv = "UnivariateDistribution",
@@ -160,40 +189,69 @@
asCov <- b2^2*(1-p)+b1^2*(p-ws0) + b^2*d^2*ws0
Risk <- list(asBias = b, asCov = asCov)
- return(list(A = A, a = zi*z, b = b, d = d, risk = Risk, info = info))
+ w <- new("HampelWeight")
+ cent(w) <- z
+ stand(w) <- A
+ clip(w) <- c(b1,b2)
+ weight(w) <- minbiasweight(w, neighbor = neighbor, biastype = biastype)
+
+ return(list(A = A, a = zi*z, b = b, d = d, risk = Risk, info = info,
+ w = w, biastype = biastype, normtype = NormType()))
})
setMethod("minmaxBias", signature(L2deriv = "UnivariateDistribution",
neighbor = "ContNeighborhood",
- biastype = "asymmetricBias"),
+ biastype = "onesidedBias"),
function(L2deriv, neighbor, biastype, symm,
Finfo, trafo, upper, maxiter, tol, warn){
- nu1 <- nu(biastype)[1]
- nu2 <- nu(biastype)[2]
- zi <- sign(as.vector(trafo))
- A <- as.matrix(zi)
- z <- q(L2deriv)(nu1/(nu1+nu2))
- b <- zi*as.vector(trafo)/E(L2deriv, function(x, z){(x - z)*(x>z)/nu2 +
- (z-x)*(z>x)/nu1}, z = z)
- b1 <- b / nu1
- b2 <- b / nu2
+ infotxt <- c("minimum asymptotic bias (lower case) solution")
+ noIC <- function(){
+ warntxt <- gettext("There exists no IC attaining the infimal maxBias.")
+ warning(warntxt)
+ return(list(A = 1, a = 1, d = 0, b = 0,
+ Risk = list(asBias = 0, asCov = 0, warning = warntxt),
+ info = infotxt, w = NULL, biastype = biastype,
+ normtype = NormType()))}
+ if(!is(L2deriv, "DiscreteDistribution"))
+ { if(is.finite(lowerCaseRadius(L2deriv, neighbor, risk = asMSE(), biastype)))
+ {
+ sign <- sign(biastype)
+ w0 <- options("warn")
+ options(warn = -1)
+
+ l <- length(support(L2deriv))
+ if (sign>0)
+ {z0 <- support(L2deriv)[1]
+ deltahat <- support(L2deriv)[2]-z0
+ }else{
+ z0 <- support(L2deriv)[l]
+ deltahat <- z0-support(L2deriv)[l-1]
+ }
+ p0 <- d(L2deriv)(z0)
+ v1 <- (1-p0)/p0/z0
+ v2 <- -1/z0
+ c0 <- deltahat*p0/2
+ A0 <- abs(1/z0/c0)
+ zc <- z0+sign(biastype)*deltahat*(1-p0)/2
+ a0 <- A0*zc
+ b0 <- abs(1/z0)
+ d0 <- 0
+ asCov <- v1^2*(1-p0)+v2^2*p0
+ Risk0 <- list(asBias = b0, asCov = asCov)
- p <- p(L2deriv)(z)
+ w <- new("HampelWeight")
+ cent(w) <- z0
+ stand(w) <- A0
+ clip(w) <- b0
+ weight(w) <- minbiasweight(w, neighbor = neighbor,
+ biastype = biastype)
+
+ }else{return(noIC())}
+ }else{return(noIC())}
+ return(list(A = A0, a = a0, b = b0, d = d0, risk = Risk0,
+ info = infotxt, w = w, biastype = biastype,
+ normtype = NormType()))
+ })
- if(is(L2deriv, "AbscontDistribution"))
- ws0 <- 0
- else
- ws0 <- d(L2deriv)(z)
- if(ws0 > 0)
- d <- (-b2*(1-p)+b1*(p-ws0))/ws0/b
- else
- d <- 0
-
- info <- c("minimum asymptotic bias (lower case) solution")
- asCov <- b2^2*(1-p)+b1^2*(p-ws0) + b^2*d^2*ws0
- Risk <- list(asBias = b, asCov = asCov)
-
- return(list(A = A, a = zi*z, b = b, d = d, risk = Risk, info = info))
- })
\ No newline at end of file
Modified: pkg/ROptEst/R/getInfRobIC_asGRisk.R
===================================================================
--- pkg/ROptEst/R/getInfRobIC_asGRisk.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getInfRobIC_asGRisk.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -4,8 +4,7 @@
setMethod("getInfRobIC", signature(L2deriv = "UnivariateDistribution",
risk = "asGRisk",
neighbor = "UncondNeighborhood"),
- function(L2deriv, risk, neighbor, symm, Finfo, trafo,
- upper, maxiter, tol, warn){
+ function(L2deriv, risk, neighbor, symm, Finfo, trafo, upper, maxiter, tol, warn){
biastype <- biastype(risk)
radius <- neighbor at radius
if(identical(all.equal(radius, 0), TRUE)){
@@ -51,7 +50,8 @@
if(warn) cat("The IC algorithm did not converge!\n",
"'radius >= maximum radius' for the given risk?\n",
"=> the minimum asymptotic bias (lower case) solution is returned\n")
- res <- getInfRobIC(L2deriv = L2deriv, risk = asBias(),
+ res <- getInfRobIC(L2deriv = L2deriv, risk = asBias(biastype = biastype(risk),
+ normtype = normtype(risk)),
neighbor = neighbor, Finfo = Finfo,
symm = symm, trafo = trafo, upper = upper,
maxiter = maxiter, tol = tol, warn = warn)
@@ -81,15 +81,27 @@
trafo = trafo)
Risk <- c(Risk, list(asBias = b))
- return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info))
+ w <- new("HampelWeight")
+ cent(w) <- z
+ stand(w) <- A
+ clip(w) <- b
+
+ weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype,
+ normtype = normtype(risk))
+
+ return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info, w = w,
+ biastype = biastype, normtype = normtype(risk)))
})
setMethod("getInfRobIC", signature(L2deriv = "RealRandVariable",
risk = "asGRisk",
neighbor = "ContNeighborhood"),
function(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm,
- L2derivDistrSymm, Finfo, trafo, z.start, A.start, upper,
- maxiter, tol, warn){
+ L2derivDistrSymm, Finfo, trafo, onesetLM = FALSE,
+ z.start, A.start, upper, maxiter,
+ tol, warn){
biastype <- biastype(risk)
+ normtype <- normtype(risk)
+
if(is.null(z.start)) z.start <- numeric(ncol(trafo))
if(is.null(A.start)) A.start <- trafo %*% solve(Finfo)
@@ -125,6 +137,7 @@
}
A.comp[col(A.comp) < row(A.comp)] <- A.comp[col(A.comp) > row(A.comp)]
+ w <- new("HampelWeight")
z <- z.start
A <- A.start
b <- 0
@@ -134,6 +147,16 @@
z.old <- z
b.old <- b
A.old <- A
+ ##
+ cent(w) <- z
+ stand(w) <- A
+
+ normtype <- update(normtype = normtype, FI = Finfo,
+ L2 = L2deriv, stand = A, cent = z, clip = b,
+ Distr = Distr, norm = fct(normtype))
+
+ weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype,
+ normtype = normtype)
## new
lower0 <- getL1normL2deriv(L2deriv = L2deriv, cent = z, stand = A,
Distr = Distr)/(1+neighbor at radius^2)
@@ -156,7 +179,8 @@
"=> the minimum asymptotic bias (lower case) solution is returned\n",
"If 'no' => Try again with modified starting values ",
"'z.start' and 'A.start'\n")
- res <- getInfRobIC(L2deriv = L2deriv, risk = asBias(),
+ res <- getInfRobIC(L2deriv = L2deriv, risk = asBias(biastype = biastype(risk),
+ normtype = normtype(risk)),
neighbor = neighbor, Distr = Distr, DistrSymm = DistrSymm,
L2derivSymm = L2derivSymm, L2derivDistrSymm = L2derivDistrSymm,
z.start = z.start, A.start = A.start, trafo = trafo,
@@ -167,12 +191,18 @@
res$risk <- c(Risk, res$risk)
return(res)
}
+ clip(w) <- b
+ normtype <- update(normtype = normtype, FI = Finfo,
+ L2 = L2deriv, stand = A, cent = z, clip = b,
+ Distr = Distr, norm = fct(normtype))
+
+ weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype,
+ normtype = normtype)
z <- getInfCent(L2deriv = L2deriv, neighbor = neighbor, biastype = biastype,
- Distr = Distr, z.comp = z.comp, stand = A, cent = z, clip = b)
+ Distr = Distr, z.comp = z.comp, stand = A, cent = z, clip = b, w = w)
A <- getInfStand(L2deriv = L2deriv, neighbor = neighbor,
biastype = biastype, Distr = Distr, A.comp = A.comp,
- stand = A, clip = b, cent = z,
- trafo = trafo)
+ stand = A, clip = b, cent = z, w = w, trafo = trafo)
prec <- max(abs(b-b.old), max(abs(A-A.old)), max(abs(z-z.old)))
cat("current precision in IC algo:\t", prec, "\n")
if(prec < tol) break
@@ -181,6 +211,16 @@
break
}
}
+ if (onesetLM){
+ cent(w) <- z
+ stand(w) <- A
+ normtype <- update(normtype = normtype, FI = Finfo,
+ L2 = L2deriv, stand = A, cent = z, clip = b,
+ Distr = Distr, norm = fct(normtype))
+
+ weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype,
+ normtype = normtype)
+ }
a <- as.vector(A %*% z)
info <- paste("optimally robust IC for", sQuote(class(risk)[1]))
Risk <- getAsRisk(risk = risk, L2deriv = L2deriv, neighbor = neighbor,
@@ -188,5 +228,6 @@
trafo = trafo)
Risk <- c(Risk, list(asBias = b))
- return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info))
+ return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info, w = w,
+ biastype = biastype, normtype = normtype))
})
Modified: pkg/ROptEst/R/getInfRobIC_asHampel.R
===================================================================
--- pkg/ROptEst/R/getInfRobIC_asHampel.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getInfRobIC_asHampel.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -7,8 +7,10 @@
function(L2deriv, risk, neighbor, symm, Finfo, trafo,
upper, maxiter, tol, warn){
biastype <- biastype(risk)
+ normtype <- normtype(risk)
A <- trafo / E(L2deriv, function(x){x^2})
b <- risk at bound
+
bmax <- abs(as.vector(A))*max(abs(q(L2deriv)(0)), q(L2deriv)(1))
if(b >= bmax){
if(warn) cat("'b >= maximum asymptotic bias' => (classical) optimal IC\n",
@@ -18,12 +20,13 @@
return(res)
}
- bmin <- getAsRisk(risk = asBias(), L2deriv = L2deriv, neighbor = neighbor,
+ bmin <- getAsRisk(risk = asBias(biastype = biastype, normtype = normtype),
+ L2deriv = L2deriv, neighbor = neighbor,
biastype = biastype, trafo = trafo)$asBias
if(b <= bmin){
if(warn) cat("'b <= minimum asymptotic bias'\n",
"=> the minimum asymptotic bias (lower case) solution is returned\n")
- res <- getInfRobIC(L2deriv = L2deriv, risk = asBias(),
+ res <- getInfRobIC(L2deriv = L2deriv, risk = asBias(biastype = biastype),
neighbor = neighbor, symm = symm,
trafo = trafo, maxiter = maxiter, tol = tol)
Risk <- list(asMSE = res$risk$asCov + neighbor at radius^2*bmin^2)
@@ -59,19 +62,34 @@
}
info <- paste("optimally robust IC for 'asHampel' with bound =", round(b,3))
a <- as.vector(A)*z
- Cov <- getAsRisk(risk = asCov(), L2deriv = L2deriv, neighbor = neighbor,
- biastype = biastype, clip = b, cent = a, stand = A)$asCov
+ Cov <- getInfV(L2deriv = L2deriv, neighbor = neighbor,
+ biastype = biastype, clip = c0, cent = z, stand = stand)
+
+ # getAsRisk(risk = asHampel(), L2deriv = L2deriv, neighbor = neighbor,
+ # biastype = biastype, clip = b, cent = a, stand = A)$asCov
Risk <- list(asCov = Cov, asBias = b, asMSE = Cov + neighbor at radius^2*b^2)
- return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info))
+ w <- new("HampelWeight")
+ clip(w) <- b
+ cent(w) <- z
+ stand(w) <- A
+
+ weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype,
+ normtype = NormType())
+
+ return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info,
+ w = w, biastype = biastype, normtype = NormType()))
})
+
setMethod("getInfRobIC", signature(L2deriv = "RealRandVariable",
risk = "asHampel",
neighbor = "ContNeighborhood"),
function(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm,
- L2derivDistrSymm, Finfo, trafo, z.start, A.start, upper, maxiter, tol, warn){
+ L2derivDistrSymm, Finfo, trafo, onesetLM = FALSE,
+ z.start, A.start, upper, maxiter, tol, warn){
biastype <- biastype(risk)
+ normtype <- normtype(risk)
if(is.null(z.start)) z.start <- numeric(ncol(trafo))
if(is.null(A.start)) A.start <- trafo
@@ -91,20 +109,17 @@
Distr = Distr, Finfo = Finfo, trafo = trafo)
return(res)
}
- bmin <- getAsRisk(risk = asBias(), L2deriv = L2deriv, neighbor = neighbor,
- biastype = biastype, Distr = Distr,
- L2derivDistrSymm = L2derivDistrSymm,
- trafo = trafo, z.start = z.start, A.start = A.start,
- maxiter = maxiter, tol = tol)$asBias
+ res <- getInfRobIC(L2deriv = L2deriv,
+ risk = asBias(biastype = biastype, normtype = normtype),
+ neighbor = neighbor, Distr = Distr, DistrSymm = DistrSymm,
+ L2derivSymm = L2derivSymm, L2derivDistrSymm = L2derivDistrSymm,
+ z.start = z.start, A.start = A.start, trafo = trafo,
+ maxiter = maxiter, tol = tol, warn = warn)
+ bmin <- res$b
cat("minimal bound:\t", bmin, "\n")
if(b <= bmin){
if(warn) cat("'b <= minimum asymptotic bias'\n",
"=> the minimum asymptotic bias (lower case) solution is returned\n")
- res <- getInfRobIC(L2deriv = L2deriv, risk = asBias(), neighbor = neighbor,
- Distr = Distr, DistrSymm = DistrSymm, L2derivSymm = L2derivSymm,
- L2derivDistrSymm = L2derivDistrSymm, z.start = z.start,
- A.start = A.start, trafo = trafo, maxiter = maxiter,
- tol = tol, warn = warn)
return(res)
}
nrvalues <- length(L2deriv)
@@ -140,11 +155,21 @@
iter <- iter + 1
z.old <- z
A.old <- A
+ cent(w) <- z
+ stand(w) <- A
+ normtype <- update(normtype = normtype, FI = Finfo,
+ L2 = L2deriv, stand = A, cent = z, clip = b,
+ Distr = Distr, norm = fct(normtype))
+
+ weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype,
+ normtype = normtype)
+
z <- getInfCent(L2deriv = L2deriv, neighbor = neighbor, biastype = biastype,
- Distr = Distr, z.comp = z.comp, stand = A, cent = z, clip = b)
+ Distr = Distr, z.comp = z.comp, stand = A, cent = z, clip = b,
+ w = w)
A <- getInfStand(L2deriv = L2deriv, neighbor = neighbor, biastype = biastype,
clip = b, cent = z, A.comp = A.comp, trafo = trafo,
- Distr = Distr, stand = A)
+ Distr = Distr, stand = A, w = w)
prec <- max(max(abs(A-A.old)), max(abs(z-z.old)))
cat("current precision in IC algo:\t", prec, "\n")
if(prec < tol) break
@@ -153,12 +178,26 @@
break
}
}
+ if (onesetLM){
+ cent(w) <- z
+ stand(w) <- A
+ normtype <- update(normtype = normtype, FI = Finfo,
+ L2 = L2deriv, stand = A, cent = z, clip = b,
+ Distr = Distr, norm = fct(normtype))
+
+ weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype,
+ normtype = normtype)
+ }
info <- paste("optimally robust IC for 'asHampel' with bound =", round(b,3))
a <- as.vector(A %*% z)
- Cov <- getAsRisk(risk = asCov(), L2deriv = L2deriv, neighbor = neighbor,
- biastype = biastype, Distr = Distr, clip = b, cent = a,
- stand = A)$asCov
- Risk <- list(asCov = Cov, asBias = b, asMSE = sum(diag(Cov)) + neighbor at radius^2*b^2)
+ Cov <- getInfV(L2deriv = L2deriv, neighbor = neighbor,
+ biastype = biastype, clip = c0, cent = z, stand = stand,
+ Distr = Distr, V.comp = A.comp, w = w)
+ #getAsRisk(risk = asCov(), L2deriv = L2deriv, neighbor = neighbor,
+ # biastype = biastype, Distr = Distr, clip = b, cent = a,
+ # stand = A)$asCov
+ Risk <- list(trAsCov = sum(diag(Cov)), asCov = Cov, asBias = b, asMSE = sum(diag(Cov)) + neighbor at radius^2*b^2)
- return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info))
+ return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info,
+ w = w, biastype = biastype, normtype = normtype))
})
Modified: pkg/ROptEst/R/getInfStand.R
===================================================================
--- pkg/ROptEst/R/getInfStand.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getInfStand.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -22,20 +22,12 @@
neighbor = "ContNeighborhood",
biastype = "BiasType"),
function(L2deriv, neighbor, biastype = symmetricBias(),
- Distr, A.comp, stand, clip, cent, trafo){
- w.fct <- function(x, L2, stand, cent, clip){
- X <- evalRandVar(L2, as.matrix(x))[,,1] - cent
- Y <- apply(X, 2, "%*%", t(stand))
- h.vct <- sqrt(colSums(Y^2))
- ind2 <- (h.vct < clip/2)
- h.vct <- ind2*clip/2 + (1-ind2)*h.vct
- ind1 <- (h.vct < clip)
-
- return(ind1 + (1-ind1)*clip/h.vct)
+ Distr, A.comp, cent, trafo, w){
+ w.fct <- function(x){
+ weight(w)(evalRandVar(L2deriv, as.matrix(x)) [,,1])
}
- integrandA <- function(x, L2.i, L2.j, i, j, L2, stand, cent, clip){
- return((L2.i(x) - cent[i])*(L2.j(x) - cent[j])*w.fct(x = x, L2 = L2,
- stand = stand, cent = cent, clip = clip))
+ integrandA <- function(x, L2.i, L2.j, i, j){
+ return((L2.i(x) - cent[i])*(L2.j(x) - cent[j])*w.fct(x = x))
}
nrvalues <- length(L2deriv)
@@ -43,9 +35,9 @@
for(i in 1:nrvalues)
for(j in i:nrvalues)
if(A.comp[i,j])
- erg[i, j] <- E(object = Distr, fun = integrandA, L2.i = L2deriv at Map[[i]],
- L2.j = L2deriv at Map[[j]], i = i, j = j, L2 = L2deriv,
- stand = stand, cent = cent, clip = clip,
+ erg[i, j] <- E(object = Distr, fun = integrandA,
+ L2.i = L2deriv at Map[[i]],
+ L2.j = L2deriv at Map[[j]], i = i, j = j,
useApply = FALSE)
erg[col(erg) < row(erg)] <- erg[col(erg) > row(erg)]
Added: pkg/ROptEst/R/getInfV.R
===================================================================
--- pkg/ROptEst/R/getInfV.R (rev 0)
+++ pkg/ROptEst/R/getInfV.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,97 @@
+###############################################################################
+## asyVar
+###############################################################################
+setMethod("getInfV", signature(L2deriv = "UnivariateDistribution",
+ neighbor = "ContNeighborhood",
+ biastype = "BiasType"),
+ function(L2deriv, neighbor, biastype = symmetricBias(), clip, cent, stand){
+ c1 <- cent - clip
+ c2 <- cent + clip
+ return(stand^2*(m2df(L2deriv, c2) - m2df(L2deriv, c1)
+ + 2 * cent *(m1df(L2deriv, c1) - m1df(L2deriv, c2))
+ + cent^2 * (p(L2deriv)(c2) -p(L2deriv)(c1))
+ + clip^2 * (1-p(L2deriv)(c2) +p(L2deriv)(c1))
+ ))
+ })
+
+
+setMethod("getInfV", signature(L2deriv = "UnivariateDistribution",
+ neighbor = "TotalVarNeighborhood",
+ biastype = "BiasType"),
+ function(L2deriv, neighbor, biastype = positiveBias(), clip, cent, stand){
+ c1 <- cent
+ c2 <- clip+clip
+ return(stand^2*(m2df(L2deriv, c2) - m2df(L2deriv, c1)
+ + c2^2 * (1-p(L2deriv)(c2)) + c1^2* p(L2deriv)(c1)
+ ))
+ })
+
+setMethod("getInfV", signature(L2deriv = "RealRandVariable",
+ neighbor = "ContNeighborhood",
+ biastype = "BiasType"),
+ function(L2deriv, neighbor, biastype = symmetricBias(), Distr, V.comp,
+ clip, cent, stand, w){
+ w.fct <- function(x){
+ (weight(w)(evalRandVar(L2deriv, as.matrix(x)) [,,1]))^2
+ }
+ integrandV <- function(x, L2.i, L2.j, i, j){
+ return((L2.i(x) - cent[i])*(L2.j(x) - cent[j])*w.fct(x = x))
+ }
+
+ nrvalues <- length(L2deriv)
+ erg <- matrix(0, ncol = nrvalues, nrow = nrvalues)
+ for(i in 1:nrvalues)
+ for(j in i:nrvalues)
+ if(V.comp[i,j])
+ erg[i, j] <- E(object = Distr, fun = integrandV,
+ L2.i = L2deriv at Map[[i]],
+ L2.j = L2deriv at Map[[j]], i = i, j = j,
+ useApply = FALSE)
+
+ erg[col(erg) < row(erg)] <- erg[col(erg) > row(erg)]
+
+ return(stand %*% erg %*% t(stand))
+ })
+###############################################################################
+## standardizing constant for one-sided bias
+###############################################################################
+setMethod("getInfV", signature(L2deriv = "UnivariateDistribution",
+ neighbor = "ContNeighborhood",
+ biastype = "onesidedBias"),
+ function(L2deriv, neighbor, biastype = positiveBias(), clip, cent, stand){
+ c1 <- if (sign(biastype)<0) cent - clip else -Inf
+ c2 <- if (sign(biastype)>0) cent + clip else Inf
+ V1 <- if (sign(biastype)<0) m2df(L2deriv, c1) else 0
+ V2 <- if (sign(biastype)>0) m2df(L2deriv, c2) else E(L2deriv, function(x)x^2)
+ E1 <- if (sign(biastype)<0) m2df(L2deriv, c1) else 0
+ E2 <- if (sign(biastype)>0) m2df(L2deriv, c2) else 0
+ F1 <- if (sign(biastype)<0) p(L2deriv)(c1) else 0
+ F2 <- if (sign(biastype)>0) p(L2deriv)(c2, lower.tail = FALSE) else 0
+ c10 <- if (sign(biastype)<0) c1*m1df(L2deriv, c1) else 0
+ c20 <- if (sign(biastype)>0) c2*m1df(L2deriv, c2) else 0
+ c1 <- cent - clip
+ c2 <- cent + clip
+ return(stand^2*(V2 - V1 + 2 * cent * (E1 - E2)
+ + cent^2 * (1 - F2 - F1)
+ + clip^2 * (F2 + F1)
+ ))
+ })
+
+
+###############################################################################
+## standardizing constant for asymmetric bias
+###############################################################################
+setMethod("getInfV", signature(L2deriv = "UnivariateDistribution",
+ neighbor = "ContNeighborhood",
+ biastype = "asymmetricBias"),
+ function(L2deriv, neighbor, biastype = positiveBias(), clip, cent, stand){
+ nu1 <- nu(biastype)[1]
+ nu2 <- nu(biastype)[2]
+ c1 <- cent - clip/nu1
+ c2 <- cent + clip/nu2
+ return(stand^2*(m2df(L2deriv, c2) - m2df(L2deriv, c1)
+ + 2 * cent *(m1df(L2deriv, c1) - m1df(L2deriv, c2))
+ + cent^2 * (p(L2deriv)(c2) -p(L2deriv)(c1))
+ + clip^2 * (1-p(L2deriv)(c2)/nu2^2 +p(L2deriv)(c1)/nu1^2)
+ ))
+ })
Modified: pkg/ROptEst/R/getRiskIC.R
===================================================================
--- pkg/ROptEst/R/getRiskIC.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getRiskIC.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -13,18 +13,6 @@
bias <- E(L2Fam, IC1)
Cov <- E(L2Fam, IC1 %*% t(IC1))
-
- slots = slotNames(L2Fam at distribution@param)
- slots = slots[slots != "name"]
- nrvalues = length(slots)
- if (nrvalues > 0) {
- values = numeric(nrvalues)
- for (i in 1:nrvalues)
- values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
- paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
- }
- distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
prec <- checkIC(IC, out = FALSE)
if(prec > tol)
@@ -32,8 +20,9 @@
"\nThis is larger than the specified 'tol' ",
"=> the result may be wrong")
- return(list(asCov = list(distribution = distr, value = Cov - bias %*% t(bias))))
+ return(list(asCov = list(distribution = .getDistr(L2Fam), value = Cov - bias %*% t(bias))))
})
+
setMethod("getRiskIC", signature(IC = "IC",
risk = "asCov",
neighbor = "missing",
@@ -48,25 +37,13 @@
bias <- E(L2Fam, IC1)
Cov <- E(L2Fam, IC1 %*% t(IC1))
- slots = slotNames(L2Fam at distribution@param)
- slots = slots[slots != "name"]
- nrvalues = length(slots)
- if (nrvalues > 0) {
- values = numeric(nrvalues)
- for (i in 1:nrvalues)
- values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
- paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
- }
- distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
-
prec <- checkIC(IC, L2Fam, out = FALSE)
if(prec > tol)
warning("The maximum deviation from the exact IC properties is", prec,
"\nThis is larger than the specified 'tol' ",
"=> the result may be wrong")
- return(list(asCov = list(distribution = distr, value = Cov - bias %*% t(bias))))
+ return(list(asCov = list(distribution = .getDistr(L2Fam), value = Cov - bias %*% t(bias))))
})
###############################################################################
@@ -116,14 +93,14 @@
neighbor = "UncondNeighborhood",
L2Fam = "missing"),
function(IC, risk, neighbor, tol = .Machine$double.eps^0.25){
- getBiasIC(IC, neighbor, biastype(risk), tol)
+ getBiasIC(IC, neighbor, biastype(risk), normtype(risk), tol)
})
setMethod("getRiskIC", signature(IC = "IC",
risk = "asBias",
neighbor = "UncondNeighborhood",
L2Fam = "L2ParamFamily"),
function(IC, risk, neighbor, L2Fam, tol = .Machine$double.eps^0.25){
- getBiasIC(IC, neighbor, L2Fam, biastype(risk), tol)
+ getBiasIC(IC, neighbor, L2Fam, biastype(risk), normtype(risk), tol)
})
###############################################################################
## asymptotic MSE
@@ -139,18 +116,6 @@
trCov <- getRiskIC(IC = IC, risk = trAsCov())
Bias <- getRiskIC(IC = IC, risk = asBias(), neighbor = neighbor)
- L2Fam <- eval(IC at CallL2Fam)
- slots = slotNames(L2Fam at distribution@param)
- slots = slots[slots != "name"]
- nrvalues = length(slots)
- if (nrvalues > 0) {
- values = numeric(nrvalues)
- for (i in 1:nrvalues)
- values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
- paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
- }
- distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
nghb <- paste(neighbor at type, "with radius", neighbor at radius)
prec <- checkIC(IC, out = FALSE)
@@ -159,7 +124,8 @@
"\nThis is larger than the specified 'tol' ",
"=> the result may be wrong")
- return(list(asMSE = list(distribution = distr, neighborhood = nghb,
+ return(list(asMSE = list(distribution = .getDistr(eval(IC at CallL2Fam)),
+ neighborhood = nghb,
value = trCov$trAsCov$value + rad^2*Bias$asBias$value^2)))
})
setMethod("getRiskIC", signature(IC = "IC",
@@ -177,25 +143,16 @@
Bias <- getRiskIC(IC = IC, risk = asBias(), neighbor = neighbor, L2Fam = L2Fam,
biastype = biastype(risk))
- slots = slotNames(L2Fam at distribution@param)
- slots = slots[slots != "name"]
- nrvalues = length(slots)
- if (nrvalues > 0) {
- values = numeric(nrvalues)
- for (i in 1:nrvalues)
- values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
- paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
- }
- distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
-
prec <- checkIC(IC, L2Fam, out = FALSE)
if(prec > tol)
warning("The maximum deviation from the exact IC properties is", prec,
"\nThis is larger than the specified 'tol' ",
"=> the result may be wrong")
- return(list(asMSE = list(distribution = distr, neighborhood = neighbor at type,
+ nghb <- paste(neighbor at type, "with radius", neighbor at radius)
+
+ return(list(asMSE = list(distribution = .getDistr(L2Fam),
+ neighborhood = nghb,
radius = neighbor at radius,
value = trCov$trAsCov$value + rad^2*Bias$asBias$value^2)))
})
@@ -269,20 +226,10 @@
+ m2df(L2deriv, g0+c0) - m2df(L2deriv, g0))
erg <- pnorm(-risk at width*s)
- slots = slotNames(L2Fam at distribution@param)
- slots = slots[slots != "name"]
- nrvalues = length(slots)
- if (nrvalues > 0) {
- values = numeric(nrvalues)
- for (i in 1:nrvalues)
- values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
- paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
- }
- distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
nghb <- paste(neighbor at type, "with radius", neighbor at radius)
- return(list(asUnOvShoot = list(distribution = distr, neighborhood = nghb, value = erg)))
+ return(list(asUnOvShoot = list(distribution = .getDistr(L2Fam),
+ neighborhood = nghb, value = erg)))
})
###############################################################################
## finite-sample under-/overshoot risk
@@ -381,21 +328,10 @@
}
}
- L2Fam <- eval(IC at CallL2Fam)
- slots = slotNames(L2Fam at distribution@param)
- slots = slots[slots != "name"]
- nrvalues = length(slots)
- if (nrvalues > 0) {
- values = numeric(nrvalues)
- for (i in 1:nrvalues)
- values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
- paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
- }
- distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
nghb <- paste(neighbor at type, "with radius", neighbor at radius)
- return(list(fiUnOvShoot = list(distribution = distr, neighborhood = nghb, value = erg)))
+ return(list(fiUnOvShoot = list(distribution = .getDistr(eval(IC at CallL2Fam)),
+ neighborhood = nghb, value = erg)))
})
setMethod("getRiskIC", signature(IC = "IC",
risk = "fiUnOvShoot",
@@ -491,21 +427,10 @@
}
}
- L2Fam <- eval(IC at CallL2Fam)
- slots = slotNames(L2Fam at distribution@param)
- slots = slots[slots != "name"]
- nrvalues = length(slots)
- if (nrvalues > 0) {
- values = numeric(nrvalues)
- for (i in 1:nrvalues)
- values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
- paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
- }
- distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
nghb <- paste(neighbor at type, "with radius", neighbor at radius)
- return(list(fiUnOvShoot = list(distribution = distr, neighborhood = nghb, value = erg)))
+ return(list(fiUnOvShoot = list(distribution = .getDistr(eval(IC at CallL2Fam)),
+ neighborhood = nghb, value = erg)))
})
@@ -515,7 +440,7 @@
setMethod("getBiasIC", signature(IC = "IC",
neighbor = "UncondNeighborhood"),
function(IC, neighbor, L2Fam, biastype = symmetricBias(),
- tol = .Machine$double.eps^0.25){
+ normtype = NormType(), tol = .Machine$double.eps^0.25){
if(missing(L2Fam))
{misF <- TRUE; L2Fam <- eval(IC at CallL2Fam)}
D1 <- L2Fam at distribution
@@ -526,20 +451,36 @@
x <- as.matrix(x[!duplicated(x),])
Bias <- .evalBiasIC(IC = IC, neighbor = neighbor, biastype = biastype,
- x = x, trafo = L2Fam at param@trafo)
+ normtype = normtype, x = x, trafo = L2Fam at param@trafo)
- slots <- slotNames(L2Fam at distribution@param)
- slots <- slots[slots != "name"]
- nrvalues <- length(slots)
- if (nrvalues > 0) {
- values <- numeric(nrvalues)
- for (i in 1:nrvalues)
- values[i] <- attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
+ prec <- if(misF) checkIC(IC, out = FALSE) else
+ checkIC(IC, L2Fam, out = FALSE)
+ if(prec > tol)
+ warning("The maximum deviation from the exact IC properties is", prec,
+ "\nThis is larger than the specified 'tol' ",
+ "=> the result may be wrong")
- paramstring <- paste("(", paste(values, collapse = ", "), ")", sep = "")
- }
- distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
+ return(list(asBias = list(distribution = .getDistr(L2Fam),
+ neighborhood = neighbor at type, value = Bias)))
+ })
+setMethod("getBiasIC", signature(IC = "ContIC",
+ neighbor = "UncondNeighborhood"),
+ function(IC, neighbor, L2Fam, biastype = symmetricBias(),
+ normtype = NormType(), tol = .Machine$double.eps^0.25){
+ if(missing(L2Fam))
+ {misF <- TRUE; L2Fam <- eval(IC at CallL2Fam)}
+ D1 <- L2Fam at distribution
+ if(dimension(Domain(IC at Curve[[1]])) != dimension(img(D1)))
+ stop("dimension of 'Domain' of 'Curve' != dimension of 'img' of 'distribution' of 'L2Fam'")
+
+ x <- as.matrix(r(D1)(1e5))
+ x <- as.matrix(x[!duplicated(x),])
+
+ Bias <- .evalBiasIC(IC = IC, neighbor = neighbor, biastype = biastype,
+ normtype = normtype, x = x, trafo = L2Fam at param@trafo)
+
+
prec <- if(misF) checkIC(IC, out = FALSE) else
checkIC(IC, L2Fam, out = FALSE)
if(prec > tol)
@@ -547,23 +488,24 @@
"\nThis is larger than the specified 'tol' ",
"=> the result may be wrong")
- return(list(asBias = list(distribution = distr, neighborhood = neighbor at type, value = Bias)))
+ return(list(asBias = list(distribution = .getDistr(L2Fam),
+ neighborhood = neighbor at type, value = Bias)))
})
-
setMethod(".evalBiasIC", signature(IC = "IC",
neighbor = "ContNeighborhood",
biastype = "BiasType"),
- function(IC, neighbor, biastype, x, trafo){
- IC1 <- as(diag(dimension(IC at Curve)) %*% IC at Curve, "EuclRandVariable")
- absIC1 <- sqrt(IC1 %*% IC1)
- return(max(evalRandVar(absIC1, x)))}
+ function(IC, neighbor, biastype, normtype, x, trafo){
+ ICx <- evalRandVar(as(diag(dimension(IC at Curve)) %*% IC at Curve,
+ "EuclRandVariable"),x)
+
+ return(max(fct(normtype)(ICx)))}
)
setMethod(".evalBiasIC", signature(IC = "IC",
neighbor = "TotalVarNeighborhood",
biastype = "BiasType"),
- function(IC, neighbor, biastype, x, trafo){
+ function(IC, neighbor, biastype, normtype, x, trafo){
if(nrow(trafo) > 1)
stop("not yet implemented for dimension > 1")
IC1 <- as(diag(nrow(trafo)) %*% IC at Curve, "EuclRandVariable")
@@ -595,3 +537,17 @@
return(max(res)/nu(biastype)[2] -
min(res)/nu(biastype)[1])}
)
+
+.getDistr <- function(L2Fam){
+ slots <- slotNames(L2Fam at distribution@param)
+ slots <- slots[slots != "name"]
+ nrvalues <- length(slots)
+ if (nrvalues > 0) {
+ values = numeric(nrvalues)
+ for (i in 1:nrvalues)
+ values[i] <- attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
+
+ paramstring <- paste("(", paste(values, collapse = ", "), ")", sep = "")
+ }
+ distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
+}
\ No newline at end of file
Modified: pkg/ROptEst/R/lowerCaseRadius.R
===================================================================
--- pkg/ROptEst/R/lowerCaseRadius.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/lowerCaseRadius.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -118,6 +118,35 @@
return(rad)
})
+# trick to make it callable from minmaxBias
+setMethod("lowerCaseRadius", signature(L2Fam = "UnivariateDistribution",
+ neighbor = "ContNeighborhood",
+ risk = "asMSE",
+ biastype = "onesidedBias"),
+ function(L2Fam, neighbor, risk, biastype){
+
+ L2deriv <- D1 <- L2Fam
+ if(!is(D1, "DiscreteDistribution")) stop("not yet implemented")
+
+ sign <- sign(biastype)
+ w0 <- options("warn")
+ options(warn = -1)
+
+ l <- length(support(L2deriv))
+ if (sign>0)
+ {z0 <- support(L2deriv)[1]; deltahat <- support(L2deriv)[2]-z0
+ }else{
+ z0 <- support(L2deriv)[l]; deltahat <- z0-support(L2deriv)[l-1]}
+ p0 <- d(L2deriv)(z0)
+
+ rad <- sqrt((abs(z0)/deltahat-(1-p0))/p0)
+ names(rad) <- "lower case radius"
+
+ options(w0)
+ return(rad)
+ })
+
+
setMethod("lowerCaseRadius", signature(L2Fam = "L2ParamFamily",
neighbor = "ContNeighborhood",
risk = "asMSE",
@@ -195,3 +224,4 @@
options(w0)
return(rad)
})
+
Modified: pkg/ROptEst/man/getAsRisk.Rd
===================================================================
--- pkg/ROptEst/man/getAsRisk.Rd 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/man/getAsRisk.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -27,7 +27,7 @@
\S4method{getAsRisk}{asMSE,UnivariateDistribution,Neighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand, trafo)
-\S4method{getAsRisk}{asMSE,EuclRandVariable,Neighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand, trafo)
+\S4method{getAsRisk}{asMSE,EuclRandVariable,Neighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand, trafo, norm = EuclideanNorm)
\S4method{getAsRisk}{asBias,UnivariateDistribution,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, trafo)
@@ -38,17 +38,17 @@
\S4method{getAsRisk}{asBias,UnivariateDistribution,TotalVarNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, trafo)
\S4method{getAsRisk}{asBias,RealRandVariable,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, Distr, L2derivDistrSymm, trafo,
- z.start, A.start, maxiter, tol)
+ z.start, A.start, maxiter, tol, norm = EuclideanNorm)
\S4method{getAsRisk}{asCov,UnivariateDistribution,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand)
\S4method{getAsRisk}{asCov,UnivariateDistribution,TotalVarNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand)
-\S4method{getAsRisk}{asCov,RealRandVariable,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, Distr, clip, cent, stand)
+\S4method{getAsRisk}{asCov,RealRandVariable,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, Distr, clip, cent, stand, norm = EuclideanNorm)
\S4method{getAsRisk}{trAsCov,UnivariateDistribution,UncondNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand)
-\S4method{getAsRisk}{trAsCov,RealRandVariable,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, Distr, clip, cent, stand)
+\S4method{getAsRisk}{trAsCov,RealRandVariable,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, Distr, clip, cent, stand, norm = EuclideanNorm)
\S4method{getAsRisk}{asUnOvShoot,UnivariateDistribution,UncondNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand, trafo)
@@ -72,6 +72,7 @@
\item{A.start}{ initial value for the standardizing matrix. }
\item{maxiter}{ the maximum number of iterations }
\item{tol}{ the desired accuracy (convergence tolerance).}
+ \item{norm}{function; norm for the parameter space}
}
%\details{}
\value{The asymptotic risk is computed.}
Added: pkg/ROptEst/man/getInfV.Rd
===================================================================
--- pkg/ROptEst/man/getInfV.Rd (rev 0)
+++ pkg/ROptEst/man/getInfV.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,48 @@
+\name{getInfV}
+\alias{getInfV}
+\alias{getInfV-methods}
+\alias{getInfV,UnivariateDistribution,ContNeighborhood,BiasType-method}
+\alias{getInfV,UnivariateDistribution,TotalVarNeighborhood,BiasType-method}
+\alias{getInfV,EuclRandVariable,ContNeighborhood,BiasType-method}
+\alias{getInfV,UnivariateDistribution,ContNeighborhood,onesidedBias-method}
+\alias{getInfV,UnivariateDistribution,ContNeighborhood,asymmetricBias-method}
+
+\title{Generic Function for the Computation of the asymptotic Variance of a Hampel type IC}
+\description{
+ 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.
+}
+\usage{
+getInfV(L2deriv, neighbor, biastype, clip, cent, stand)
+}
+\arguments{
+ \item{L2deriv}{ L2-derivative of some L2-differentiable family
+ of probability measures. }
+ \item{neighbor}{ object of class \code{"Neighborhood"}. }
+ \item{\dots}{ additional parameters. }
+ \item{biastype}{ object of class \code{"BiasType"} }
+ \item{clip}{ positive real: clipping bound }
+ \item{cent}{ optimal centering constant. }
+ \item{stand}{ standardizing matrix. }
+}
+%\details{}
+\value{The asymptotic variance of an ALE to IC of Hampel type is computed.}
+\references{
+ Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. \bold{8}: 106--115.
+
+ Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+ Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves.
+ Mathematical Methods in Statistics \emph{14}(1), 105-131.
+
+ Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+ Bayreuth: Dissertation.
+}
+\author{Matthias Kohl \email{Matthias.Kohl at stamats.de},
+ Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link[RobAStBase]{ContIC-class}}, \code{\link[RobAStBase]{TotalVarIC-class}}}
+%\examples{}
+\concept{influence curve}
+\keyword{}
Modified: pkg/ROptEst/man/lowerCaseRadius.Rd
===================================================================
--- pkg/ROptEst/man/lowerCaseRadius.Rd 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/man/lowerCaseRadius.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -4,6 +4,7 @@
\alias{lowerCaseRadius,L2ParamFamily,ContNeighborhood,asMSE,ANY-method}
\alias{lowerCaseRadius,L2ParamFamily,TotalVarNeighborhood,asMSE,ANY-method}
\alias{lowerCaseRadius,L2ParamFamily,ContNeighborhood,asMSE,onesidedBias-method}
+\alias{lowerCaseRadius,UnivariateDistribution,ContNeighborhood,asMSE,onesidedBias-method}
\alias{lowerCaseRadius,L2ParamFamily,ContNeighborhood,asMSE,asymmetricBias-method}
\title{Computation of the lower case radius}
@@ -44,6 +45,10 @@
biastype = "asymmetricBias"}{
lower case radius for risk \code{"asMSE"} in case of \code{"ContNeighborhood"}
for asymmetric bias.}
+
+ \item{L2Fam = "UnivariateDistribution", neighbor = "ContNeighborhood", risk = "asMSE",
+ biastype = "onesidedBias"}{ used only internally;
+ trick to be able to call lower case radius from within minmax bias solver}
}}
\references{
Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
Modified: pkg/RobAStBase/NAMESPACE
===================================================================
--- pkg/RobAStBase/NAMESPACE 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/NAMESPACE 2008-03-26 01:14:35 UTC (rev 79)
@@ -14,6 +14,8 @@
"IC",
"ContIC",
"TotalVarIC")
+exportClasses("RobAStControl", "RobWeight", "BoundedWeight",
+ "BdStWeight", "HampelWeight")
exportMethods("show",
"plot")
exportMethods("type", "radius")
@@ -38,6 +40,14 @@
"optIC")
exportMethods("oneStepEstimator",
"locMEstimator")
+exportMethods("weight", "weight<-",
+ "clip", "clip<-",
+ "stand", "stand<-",
+ "cent", "cent<-",
+ "getweight", "minbiasweight",
+ "generateIC.fct",
+ "makeIC")
export("ContNeighborhood", "TotalVarNeighborhood")
export("FixRobModel", "InfRobModel")
export("InfluenceCurve", "IC", "ContIC", "TotalVarIC")
+export("EuclideanNorm", "QuadFormNorm")
Modified: pkg/RobAStBase/R/AllClass.R
===================================================================
--- pkg/RobAStBase/R/AllClass.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/R/AllClass.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -50,6 +50,22 @@
stop("'radius' has to be in [0, Inf]")
else return(TRUE)
})
+# Weights
+setClass("RobAStControl", representation(name ="character"),
+ contains = "VIRTUAL")
+
+setClass("RobWeight", representation(name = "character", weight = "function"),
+ prototype(name = "some weight", weight = function(x) 1))
+setClass("BoundedWeight", representation(clip = "numeric"),
+ prototype(clip = 1), contains = "RobWeight")
+setClass("BdStWeight", representation(stand = "matrix"),
+ prototype(stand = matrix(1)), contains = "BoundedWeight")
+setClass("HampelWeight", representation(cent = "numeric"),
+ prototype(cent = 0), contains = "BdStWeight")
+
+
+
+
# Influence curve/function with domain: EuclideanSpace
setClass("InfluenceCurve",
representation(name = "character",
@@ -94,7 +110,10 @@
cent = "numeric",
stand = "matrix",
lowerCase = "OptionalNumeric",
- neighborRadius = "numeric"),
+ neighborRadius = "numeric",
+ weight = "HampelWeight",
+ biastype = "BiasType",
+ normtype = "NormType"),
prototype(name = "IC of contamination type",
Curve = EuclRandVarList(RealRandVariable(Map = list(function(x){x}),
Domain = Reals())),
@@ -104,7 +123,8 @@
CallL2Fam = call("L2ParamFamily"),
clip = Inf, cent = 0, stand = as.matrix(1),
lowerCase = NULL,
- neighborRadius = 0),
+ neighborRadius = 0, weight = new("HampelWeight"),
+ biastype = symmetricBias(), NormType = NormType()),
contains = "IC",
validity = function(object){
if(any(object at neighborRadius < 0)) # radius vector?!
@@ -127,7 +147,8 @@
clipUp = "numeric",
stand = "matrix",
lowerCase = "OptionalNumeric",
- neighborRadius = "numeric"),
+ neighborRadius = "numeric",
+ weight = "BdStWeight"),
prototype(name = "IC of total variation type",
Curve = EuclRandVarList(RealRandVariable(Map = list(function(x){x}),
Domain = Reals())),
@@ -137,7 +158,7 @@
CallL2Fam = call("L2ParamFamily"),
clipLo = -Inf, clipUp = Inf, stand = as.matrix(1),
lowerCase = NULL,
- neighborRadius = 0),
+ neighborRadius = 0, weight = new("BdStWeight")),
contains = "IC",
validity = function(object){
if(any(object at neighborRadius < 0)) # radius vector?!
@@ -151,3 +172,5 @@
stop(paste("dimension of 'trafo' of 'param' != dimension of 'stand'"))
return(TRUE)
})
+
+
Modified: pkg/RobAStBase/R/AllGeneric.R
===================================================================
--- pkg/RobAStBase/R/AllGeneric.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/R/AllGeneric.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -49,6 +49,9 @@
if(!isGeneric("evalIC")){
setGeneric("evalIC", function(IC, x) standardGeneric("evalIC"))
}
+if(!isGeneric("makeIC")){
+ setGeneric("makeIC", function(IC, L2Fam, ...) standardGeneric("makeIC"))
+}
if(!isGeneric("clip")){
setGeneric("clip", function(object) standardGeneric("clip"))
}
@@ -104,3 +107,50 @@
if(!isGeneric("optIC")){
setGeneric("optIC", function(model, risk, ...) standardGeneric("optIC"))
}
+
+
+if(!isGeneric("weight")){
+ setGeneric("weight",
+ function(object, ...) standardGeneric("weight"))
+}
+if(!isGeneric("weight<-")){
+ setGeneric("weight<-",
+ function(object, value, ...) standardGeneric("weight<-"))
+}
+if(!isGeneric("clip")){
+ setGeneric("clip",
+ function(object, ...) standardGeneric("clip"))
+}
+if(!isGeneric("clip<-")){
+ setGeneric("clip<-",
+ function(object, value, ...) standardGeneric("clip<-"))
+}
+if(!isGeneric("stand")){
+ setGeneric("stand",
+ function(object, ...) standardGeneric("stand"))
+}
+if(!isGeneric("stand<-")){
+ setGeneric("stand<-",
+ function(object, value, ...) standardGeneric("stand<-"))
+}
+if(!isGeneric("cent")){
+ setGeneric("cent",
+ function(object, ...) standardGeneric("cent"))
+}
+if(!isGeneric("cent<-")){
+ setGeneric("cent<-",
+ function(object, value, ...) standardGeneric("cent<-"))
+}
+
+if(!isGeneric("getweight")){
+ setGeneric("getweight",
+ function(Weight, neighbor, biastype, ...) standardGeneric("getweight"))
+}
+
+if(!isGeneric("minbiasweight")){
+ setGeneric("minbiasweight",
+ function(Weight, neighbor, biastype, ...) standardGeneric("minbiasweight"))
+}
+if(!isGeneric("generateIC.fct")){
+ setGeneric("generateIC.fct", function(neighbor, L2Fam, ...) standardGeneric("generateIC.fct"))
+}
Modified: pkg/RobAStBase/R/ContIC.R
===================================================================
--- pkg/RobAStBase/R/ContIC.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/R/ContIC.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -2,7 +2,8 @@
ContIC <- function(name, CallL2Fam = call("L2ParamFamily"),
Curve = EuclRandVarList(RealRandVariable(Map = c(function(x){x}), Domain = Reals())),
Risks, Infos, clip = Inf, cent = 0, stand = as.matrix(1),
- lowerCase = NULL, neighborRadius = 0){
+ lowerCase = NULL, neighborRadius = 0, w = new("HampelWeight"),
+ normtype = NormType(), biastype = symmetricBias()){
if(missing(name))
name <- "IC of contamination type"
if(missing(Risks))
@@ -35,6 +36,9 @@
contIC at stand <- stand
contIC at lowerCase <- lowerCase
contIC at neighborRadius <- neighborRadius
+ contIC at weight <- w
+ contIC at biastype <- biastype
+ contIC at normtype <- normtype
return(contIC)
# return(new("ContIC", name = name, Curve = Curve, Risks = Risks, Infos = Infos,
@@ -42,8 +46,8 @@
# lowerCase = lowerCase, neighborRadius = neighborRadius))
}
-## generate IC
-## for internal use only!
+
+
setMethod("generateIC", signature(neighbor = "ContNeighborhood",
L2Fam = "L2ParamFamily"),
function(neighbor, L2Fam, res){
@@ -51,40 +55,9 @@
a <- res$a
b <- res$b
d <- res$d
- nrvalues <- nrow(A)
- ICfct <- vector(mode = "list", length = nrvalues)
- Y <- as(A %*% L2Fam at L2deriv - a, "EuclRandVariable")
- if(nrvalues == 1){
- if(!is.null(d)){
- ICfct[[1]] <- function(x){
- ind <- (Y(x) != 0)
- b*(ind*Y(x)/(ind*absY(x) + (1-ind)) + zi*(1-ind)*d)
- }
- body(ICfct[[1]]) <- substitute(
- { ind <- (Y(x) != 0)
- b*(ind*Y(x)/(ind*absY(x) + (1-ind)) + zi*(1-ind)*d) },
- list(Y = Y at Map[[1]], absY = abs(Y)@Map[[1]], b = b, d = d,
- zi = sign(L2Fam at param@trafo)))
- }else{
- ICfct[[1]] <- function(x){ Y(x)*pmin(1, b/absY(x)) }
- body(ICfct[[1]]) <- substitute({ Y(x)*pmin(1, b/absY(x)) },
- list(Y = Y at Map[[1]], absY = abs(Y)@Map[[1]], b = b))
- }
- }else{
- absY <- sqrt(Y %*% Y)
- if(!is.null(d))
- for(i in 1:nrvalues){
- ICfct[[i]] <- function(x){ ind <- (Yi(x) != 0) ; ind*b*Yi(x)/absY(x) + (1-ind)*d }
- body(ICfct[[i]]) <- substitute({ ind <- (Yi(x) != 0) ; ind*b*Yi(x)/absY(x) + (1-ind)*d },
- list(Yi = Y at Map[[i]], absY = absY at Map[[1]], b = b, d = d[i]))
- }
- else
- for(i in 1:nrvalues){
- ICfct[[i]] <- function(x){ Yi(x)*pmin(1, b/absY(x)) }
- body(ICfct[[i]]) <- substitute({ Yi(x)*pmin(1, b/absY(x)) },
- list(Yi = Y at Map[[i]], absY = absY at Map[[1]], b = b))
- }
- }
+ normtype <- res$normtype
+ biastype <- res$biastype
+ w <- res$w
return(ContIC(
name = "IC of contamination type",
CallL2Fam = call("L2ParamFamily",
@@ -101,22 +74,27 @@
L2derivDistrSymm = L2Fam at L2derivDistrSymm,
FisherInfo = L2Fam at FisherInfo,
FisherInfo.fct = L2Fam at FisherInfo.fct),
- Curve = EuclRandVarList(EuclRandVariable(Map = ICfct, Domain = Y at Domain,
- Range = Y at Range)),
+ Curve = generateIC.fct(neighbor, L2Fam, res),
clip = b,
cent = a,
stand = A,
lowerCase = d,
+ w = w,
neighborRadius = neighbor at radius,
+ normtype = normtype,
+ biastype = biastype,
Risks = res$risk,
Infos = matrix(res$info, ncol = 2,
dimnames = list(character(0), c("method", "message")))))
})
## Access methods
+setMethod("biastype", "ContIC", function(object) object at biastype)
+setMethod("normtype", "ContIC", function(object) object at normtype)
setMethod("clip", "ContIC", function(object) object at clip)
setMethod("cent", "ContIC", function(object) object at cent)
setMethod("stand", "ContIC", function(object) object at stand)
+setMethod("weight", "ContIC", function(object) object at weight)
setMethod("lowerCase", "ContIC", function(object) object at lowerCase)
setMethod("neighborRadius", "ContIC", function(object) object at neighborRadius)
Modified: pkg/RobAStBase/R/IC.R
===================================================================
--- pkg/RobAStBase/R/IC.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/R/IC.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -20,7 +20,7 @@
stop("'Infos' must have two columns")
L2Fam <- eval(CallL2Fam)
- trafo <- L2Fam at param@trafo
+ trafo <- trafo(L2Fam at param)
if(nrow(trafo) != dimension(Curve))
stop("wrong dimension of 'Curve'")
if(dimension(Domain(L2Fam at L2deriv[[1]])) != dimension(Domain(Curve[[1]])))
@@ -50,7 +50,7 @@
setMethod("checkIC", signature(IC = "IC", L2Fam = "missing"),
function(IC, out = TRUE){
L2Fam <- eval(IC at CallL2Fam)
- trafo <- L2Fam at param@trafo
+ trafo <- trafo(L2Fam at param)
IC1 <- as(diag(nrow(trafo)) %*% IC at Curve, "EuclRandVariable")
cent <- E(L2Fam, IC1)
@@ -76,7 +76,7 @@
if(dimension(Domain(IC at Curve[[1]])) != dimension(img(D1)))
stop("dimension of 'Domain' of 'Curve' != dimension of 'img' of 'distribution' of 'L2Fam'")
- trafo <- L2Fam at param@trafo
+ trafo <- trafo(L2Fam at param)
IC1 <- as(diag(dimension(IC at Curve)) %*% IC at Curve, "EuclRandVariable")
cent <- E(D1, IC1)
if(out)
@@ -96,6 +96,7 @@
return(prec)
})
+
## evaluate IC
setMethod("evalIC", signature(IC = "IC", x = "numeric"),
function(IC, x){
@@ -124,3 +125,44 @@
else
return(evalRandVar(Curve, x)[,,1])
})
+
+## make some L2function a pIC at a model
+setMethod("makeIC", signature(IC = "IC", L2Fam = "missing"),
+ function(IC){
+ L2Fam <- eval(IC at CallL2Fam)
+ trafo <- trafo(L2Fam at param)
+ IC1 <- as(diag(nrow(trafo)) %*% IC at Curve, "EuclRandVariable")
+
+ cent <- E(L2Fam, IC1)
+
+ dims <- length(L2Fam at param)
+ L2deriv <- as(diag(dims) %*% L2Fam at L2deriv, "EuclRandVariable")
+ E1 <- matrix(E(L2Fam, as(IC1 %*% t(L2deriv),"EuclRandVariable")),
+ nrow(trafo),dims)
+ stand <- trafo %*% solve(E1)
+ return(IC(name = name(IC),
+ Curve = as(stand %*% (L2Fam at L2deriv - cent), "EuclRandVariable"),
+ Risks="", Infos="", CallL2Fam = call(L2Fam)))
+ })
+
+## make some L2function a pIC at a model
+setMethod("makeIC", signature(IC = "IC", L2Fam = "L2ParamFamily"),
+ function(IC, L2Fam){
+ D1 <- L2Fam at distribution
+ if(dimension(Domain(IC at Curve[[1]])) != dimension(img(D1)))
+ stop("dimension of 'Domain' of 'Curve' != dimension of 'img' of 'distribution' of 'L2Fam'")
+
+ trafo <- trafo(L2Fam at param)
+ IC1 <- as(diag(dimension(IC at Curve)) %*% IC at Curve, "EuclRandVariable")
+ cent <- E(D1, IC1)
+
+ dims <- length(L2Fam at param)
+ L2deriv <- as(diag(dims) %*% L2Fam at L2deriv, "EuclRandVariable")
+
+ E1 <- matrix(E(L2Fam, as(IC1 %*% t(L2deriv),"EuclRandVariable")),
+ nrow(trafo),dims)
+ stand <- trafo %*% solve(E1)
+ return(IC(name = name(IC),
+ Curve = as(stand %*% (L2Fam at L2deriv - cent), "EuclRandVariable"),
+ Risks="", Infos="", CallL2Fam = call(L2Fam)))
+ })
Modified: pkg/RobAStBase/R/TotalVarIC.R
===================================================================
--- pkg/RobAStBase/R/TotalVarIC.R 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/R/TotalVarIC.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -2,7 +2,7 @@
TotalVarIC <- function(name, CallL2Fam = call("L2ParamFamily"),
Curve = EuclRandVarList(RealRandVariable(Map = c(function(x){x}), Domain = Reals())),
Risks, Infos, clipLo = -Inf, clipUp = Inf, stand = as.matrix(1),
- lowerCase = NULL, neighborRadius = 0){
+ lowerCase = NULL, neighborRadius = 0, w = new("BdStWeight")){
if(missing(name))
name <- "IC of total variation type"
if(missing(Risks))
@@ -30,6 +30,7 @@
IC1 at stand <- stand
IC1 at lowerCase <- lowerCase
IC1 at neighborRadius <- neighborRadius
+ IC1 at weight <- w
return(IC1)
}
@@ -42,25 +43,9 @@
A <- res$A
a <- sign(as.vector(A))*res$a
b <- res$b
+ w <- res$w
ICfct <- vector(mode = "list", length = 1)
Y <- as(A %*% L2Fam at L2deriv, "EuclRandVariable")
- if(!is.null(res$d)){
- a <- as.vector(A)*a
- ICfct[[1]] <- function(x){ ind1 <- (Y(x) > 0); ind2 <- (Y(x) < 0)
- (a+b)*ind1 + a*ind2 }
- body(ICfct[[1]]) <- substitute({ ind1 <- (Y(x) > 0); ind2 <- (Y(x) < 0)
- (a+b)*ind1 + a*ind2 },
- list(Y = Y at Map[[1]], a = a, b = b))
- }else{
- if((a == -Inf)&&(b == Inf)){
- ICfct[[1]]<- function(x){ Y(x) }
- body(ICfct[[1]]) <- substitute({ Y(x) }, list(Y = Y at Map[[1]]))
- }else{
- ICfct[[1]] <- function(x){ min(max(a, Y(x)), a+b) }
- body(ICfct[[1]]) <- substitute({ min(max(a, Y(x)), a+b) },
- list(Y = Y at Map[[1]], a = a, b = b))
- }
- }
if((a == -Inf) & (b == Inf))
clipUp <- Inf
else
@@ -81,13 +66,13 @@
L2derivDistrSymm = L2Fam at L2derivDistrSymm,
FisherInfo = L2Fam at FisherInfo,
FisherInfo.fct = L2Fam at FisherInfo.fct),
- Curve = EuclRandVarList(EuclRandVariable(Map = ICfct, Domain = Y at Domain,
- Range = Y at Range)),
+ Curve = generateIC.fct(neighbor, L2Fam, res),
clipUp = clipUp,
clipLo = a,
stand = A,
lowerCase = res$d,
- neighborRadius = neighbor at radius,
+ weight = w,
+ neighborRadius = neighbor at radius,
Risks = res$risk,
Infos = matrix(res$info, ncol = 2,
dimnames = list(character(0), c("method", "message")))))
@@ -97,6 +82,7 @@
setMethod("clipLo", "TotalVarIC", function(object) object at clipLo)
setMethod("clipUp", "TotalVarIC", function(object) object at clipUp)
setMethod("stand", "TotalVarIC", function(object) object at stand)
+setMethod("weight", "TotalVarIC", function(object) object at weight)
setMethod("lowerCase", "TotalVarIC", function(object) object at lowerCase)
setMethod("neighborRadius", "TotalVarIC", function(object) object at neighborRadius)
Added: pkg/RobAStBase/R/Weights.R
===================================================================
--- pkg/RobAStBase/R/Weights.R (rev 0)
+++ pkg/RobAStBase/R/Weights.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,170 @@
+.eq <-function(x,y = 0*x, tol = 1e-7) abs(x-y)<tol
+
+setMethod("name", "RobWeight", function(object) object at name)
+setReplaceMethod("name", "RobWeight", function(object,value)
+ {object at name <- value; object})
+
+
+setMethod("clip", "BoundedWeight", function(object) object at clip)
+setReplaceMethod("clip", "BoundedWeight", function(object,value)
+ {object at clip <- value; object})
+
+
+setMethod("stand", "BdStWeight", function(object) object at stand)
+setReplaceMethod("stand", "BdStWeight", function(object,value)
+ {object at stand <- value; object})
+
+
+setMethod("cent", "HampelWeight", function(object) object at cent)
+setReplaceMethod("cent", "HampelWeight", function(object,value)
+ {object at cent <- value; object})
+
+setMethod("weight", "RobWeight", function(object) object at weight)
+
+setReplaceMethod("weight", "RobWeight", function(object,value)
+ {object at weight <- value; object})
+
+setMethod("getweight",
+ signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "BiasType"),# normtype = "NormType"),
+ function(Weight, neighbor, biastype, normtype)
+ {A <- stand(Weight)
+ b <- clip(Weight)
+ z <- cent(Weight)
+ function(x){
+ y <- A%*%(x-z)
+ norm0 <- fct(normtype)(y)
+ ind2 <- (norm0 < b/2)
+ norm1 <- ind2*b/2 + (1-ind2)*norm0
+ ind1 <- (norm0 < b)
+ ind1 + (1-ind1)*b/norm1
+ }
+ }
+ )
+
+
+setMethod("getweight",
+ signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "onesidedBias"),# norm = "missing"),
+ function(Weight, neighbor, biastype)
+ {A <- stand(Weight)
+ b <- clip(Weight)
+ z <- cent(Weight)
+ function(x){
+ y <- A*(x-z)*sign(biastype)
+ norm1 <- pmax(y,b/2)
+ pmin(1,b/norm1)
+ }
+ }
+ )
+
+setMethod(getweight,
+ signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "asymmetricBias"),# norm = "missing"),
+ function(Weight, neighbor, biastype)
+ {A <- stand(Weight)
+ b <- clip(Weight)
+ b1 <- b/nu(biastype)[1]
+ b2 <- b/nu(biastype)[2]
+ z <- cent(Weight)
+ function(x){
+ y <- A*(x-z)
+ norm1 <- pmax(-y,b1/2)
+ norm2 <- pmax(y,b2/2)
+ pmin(1,b1/norm1,b2/norm2)
+ }
+ }
+ )
+
+
+setMethod(getweight,
+ signature(Weight = "BdStWeight", neighbor = "TotalVarNeighborhood",
+ biastype = "BiasType"),# norm = "missing"),
+ function(Weight, neighbor, biastype)
+ {A <- stand(Weight)
+ b <- clip(Weight)
+ a <- A * cent(Weight)
+ b1 <- a
+ b2 <- b + a
+ function(x){
+ y <- A*x
+ norm1 <- pmax(-y,b1/2)
+ norm2 <- pmax(y,b2/2)
+ pmin(1,b1/norm1,b2/norm2)
+ }
+ }
+ )
+
+setMethod(minbiasweight,
+ signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "BiasType"),# norm = "NormType"),
+ function(Weight, neighbor, biastype, normtype)
+ {A <- stand(Weight)
+ b <- clip(Weight)
+ z <- cent(Weight)
+ function(x){
+ y <- A%*%(x-z)
+ norm0 <- fct(normtype)(y)
+ ind <- 1-.eq(norm0)
+ ind*b/(norm0+1-ind)
+ }
+ }
+ )
+
+
+setMethod(minbiasweight,
+ signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "asymmetricBias"),# norm = "missing"),
+ function(Weight, neighbor, biastype)
+ {A <- stand(Weight)
+ b <- clip(Weight)
+ b1 <- b/nu(biastype)[1]
+ b2 <- b/nu(biastype)[2]
+ z <- cent(Weight)
+ function(x){
+ y <- A*(x-z)
+ norm1 <- abs(y[y>0])
+ norm2 <- abs(y[y<0])
+ ind1 <- 1-.eq(norm1)
+ ind2 <- 1-.eq(norm2)
+ ind1*b1/(norm1+1-ind1) + ind2*b2/(norm2+1-ind2)
+ }
+ }
+ )
+
+setMethod(minbiasweight,
+ signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "onesidedBias"),# norm = "missing"),
+ function(Weight, neighbor, biastype)
+ {A <- stand(Weight)
+ b <- clip(Weight)
+ z <- cent(Weight)
+ function(x){
+ y <- A*(x-z)
+ norm1 <- abs(y[y * sign(biastype)>0])
+ ind1 <- 1-.eq(norm1)
+ ind1*b1/(norm1+1-ind1)
+ }
+ }
+ )
+
+
+setMethod(minbiasweight,
+ signature(Weight = "BdStWeight", neighbor = "TotalVarNeighborhood",
+ biastype = "BiasType"),# norm = "missing"),
+ function(Weight, neighbor, biastype)
+ {A <- stand(Weight)
+ b <- clip(Weight)
+ a <- A * cent(Weight)
+ b1 <- a
+ b2 <- b + a
+ function(x){
+ y <- A*x
+ norm1 <- abs(y[y>0])
+ norm2 <- abs(y[y<0])
+ ind1 <- 1-.eq(norm1)
+ ind2 <- 1-.eq(norm2)
+ ind1*b1/(norm1+1-ind1) + ind2*b2/(norm2+1-ind2)
+ }
+ }
+ )
Added: pkg/RobAStBase/R/control.R
===================================================================
--- pkg/RobAStBase/R/control.R (rev 0)
+++ pkg/RobAStBase/R/control.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,2 @@
+setMethod("name", "RobAStControl", function(object) object at name)
+setReplaceMethod("name", "RobAStControl", function(object,value) {object at name <- value; object})
Added: pkg/RobAStBase/R/generateICfct.R
===================================================================
--- pkg/RobAStBase/R/generateICfct.R (rev 0)
+++ pkg/RobAStBase/R/generateICfct.R 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,47 @@
+## generate IC
+## for internal use only!
+setMethod("generateIC.fct", signature(neighbor = "UncondNeighborhood", L2Fam = "L2ParamFamily"),
+ function(neighbor, L2Fam, res){
+ A <- res$A
+ a <- res$a
+ b <- res$b
+ d <- res$d
+ w <- weight(res$w)
+ nrvalues <- nrow(A)
+ ICfct <- vector(mode = "list", length = nrvalues)
+ Y <- as(A %*% L2Fam at L2deriv - a, "EuclRandVariable")
+ L <- as(L2Fam at L2deriv, "EuclRandVariable")
+ if(nrvalues == 1){
+ if(!is.null(d)){
+ ICfct[[1]] <- function(x){}
+ body(ICfct[[1]]) <- substitute(
+ { ind <- 1-.eq(Y(x))
+ b*(Y(x)*w(L(x)) + zi*(1-ind)*d) },
+ list(Y = Y at Map[[1]], L = L at Map[[1]], w = w, b = b, d = d,
+ zi = sign(L2Fam at param@trafo), .eq = .eq))
+ }else{
+ ICfct[[1]] <- function(x){}
+ body(ICfct[[1]]) <- substitute({ Y(x)*w(L(x)) },
+ list(Y = Y at Map[[1]], L = L at Map[[1]], w = w))
+ }
+ }else{
+ if(!is.null(d))
+ for(i in 1:nrvalues){
+ ICfct[[i]] <- function(x){}
+ body(ICfct[[i]]) <- substitute({ind <- 1-.eq(Y(x))
+ ind*b*Yi(x)*w(L(x)) + (1-ind)*d
+ },
+ list(Yi = Y at Map[[i]], L = L at Map[[1]], w = w,
+ b = b, d = d[i], .eq = .eq))
+ }
+ else
+ for(i in 1:nrvalues){
+ ICfct[[i]] <- function(x){}
+ body(ICfct[[i]]) <- substitute({ Yi(x)*w(L(x)) },
+ list(Yi = Y at Map[[i]], L = L at Map[[1]], w = w))
+ }
+ }
+ return(EuclRandVarList(EuclRandVariable(Map = ICfct, Domain = Y at Domain,
+ Range = Y at Range)))
+ })
+
Modified: pkg/RobAStBase/chm/00Index.html
===================================================================
--- pkg/RobAStBase/chm/00Index.html 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/00Index.html 2008-03-26 01:14:35 UTC (rev 79)
@@ -14,11 +14,13 @@
<p align="center">
<a href="#A">A</a>
+<a href="#B">B</a>
<a href="#C">C</a>
<a href="#D">D</a>
<a href="#E">E</a>
<a href="#F">F</a>
<a href="#G">G</a>
+<a href="#H">H</a>
<a href="#I">I</a>
<a href="#L">L</a>
<a href="#M">M</a>
@@ -29,6 +31,7 @@
<a href="#S">S</a>
<a href="#T">T</a>
<a href="#U">U</a>
+<a href="#W">W</a>
</p>
<table width="100%">
</table>
@@ -42,6 +45,17 @@
<td>Influence curve</td></tr>
</table>
+<h2><a name="B">-- B --</a></h2>
+
+<table width="100%">
+<tr><td width="25%"><a href="BdStWeight-class.html">BdStWeight-class</a></td>
+<td>Robust Weight classes for bounded, standardized weights</td></tr>
+<tr><td width="25%"><a href="ContIC-class.html">biastype,ContIC-method</a></td>
+<td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="BoundedWeight-class.html">BoundedWeight-class</a></td>
+<td>Robust Weight classes for bounded weights</td></tr>
+</table>
+
<h2><a name="C">-- C --</a></h2>
<table width="100%">
@@ -59,8 +73,12 @@
<td>Influence curve of contamination type</td></tr>
<tr><td width="25%"><a href="ContIC-class.html">cent,ContIC-method</a></td>
<td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="HampelWeight-class.html">cent,HampelWeight-method</a></td>
+<td>Robust Weight classes for weights of Hampel type</td></tr>
<tr><td width="25%"><a href="ContIC-class.html">cent<-,ContIC-method</a></td>
<td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="HampelWeight-class.html">cent<-,HampelWeight-method</a></td>
+<td>Robust Weight classes for weights of Hampel type</td></tr>
<tr><td width="25%"><a href="RobModel-class.html">center</a></td>
<td>Robust model</td></tr>
<tr><td width="25%"><a href="RobModel-class.html">center,RobModel-method</a></td>
@@ -75,8 +93,12 @@
<td>Influence curve</td></tr>
<tr><td width="25%"><a href="ContIC-class.html">clip</a></td>
<td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="BoundedWeight-class.html">clip,BoundedWeight-method</a></td>
+<td>Robust Weight classes for bounded weights</td></tr>
<tr><td width="25%"><a href="ContIC-class.html">clip,ContIC-method</a></td>
<td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="BoundedWeight-class.html">clip<-,BoundedWeight-method</a></td>
+<td>Robust Weight classes for bounded weights</td></tr>
<tr><td width="25%"><a href="ContIC-class.html">clip<-,ContIC-method</a></td>
<td>Influence curve of contamination type</td></tr>
<tr><td width="25%"><a href="TotalVarIC-class.html">clipLo</a></td>
@@ -141,8 +163,33 @@
<td>Influence curve of contamination type</td></tr>
<tr><td width="25%"><a href="TotalVarIC-class.html">generateIC,TotalVarNeighborhood,L2ParamFamily-method</a></td>
<td>Influence curve of total variation type</td></tr>
+<tr><td width="25%"><a href="generateICfct.html">generateIC.fct</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
+<tr><td width="25%"><a href="generateICfct.html">generateIC.fct,UncondNeighborhood,L2ParamFamily-method</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
+<tr><td width="25%"><a href="generateICfct.html">generateIC.fct-methods</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
+<tr><td width="25%"><a href="getweight.html">getweight</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">getweight,BdStWeight,TotalVarNeighborhood,BiasType-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">getweight,HampelWeight,ContNeighborhood,asymmetricBias-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">getweight,HampelWeight,ContNeighborhood,BiasType-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">getweight,HampelWeight,ContNeighborhood,onesidedBias-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">getweight-methods</a></td>
+<td>Generating weights</td></tr>
</table>
+<h2><a name="H">-- H --</a></h2>
+
+<table width="100%">
+<tr><td width="25%"><a href="HampelWeight-class.html">HampelWeight-class</a></td>
+<td>Robust Weight classes for weights of Hampel type</td></tr>
+</table>
+
<h2><a name="I">-- I --</a></h2>
<table width="100%">
@@ -194,8 +241,28 @@
<h2><a name="M">-- M --</a></h2>
<table width="100%">
+<tr><td width="25%"><a href="makeIC.html">makeIC</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
+<tr><td width="25%"><a href="makeIC.html">makeIC,IC,L2ParamFamily-method</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
+<tr><td width="25%"><a href="makeIC.html">makeIC,IC,missing-method</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
+<tr><td width="25%"><a href="makeIC.html">makeIC-methods</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
<tr><td width="25%"><a href="InfluenceCurve-class.html">Map,InfluenceCurve-method</a></td>
<td>Influence curve</td></tr>
+<tr><td width="25%"><a href="getweight.html">minbiasweight</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">minbiasweight,BdStWeight,TotalVarNeighborhood,BiasType-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">minbiasweight,HampelWeight,ContNeighborhood,asymmetricBias-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">minbiasweight,HampelWeight,ContNeighborhood,BiasType-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">minbiasweight,HampelWeight,ContNeighborhood,onesidedBias-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">minbiasweight-methods</a></td>
+<td>Generating weights</td></tr>
</table>
<h2><a name="N">-- N --</a></h2>
@@ -203,10 +270,18 @@
<table width="100%">
<tr><td width="25%"><a href="InfluenceCurve-class.html">name,InfluenceCurve-method</a></td>
<td>Influence curve</td></tr>
+<tr><td width="25%"><a href="RobAStControl-class.html">name,RobAStControl-method</a></td>
+<td>Control classes in package RobAStBase</td></tr>
<tr><td width="25%"><a href="RobModel-class.html">name,RobModel-method</a></td>
<td>Robust model</td></tr>
+<tr><td width="25%"><a href="RobWeight-class.html">name,RobWeight-method</a></td>
+<td>Robust Weight classes</td></tr>
<tr><td width="25%"><a href="InfluenceCurve-class.html">name<-,InfluenceCurve-method</a></td>
<td>Influence curve</td></tr>
+<tr><td width="25%"><a href="RobAStControl-class.html">name<-,RobAStControl-method</a></td>
+<td>Control classes in package RobAStBase</td></tr>
+<tr><td width="25%"><a href="RobWeight-class.html">name<-,RobWeight-method</a></td>
+<td>Robust Weight classes</td></tr>
<tr><td width="25%"><a href="RobModel-class.html">neighbor</a></td>
<td>Robust model</td></tr>
<tr><td width="25%"><a href="RobModel-class.html">neighbor,RobModel-method</a></td>
@@ -229,6 +304,8 @@
<td>Influence curve of contamination type</td></tr>
<tr><td width="25%"><a href="TotalVarIC-class.html">neighborRadius<-,TotalVarIC-method</a></td>
<td>Influence curve of total variation type</td></tr>
+<tr><td width="25%"><a href="ContIC-class.html">normtype,ContIC-method</a></td>
+<td>Influence curve of contamination type</td></tr>
</table>
<h2><a name="O">-- O --</a></h2>
@@ -276,8 +353,12 @@
<td>Influence curve</td></tr>
<tr><td width="25%"><a href="InfluenceCurve-class.html">Risks<-,InfluenceCurve-method</a></td>
<td>Influence curve</td></tr>
+<tr><td width="25%"><a href="RobAStControl-class.html">RobAStControl-class</a></td>
+<td>Control classes in package RobAStBase</td></tr>
<tr><td width="25%"><a href="RobModel-class.html">RobModel-class</a></td>
<td>Robust model</td></tr>
+<tr><td width="25%"><a href="RobWeight-class.html">RobWeight-class</a></td>
+<td>Robust Weight classes</td></tr>
</table>
<h2><a name="S">-- S --</a></h2>
@@ -299,10 +380,14 @@
<td>Influence curve of total variation type</td></tr>
<tr><td width="25%"><a href="ContIC-class.html">stand</a></td>
<td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="BdStWeight-class.html">stand,BdStWeight-method</a></td>
+<td>Robust Weight classes for bounded, standardized weights</td></tr>
<tr><td width="25%"><a href="ContIC-class.html">stand,ContIC-method</a></td>
<td>Influence curve of contamination type</td></tr>
<tr><td width="25%"><a href="TotalVarIC-class.html">stand,TotalVarIC-method</a></td>
<td>Influence curve of total variation type</td></tr>
+<tr><td width="25%"><a href="BdStWeight-class.html">stand<-,BdStWeight-method</a></td>
+<td>Robust Weight classes for bounded, standardized weights</td></tr>
<tr><td width="25%"><a href="ContIC-class.html">stand<-,ContIC-method</a></td>
<td>Influence curve of contamination type</td></tr>
<tr><td width="25%"><a href="TotalVarIC-class.html">stand<-,TotalVarIC-method</a></td>
@@ -330,4 +415,19 @@
<tr><td width="25%"><a href="UncondNeighborhood-class.html">UncondNeighborhood-class</a></td>
<td>Unconditional neighborhood</td></tr>
</table>
+
+<h2><a name="W">-- W --</a></h2>
+
+<table width="100%">
+<tr><td width="25%"><a href="RobWeight-class.html">weight</a></td>
+<td>Robust Weight classes</td></tr>
+<tr><td width="25%"><a href="ContIC-class.html">weight,ContIC-method</a></td>
+<td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="RobWeight-class.html">weight,RobWeight-method</a></td>
+<td>Robust Weight classes</td></tr>
+<tr><td width="25%"><a href="TotalVarIC-class.html">weight,TotalVarIC-method</a></td>
+<td>Influence curve of total variation type</td></tr>
+<tr><td width="25%"><a href="RobWeight-class.html">weight<-,RobWeight-method</a></td>
+<td>Robust Weight classes</td></tr>
+</table>
</body></html>
Added: pkg/RobAStBase/chm/BdStWeight-class.html
===================================================================
--- pkg/RobAStBase/chm/BdStWeight-class.html (rev 0)
+++ pkg/RobAStBase/chm/BdStWeight-class.html 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,103 @@
+<html><head><title>Robust Weight classes for bounded, standardized weights</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>BdStWeight-class(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R: BdStWeight-class">
+<param name="keyword" value="R: stand,BdStWeight-method">
+<param name="keyword" value="R: stand<-,BdStWeight-method">
+<param name="keyword" value=" Robust Weight classes for bounded standardized weights">
+</object>
+
+
+<h2>Robust Weight classes for bounded standardized weights</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Classes for bounded, robust, standardized weights.
+</p>
+
+
+<h3>Objects from the Class</h3>
+
+<p>
+Objects can be created by calls of the form <code>new("BdStWeight", ...)</code>;
+to fill slot <code>weight</code>, you will use the generating functions
+<code><a href="getweight.html">getweight</a></code> and <code><a href="getweight.html">minbiasweight</a></code>.
+</p>
+
+
+<h3>Slots</h3>
+
+<dl>
+<dt><code>name</code>:</dt><dd>Object of class <code>"character"</code>; inherited from class <code>RobWeight</code>. </dd>
+<dt><code>weight</code>:</dt><dd>Object of class <code>"function"</code> — the weight function; inherited from class <code>RobWeight</code>.</dd>
+<dt><code>clip</code>:</dt><dd>Object of class <code>"numeric"</code> — clipping bound(s); inherited from class <code>BoundedWeight</code>.</dd>
+<dt><code>stand</code>:</dt><dd>Object of class <code>"matrix"</code> — standardization.</dd>
+</dl>
+
+<h3>Extends</h3>
+
+<p>
+Class <code>"RobWeight"</code>, via class <code>"BoundedWeight"</code>.
+Class <code>"BoundedWeight"</code>, directly.
+</p>
+
+
+<h3>Methods</h3>
+
+<dl>
+<dt>stand</dt><dd><code>signature(object = "BdStWeight")</code>:
+accessor function for slot <code>stand</code>. </dd>
+
+
+<dt>stand<-</dt><dd><code>signature(object = "BdStWeight", value = "matrix")</code>:
+replacement function for slot <code>stand</code>. </dd>
+
+<p>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Hampel et al. (1986) <EM>Robust Statistics</EM>.
+The Approach Based on Influence Functions. New York: Wiley.
+</p>
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>.
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a href="BoundedWeight-class.html">BoundedWeight-class</a></code>, <code><a href="RobWeight-class.html">RobWeight-class</a></code>,
+<code><a href="IC.html">IC</a></code>, <code><a href="InfluenceCurve-class.html">InfluenceCurve-class</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>
Added: pkg/RobAStBase/chm/BoundedWeight-class.html
===================================================================
--- pkg/RobAStBase/chm/BoundedWeight-class.html (rev 0)
+++ pkg/RobAStBase/chm/BoundedWeight-class.html 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,98 @@
+<html><head><title>Robust Weight classes for bounded weights</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>BoundedWeight-class(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R: BoundedWeight-class">
+<param name="keyword" value="R: clip,BoundedWeight-method">
+<param name="keyword" value="R: clip<-,BoundedWeight-method">
+<param name="keyword" value=" Robust Weight classes for bounded weights">
+</object>
+
+
+<h2>Robust Weight classes for bounded weights</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Classes for bounded, robust weights.
+</p>
+
+
+<h3>Objects from the Class</h3>
+
+<p>
+Objects can be created by calls of the form <code>new("BoundedWeight", ...)</code>.
+</p>
+
+
+<h3>Slots</h3>
+
+<dl>
+<dt><code>name</code>:</dt><dd>Object of class <code>"character"</code>; inherited from class <code>RobWeight</code>. </dd>
+<dt><code>weight</code>:</dt><dd>Object of class <code>"function"</code> — the weight function; inherited from class <code>RobWeight</code>.</dd>
+<dt><code>clip</code>:</dt><dd>Object of class <code>"numeric"</code> — clipping bound(s).</dd>
+</dl>
+
+<h3>Extends</h3>
+
+<p>
+Class <code>"RobWeight"</code>, directly.
+</p>
+
+
+<h3>Methods</h3>
+
+<dl>
+<dt>clip</dt><dd><code>signature(object = "BoundedWeight")</code>:
+accessor function for slot <code>clip</code>. </dd>
+
+
+<dt>clip<-</dt><dd><code>signature(object = "BoundedWeight", value = "numeric")</code>:
+replacement function for slot <code>clip</code>. </dd>
+
+<p>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Hampel et al. (1986) <EM>Robust Statistics</EM>.
+The Approach Based on Influence Functions. New York: Wiley.
+</p>
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>.
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a href="RobWeight-class.html">RobWeight-class</a></code>, <code><a href="IC.html">IC</a></code>, <code><a href="InfluenceCurve-class.html">InfluenceCurve-class</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>
Modified: pkg/RobAStBase/chm/ContIC-class.html
===================================================================
--- pkg/RobAStBase/chm/ContIC-class.html 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/ContIC-class.html 2008-03-26 01:14:35 UTC (rev 79)
@@ -27,6 +27,9 @@
<param name="keyword" value="R: stand,ContIC-method">
<param name="keyword" value="R: stand<-">
<param name="keyword" value="R: stand<-,ContIC-method">
+<param name="keyword" value="R: weight,ContIC-method">
+<param name="keyword" value="R: biastype,ContIC-method">
+<param name="keyword" value="R: normtype,ContIC-method">
<param name="keyword" value="R: generateIC,ContNeighborhood,L2ParamFamily-method">
<param name="keyword" value="R: show,ContIC-method">
<param name="keyword" value=" Influence curve of contamination type">
@@ -93,6 +96,14 @@
standardizing matrix. </dd>
+<dt><code>weight</code>:</dt><dd>object of class <code>"HampelWeight"</code>:
+weight function </dd>
+<dt><code>biastype</code>:</dt><dd>object of class <code>"BiasType"</code>:
+bias type (symmetric/onsided/asymmetric) </dd>
+<dt><code>normtype</code>:</dt><dd>object of class <code>"NormType"</code>:
+norm type (Euclidean, information/self-standardized)</dd>
+
+
<dt><code>lowerCase</code>:</dt><dd>object of class <code>"OptionalNumeric"</code>:
optional constant for lower case solution. </dd>
@@ -141,6 +152,12 @@
replacement function for slot <code>stand</code>. </dd>
+<dt>weight</dt><dd><code>signature(object = "ContIC")</code>:
+accessor function for slot <code>weight</code>. </dd>
+<dt>biastype</dt><dd><code>signature(object = "ContIC")</code>:
+accessor function for slot <code>biastype</code>. </dd>
+<dt>normtype</dt><dd><code>signature(object = "ContIC")</code>:
+accessor function for slot <code>normtype</code>. </dd>
<dt>lowerCase</dt><dd><code>signature(object = "ContIC")</code>:
accessor function for slot <code>lowerCase</code>. </dd>
Modified: pkg/RobAStBase/chm/ContIC.html
===================================================================
--- pkg/RobAStBase/chm/ContIC.html 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/ContIC.html 2008-03-26 01:14:35 UTC (rev 79)
@@ -33,7 +33,8 @@
Curve = EuclRandVarList(RealRandVariable(Map = c(function(x){x}),
Domain = Reals())),
Risks, Infos, clip = Inf, cent = 0, stand = as.matrix(1),
- lowerCase = NULL, neighborRadius = 0)
+ lowerCase = NULL, neighborRadius = 0, w = new("HampelWeight"),
+ normtype = NormType(), biastype = symmetricBias())
</pre>
@@ -68,6 +69,9 @@
<tr valign="top"><td><code>stand</code></td>
<td>
matrix: standardizing matrix </td></tr>
+<tr valign="top"><td><code>w</code></td>
+<td>
+HampelWeight: weight object</td></tr>
<tr valign="top"><td><code>lowerCase</code></td>
<td>
optional constant for lower case solution. </td></tr>
@@ -75,6 +79,12 @@
<td>
radius of the corresponding (unconditional)
contamination neighborhood. </td></tr>
+<tr valign="top"><td><code>biastype</code></td>
+<td>
+BiasType: type of the bias</td></tr>
+<tr valign="top"><td><code>normtype</code></td>
+<td>
+NormType: type of the norm</td></tr>
</table>
<h3>Value</h3>
Added: pkg/RobAStBase/chm/HampelWeight-class.html
===================================================================
--- pkg/RobAStBase/chm/HampelWeight-class.html (rev 0)
+++ pkg/RobAStBase/chm/HampelWeight-class.html 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,106 @@
+<html><head><title>Robust Weight classes for weights of Hampel type</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>HampelWeight-class(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R: HampelWeight-class">
+<param name="keyword" value="R: cent,HampelWeight-method">
+<param name="keyword" value="R: cent<-,HampelWeight-method">
+<param name="keyword" value=" Robust Weight classes for weights of Hampel type">
+</object>
+
+
+<h2>Robust Weight classes for weights of Hampel type</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Classes for weights of Hampel type.
+</p>
+
+
+<h3>Objects from the Class</h3>
+
+<p>
+Objects can be created by calls of the form <code>new("HampelWeight", ...)</code>;
+to fill slot <code>weight</code>, you will use the generating functions
+<code><a href="getweight.html">getweight</a></code> and <code><a href="getweight.html">minbiasweight</a></code>.
+</p>
+
+
+<h3>Slots</h3>
+
+<dl>
+<dt><code>name</code>:</dt><dd>Object of class <code>"character"</code>; inherited from class <code>RobWeight</code>. </dd>
+<dt><code>weight</code>:</dt><dd>Object of class <code>"function"</code> — the weight function; inherited from class <code>RobWeight</code>.</dd>
+<dt><code>clip</code>:</dt><dd>Object of class <code>"numeric"</code> — clipping bound(s); inherited from class <code>BoundedWeight</code>.</dd>
+<dt><code>stand</code>:</dt><dd>Object of class <code>"matrix"</code> — standardization; inherited from class <code>BdStWeight</code>.</dd>
+<dt><code>cent</code>:</dt><dd>Object of class <code>"numeric"</code> — centering.</dd>
+</dl>
+
+<h3>Extends</h3>
+
+<p>
+Class <code>"RobWeight"</code>, via class <code>"BoundedWeight"</code>.
+Class <code>"BoundedWeight"</code>, via class <code>"BdStWeight"</code>.
+Class <code>"BdStWeight"</code>, directly.
+</p>
+
+
+<h3>Methods</h3>
+
+<dl>
+<dt>cent</dt><dd><code>signature(object = "HampelWeight")</code>:
+accessor function for slot <code>cent</code>. </dd>
+
+
+<dt>cent<-</dt><dd><code>signature(object = "HampelWeight", value = "matrix")</code>:
+replacement function for slot <code>cent</code>. </dd>
+
+<p>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Hampel et al. (1986) <EM>Robust Statistics</EM>.
+The Approach Based on Influence Functions. New York: Wiley.
+</p>
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>.
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a href="BdStWeight-class.html">BdStWeight-class</a></code>,
+<code><a href="BoundedWeight-class.html">BoundedWeight-class</a></code>, <code><a href="RobWeight-class.html">RobWeight-class</a></code>,
+<code><a href="IC.html">IC</a></code>, <code><a href="InfluenceCurve-class.html">InfluenceCurve-class</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>
Modified: pkg/RobAStBase/chm/RobAStBase.chm
===================================================================
(Binary files differ)
Modified: pkg/RobAStBase/chm/RobAStBase.hhp
===================================================================
--- pkg/RobAStBase/chm/RobAStBase.hhp 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/RobAStBase.hhp 2008-03-26 01:14:35 UTC (rev 79)
@@ -12,12 +12,15 @@
[FILES]
00Index.html
+BdStWeight-class.html
+BoundedWeight-class.html
ContIC-class.html
ContIC.html
ContNeighborhood-class.html
ContNeighborhood.html
FixRobModel-class.html
FixRobModel.html
+HampelWeight-class.html
IC-class.html
IC.html
InfRobModel-class.html
@@ -25,7 +28,9 @@
InfluenceCurve-class.html
InfluenceCurve.html
Neighborhood-class.html
+RobAStControl-class.html
RobModel-class.html
+RobWeight-class.html
TotalVarIC-class.html
TotalVarIC.html
TotalVarNeighborhood-class.html
@@ -34,7 +39,10 @@
checkIC.html
evalIC.html
generateIC.html
+generateICfct.html
+getweight.html
infoPlot.html
locMEstimator.html
+makeIC.html
oneStepEstimator.html
optIC.html
Modified: pkg/RobAStBase/chm/RobAStBase.toc
===================================================================
--- pkg/RobAStBase/chm/RobAStBase.toc 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/RobAStBase.toc 2008-03-26 01:14:35 UTC (rev 79)
@@ -26,6 +26,18 @@
<param name="Local" value="InfluenceCurve-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="BdStWeight-class">
+<param name="Local" value="BdStWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="biastype,ContIC-method">
+<param name="Local" value="ContIC-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="BoundedWeight-class">
+<param name="Local" value="BoundedWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="CallL2Fam">
<param name="Local" value="IC-class.html">
</OBJECT>
@@ -58,6 +70,10 @@
<param name="Local" value="ContIC-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="cent,HampelWeight-method">
+<param name="Local" value="HampelWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="cent<-">
<param name="Local" value="ContIC-class.html">
</OBJECT>
@@ -66,6 +82,10 @@
<param name="Local" value="ContIC-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="cent<-,HampelWeight-method">
+<param name="Local" value="HampelWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="center">
<param name="Local" value="RobModel-class.html">
</OBJECT>
@@ -98,6 +118,10 @@
<param name="Local" value="ContIC-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="clip,BoundedWeight-method">
+<param name="Local" value="BoundedWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="clip,ContIC-method">
<param name="Local" value="ContIC-class.html">
</OBJECT>
@@ -106,6 +130,10 @@
<param name="Local" value="ContIC-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="clip<-,BoundedWeight-method">
+<param name="Local" value="BoundedWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="clip<-,ContIC-method">
<param name="Local" value="ContIC-class.html">
</OBJECT>
@@ -202,6 +230,46 @@
<param name="Local" value="TotalVarIC-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="generateIC.fct">
+<param name="Local" value="generateICfct.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="generateIC.fct,UncondNeighborhood,L2ParamFamily-method">
+<param name="Local" value="generateICfct.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="generateIC.fct-methods">
+<param name="Local" value="generateICfct.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="getweight">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="getweight,BdStWeight,TotalVarNeighborhood,BiasType-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="getweight,HampelWeight,ContNeighborhood,asymmetricBias-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="getweight,HampelWeight,ContNeighborhood,BiasType-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="getweight,HampelWeight,ContNeighborhood,onesidedBias-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="getweight-methods">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="HampelWeight-class">
+<param name="Local" value="HampelWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="IC">
<param name="Local" value="IC.html">
</OBJECT>
@@ -286,22 +354,78 @@
<param name="Local" value="TotalVarIC-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="makeIC">
+<param name="Local" value="makeIC.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="makeIC,IC,L2ParamFamily-method">
+<param name="Local" value="makeIC.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="makeIC,IC,missing-method">
+<param name="Local" value="makeIC.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="makeIC-methods">
+<param name="Local" value="makeIC.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Map,InfluenceCurve-method">
<param name="Local" value="InfluenceCurve-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="minbiasweight">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="minbiasweight,BdStWeight,TotalVarNeighborhood,BiasType-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="minbiasweight,HampelWeight,ContNeighborhood,asymmetricBias-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="minbiasweight,HampelWeight,ContNeighborhood,BiasType-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="minbiasweight,HampelWeight,ContNeighborhood,onesidedBias-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="minbiasweight-methods">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="name,InfluenceCurve-method">
<param name="Local" value="InfluenceCurve-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="name,RobAStControl-method">
+<param name="Local" value="RobAStControl-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="name,RobModel-method">
<param name="Local" value="RobModel-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="name,RobWeight-method">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="name<-,InfluenceCurve-method">
<param name="Local" value="InfluenceCurve-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="name<-,RobAStControl-method">
+<param name="Local" value="RobAStControl-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="name<-,RobWeight-method">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="neighbor">
<param name="Local" value="RobModel-class.html">
</OBJECT>
@@ -354,6 +478,10 @@
<param name="Local" value="TotalVarIC-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="normtype,ContIC-method">
+<param name="Local" value="ContIC-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="oneStepEstimator">
<param name="Local" value="oneStepEstimator.html">
</OBJECT>
@@ -422,10 +550,18 @@
<param name="Local" value="InfluenceCurve-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="RobAStControl-class">
+<param name="Local" value="RobAStControl-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="RobModel-class">
<param name="Local" value="RobModel-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="RobWeight-class">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="show,ContIC-method">
<param name="Local" value="ContIC-class.html">
</OBJECT>
@@ -458,6 +594,10 @@
<param name="Local" value="ContIC-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="stand,BdStWeight-method">
+<param name="Local" value="BdStWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="stand,ContIC-method">
<param name="Local" value="ContIC-class.html">
</OBJECT>
@@ -470,6 +610,10 @@
<param name="Local" value="ContIC-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="stand<-,BdStWeight-method">
+<param name="Local" value="BdStWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="stand<-,ContIC-method">
<param name="Local" value="ContIC-class.html">
</OBJECT>
@@ -501,6 +645,30 @@
<param name="Name" value="UncondNeighborhood-class">
<param name="Local" value="UncondNeighborhood-class.html">
</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="weight">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="weight,ContIC-method">
+<param name="Local" value="ContIC-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="weight,RobWeight-method">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="weight,TotalVarIC-method">
+<param name="Local" value="TotalVarIC-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="weight<-">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="weight<-,RobWeight-method">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
</UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Package RobAStBase: Titles">
@@ -511,6 +679,10 @@
<param name="Local" value="ContNeighborhood-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Control classes in package RobAStBase">
+<param name="Local" value="RobAStControl-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Generating function for ContIC-class">
<param name="Local" value="ContIC.html">
</OBJECT>
@@ -543,6 +715,10 @@
<param name="Local" value="TotalVarNeighborhood.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Generating weights">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Generic Function for Checking ICs">
<param name="Local" value="checkIC.html">
</OBJECT>
@@ -551,6 +727,10 @@
<param name="Local" value="evalIC.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Generic Function for making ICs consistent at a possibly different model">
+<param name="Local" value="makeIC.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Generic function for the computation of location M estimators">
<param name="Local" value="locMEstimator.html">
</OBJECT>
@@ -599,6 +779,22 @@
<param name="Local" value="InfRobModel-class.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Robust Weight classes">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Robust Weight classes for bounded weights">
+<param name="Local" value="BoundedWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Robust Weight classes for bounded, standardized weights">
+<param name="Local" value="BdStWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Robust Weight classes for weights of Hampel type">
+<param name="Local" value="HampelWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Total variation neighborhood">
<param name="Local" value="TotalVarNeighborhood-class.html">
</OBJECT>
Added: pkg/RobAStBase/chm/RobAStControl-class.html
===================================================================
--- pkg/RobAStBase/chm/RobAStControl-class.html (rev 0)
+++ pkg/RobAStBase/chm/RobAStControl-class.html 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,84 @@
+<html><head><title>Control classes in package RobAStBase</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>RobAStControl-class(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R: RobAStControl-class">
+<param name="keyword" value="R: name,RobAStControl-method">
+<param name="keyword" value="R: name<-,RobAStControl-method">
+<param name="keyword" value=" Control classes in package RobAStBase">
+</object>
+
+
+<h2>Control classes in package RobAStBase</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Control classes in package <span class="pkg">RobAStBase</span>.
+</p>
+
+
+<h3>Objects from the Class</h3>
+
+
+
+
+<h3>Slots</h3>
+
+
+
+
+<h3>Methods</h3>
+
+<dl>
+<dt>name</dt><dd><code>signature(object = "RobAStControl")</code>:
+accessor function for slot <code>name</code>. </dd>
+
+
+<dt>name<-</dt><dd><code>signature(object = "RobAStControl", value = "character")</code>:
+replacement function for slot <code>name</code>. </dd>
+
+<p>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Hampel et al. (1986) <EM>Robust Statistics</EM>.
+The Approach Based on Influence Functions. New York: Wiley.
+</p>
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>.
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>
Added: pkg/RobAStBase/chm/RobWeight-class.html
===================================================================
--- pkg/RobAStBase/chm/RobWeight-class.html (rev 0)
+++ pkg/RobAStBase/chm/RobWeight-class.html 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,102 @@
+<html><head><title>Robust Weight classes</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>RobWeight-class(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R: RobWeight-class">
+<param name="keyword" value="R: name,RobWeight-method">
+<param name="keyword" value="R: weight,RobWeight-method">
+<param name="keyword" value="R: name<-,RobWeight-method">
+<param name="keyword" value="R: weight<-,RobWeight-method">
+<param name="keyword" value="R: weight<-">
+<param name="keyword" value="R: weight">
+<param name="keyword" value=" Robust Weight classes">
+</object>
+
+
+<h2>Robust Weight classes</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Classes for robust weights.
+</p>
+
+
+<h3>Objects from the Class</h3>
+
+<p>
+Objects can be created by calls of the form <code>new("RobWeight", ...)</code>.
+</p>
+
+
+<h3>Slots</h3>
+
+<dl>
+<dt><code>name</code>:</dt><dd>Object of class <code>"character"</code>. </dd>
+<dt><code>weight</code>:</dt><dd>Object of class <code>"function"</code> — the weight function.</dd>
+</dl>
+
+<h3>Methods</h3>
+
+<dl>
+<dt>name</dt><dd><code>signature(object = "RobWeight")</code>:
+accessor function for slot <code>name</code>. </dd>
+
+
+<dt>name<-</dt><dd><code>signature(object = "RobWeight", value = "character")</code>:
+replacement function for slot <code>name</code>. </dd>
+
+
+<dt>weight</dt><dd><code>signature(object = "RobWeight")</code>:
+accessor function for slot <code>name</code>. </dd>
+
+
+<dt>weight<-</dt><dd><code>signature(object = "RobWeight", value = "function")</code>:
+replacement function for slot <code>weight</code>. </dd>
+
+<p>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Hampel et al. (1986) <EM>Robust Statistics</EM>.
+The Approach Based on Influence Functions. New York: Wiley.
+</p>
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>.
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a href="InfluenceCurve-class.html">InfluenceCurve-class</a></code>, <code><a href="IC.html">IC</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>
Modified: pkg/RobAStBase/chm/TotalVarIC-class.html
===================================================================
--- pkg/RobAStBase/chm/TotalVarIC-class.html 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/TotalVarIC-class.html 2008-03-26 01:14:35 UTC (rev 79)
@@ -22,6 +22,7 @@
<param name="keyword" value="R: show,TotalVarIC-method">
<param name="keyword" value="R: stand,TotalVarIC-method">
<param name="keyword" value="R: stand<-,TotalVarIC-method">
+<param name="keyword" value="R: weight,TotalVarIC-method">
<param name="keyword" value="R: generateIC,TotalVarNeighborhood,L2ParamFamily-method">
<param name="keyword" value=" Influence curve of total variation type">
</object>
@@ -87,6 +88,10 @@
standardizing matrix. </dd>
+<dt><code>weight</code>:</dt><dd>object of class <code>"BdStWeight"</code>:
+weight function </dd>
+
+
<dt><code>neighborRadius</code>:</dt><dd>object of class <code>"numeric"</code>:
radius of the corresponding (unconditional) contamination
neighborhood. </dd>
@@ -131,6 +136,10 @@
replacement function for slot <code>stand</code>. </dd>
+<dt>weight</dt><dd><code>signature(object = "TotalVarIC")</code>:
+accessor function for slot <code>weight</code>. </dd>
+
+
<dt>neighborRadius</dt><dd><code>signature(object = "TotalVarIC")</code>:
accessor function for slot <code>neighborRadius</code>. </dd>
Modified: pkg/RobAStBase/chm/TotalVarIC.html
===================================================================
--- pkg/RobAStBase/chm/TotalVarIC.html 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/TotalVarIC.html 2008-03-26 01:14:35 UTC (rev 79)
@@ -33,7 +33,7 @@
Curve = EuclRandVarList(RealRandVariable(Map = c(function(x) {x}),
Domain = Reals())),
Risks, Infos, clipLo = -Inf, clipUp = Inf, stand = as.matrix(1),
- lowerCase = NULL, neighborRadius = 0)
+ lowerCase = NULL, neighborRadius = 0, w = new("BdStWeight"))
</pre>
@@ -68,6 +68,9 @@
<tr valign="top"><td><code>stand</code></td>
<td>
matrix: standardizing matrix </td></tr>
+<tr valign="top"><td><code>w</code></td>
+<td>
+BdStWeight: weight object</td></tr>
<tr valign="top"><td><code>lowerCase</code></td>
<td>
optional constant for lower case solution. </td></tr>
Added: pkg/RobAStBase/chm/generateICfct.html
===================================================================
--- pkg/RobAStBase/chm/generateICfct.html (rev 0)
+++ pkg/RobAStBase/chm/generateICfct.html 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,100 @@
+<html><head><title>Generic Function for making ICs consistent at a possibly different model</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>generateIC.fct-methods(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R: generateIC.fct">
+<param name="keyword" value="R: generateIC.fct-methods">
+<param name="keyword" value="R: generateIC.fct,UncondNeighborhood,L2ParamFamily-method">
+<param name="keyword" value=" Generic Function for making ICs consistent at a possibly different model">
+</object>
+
+
+<h2>Generic Function for making ICs consistent at a possibly different model</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Generic function for providing centering and Fisher consistency of ICs.
+</p>
+
+
+<h3>Usage</h3>
+
+<pre>
+generateIC.fct(neighbor, L2Fam, ...)
+</pre>
+
+
+<h3>Arguments</h3>
+
+<table summary="R argblock">
+<tr valign="top"><td><code>neighbor</code></td>
+<td>
+object of class <code>"UncondNeighborhood"</code> </td></tr>
+<tr valign="top"><td><code>L2Fam</code></td>
+<td>
+L2-differentiable family of probability measures; may be missing. </td></tr>
+<tr valign="top"><td><code>...</code></td>
+<td>
+additional parameters </td></tr>
+</table>
+
+<h3>Value</h3>
+
+<p>
+An IC at the model.</p>
+
+<h3>Methods</h3>
+
+<dl>
+<dt>generateIC.fct</dt><dd><code>signature(IC = "UncondNeighborhood", L2Fam = "L2ParamFamily"</code>: ...</dd>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>.
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a onclick="findlink('distrMod', 'L2ParamFamily-class.html')" style="text-decoration: underline; color: blue; cursor: hand">L2ParamFamily-class</a></code>, <code><a href="IC-class.html">IC-class</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+<script Language="JScript">
+function findlink(pkg, fn) {
+var Y, link;
+Y = location.href.lastIndexOf("\\") + 1;
+link = location.href.substring(0, Y);
+link = link + "../../" + pkg + "/chtml/" + pkg + ".chm::/" + fn;
+location.href = link;
+}
+</script>
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>
Added: pkg/RobAStBase/chm/getweight.html
===================================================================
--- pkg/RobAStBase/chm/getweight.html (rev 0)
+++ pkg/RobAStBase/chm/getweight.html 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,145 @@
+<html><head><title>Generating weights</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>getweight-methods(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R: getweight-methods">
+<param name="keyword" value="R: getweight">
+<param name="keyword" value="R: getweight,HampelWeight,ContNeighborhood,BiasType-method">
+<param name="keyword" value="R: getweight,HampelWeight,ContNeighborhood,onesidedBias-method">
+<param name="keyword" value="R: getweight,HampelWeight,ContNeighborhood,asymmetricBias-method">
+<param name="keyword" value="R: getweight,BdStWeight,TotalVarNeighborhood,BiasType-method">
+<param name="keyword" value="R: minbiasweight-methods">
+<param name="keyword" value="R: minbiasweight">
+<param name="keyword" value="R: minbiasweight,HampelWeight,ContNeighborhood,BiasType-method">
+<param name="keyword" value="R: minbiasweight,HampelWeight,ContNeighborhood,onesidedBias-method">
+<param name="keyword" value="R: minbiasweight,HampelWeight,ContNeighborhood,asymmetricBias-method">
+<param name="keyword" value="R: minbiasweight,BdStWeight,TotalVarNeighborhood,BiasType-method">
+<param name="keyword" value=" Generating weights">
+</object>
+
+
+<h2>Generating weights</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Generates weight functions of Hampel / BdSt type for different bias and norm types.
+</p>
+
+
+<h3>Usage</h3>
+
+<pre>
+getweight(Weight, neighbor, biastype, ...)
+minbiasweight(Weight, neighbor, biastype, ...)
+## S4 method for signature 'HampelWeight, ContNeighborhood,
+## BiasType':
+getweight(Weight, neighbor, biastype, normtype)
+## S4 method for signature 'HampelWeight, ContNeighborhood,
+## BiasType':
+minbiasweight(Weight, neighbor, biastype, normtype)
+</pre>
+
+
+<h3>Arguments</h3>
+
+<table summary="R argblock">
+<tr valign="top"><td><code>...</code></td>
+<td>
+additional arguments </td></tr>
+<tr valign="top"><td><code>Weight</code></td>
+<td>
+Object of class <code>"RobWeight"</code>. </td></tr>
+<tr valign="top"><td><code>neighbor</code></td>
+<td>
+Object of class <code>"Neighborhood"</code>. </td></tr>
+<tr valign="top"><td><code>biastype</code></td>
+<td>
+Object of class <code>"BiasType"</code>. </td></tr>
+<tr valign="top"><td><code>normtype</code></td>
+<td>
+Object of class <code>"NormType"</code> — only for signature <code>HampelWeight,ContNeighborhood,BiasType</code>. </td></tr>
+</table>
+
+<h3>Details</h3>
+
+<p>
+These functions generate the weight function in slot <code>weight</code> in a corresp.
+object of class <code>RobWeight</code> and descendants.
+</p>
+
+
+<h3>Value</h3>
+
+<p>
+Object of class <code>"HampelWeight"</code> resp. <code>"BdStWeight"</code></p>
+
+<h3>Methods</h3>
+
+<dl>
+<dt>getweight</dt><dd><code>signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "BiasType"</code></dd> with additional argument <code>biastype</code> of class
+<code>"BiasType"</code>: produces weight slot...</dl>
+<dt>minbiasweight</dt><dd><code>signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "BiasType"</code> with additional argument <code>biastype</code> of class
+<code>"BiasType"</code>: produces weight slot...</dd>
+<dt>getweight</dt><dd><code>signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "onesidedBias"</code>: produces weight slot...</dd>
+<dt>minbiasweight</dt><dd><code>signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "onesidedBias"</code>: produces weight slot...</dd>
+<dt>getweight</dt><dd><code>signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "asymmetricBias"</code>: produces weight slot...</dd>
+<dt>minbiasweight</dt><dd><code>signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "asymmetricBias"</code>: produces weight slot...</dd>
+<dt>getweight</dt><dd><code>signature(Weight = "BdStWeight", neighbor = "TotalVarNeighborhood",
+ biastype = "BiasType"</code>: produces weight slot...</dd>
+<dt>minbiasweight</dt><dd><code>signature(Weight = "BdStWeight", neighbor = "TotalVarNeighborhood",
+ biastype = "BiasType"</code>: produces weight slot...</dd>
+</p>
+
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Hampel et al. (1986) <EM>Robust Statistics</EM>.
+The Approach Based on Influence Functions. New York: Wiley.
+</p>
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>.
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a href="BdStWeight-class.html">BdStWeight-class</a></code>,
+<code><a href="HampelWeight-class.html">HampelWeight-class</a></code>,
+<code><a href="IC-class.html">IC-class</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>
Added: pkg/RobAStBase/chm/makeIC.html
===================================================================
--- pkg/RobAStBase/chm/makeIC.html (rev 0)
+++ pkg/RobAStBase/chm/makeIC.html 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,105 @@
+<html><head><title>Generic Function for making ICs consistent at a possibly different model</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>makeIC-methods(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R: makeIC">
+<param name="keyword" value="R: makeIC-methods">
+<param name="keyword" value="R: makeIC,IC,missing-method">
+<param name="keyword" value="R: makeIC,IC,L2ParamFamily-method">
+<param name="keyword" value=" Generic Function for making ICs consistent at a possibly different model">
+</object>
+
+
+<h2>Generic Function for making ICs consistent at a possibly different model</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Generic function for providing centering and Fisher consistency of ICs.
+</p>
+
+
+<h3>Usage</h3>
+
+<pre>
+makeIC(IC, L2Fam, ...)
+</pre>
+
+
+<h3>Arguments</h3>
+
+<table summary="R argblock">
+<tr valign="top"><td><code>IC</code></td>
+<td>
+object of class <code>"IC"</code> </td></tr>
+<tr valign="top"><td><code>L2Fam</code></td>
+<td>
+L2-differentiable family of probability measures; may be missing. </td></tr>
+<tr valign="top"><td><code>...</code></td>
+<td>
+additional parameters </td></tr>
+</table>
+
+<h3>Value</h3>
+
+<p>
+An IC at the model.</p>
+
+<h3>Methods</h3>
+
+<dl>
+<dt>makeIC</dt><dd><code>signature(IC = "IC", L2Fam = "missing"</code>: ...</dd>
+<dt>makeIC</dt><dd><code>signature(IC = "IC", L2Fam = "L2ParamFamily"</code>: ...</dd>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>.
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a onclick="findlink('distrMod', 'L2ParamFamily-class.html')" style="text-decoration: underline; color: blue; cursor: hand">L2ParamFamily-class</a></code>, <code><a href="IC-class.html">IC-class</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+IC1 <- new("IC")
+B <- BinomFamily(13, 0.3)
+makeIC(IC1,B)
+</pre>
+
+<script Language="JScript">
+function findlink(pkg, fn) {
+var Y, link;
+Y = location.href.lastIndexOf("\\") + 1;
+link = location.href.substring(0, Y);
+link = link + "../../" + pkg + "/chtml/" + pkg + ".chm::/" + fn;
+location.href = link;
+}
+</script>
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>
Added: pkg/RobAStBase/man/BdStWeight-class.Rd
===================================================================
--- pkg/RobAStBase/man/BdStWeight-class.Rd (rev 0)
+++ pkg/RobAStBase/man/BdStWeight-class.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,53 @@
+\name{BdStWeight-class}
+\docType{class}
+\alias{BdStWeight-class}
+\alias{stand,BdStWeight-method}
+\alias{stand<-,BdStWeight-method}
+
+\title{Robust Weight classes for bounded, standardized weights}
+\description{Classes for bounded, robust, standardized weights.}
+\section{Objects from the Class}{
+ Objects can be created by calls of the form \code{new("BdStWeight", ...)};
+ to fill slot \code{weight}, you will use the generating functions
+ \code{\link{getweight}} and \code{\link{minbiasweight}}.
+}
+\section{Slots}{
+ \describe{
+ \item{\code{name}:}{Object of class \code{"character"}; inherited from class \code{RobWeight}. }
+ \item{\code{weight}:}{Object of class \code{"function"} --- the weight function; inherited from class \code{RobWeight}.}
+ \item{\code{clip}:}{Object of class \code{"numeric"} --- clipping bound(s); inherited from class \code{BoundedWeight}.}
+ \item{\code{stand}:}{Object of class \code{"matrix"} --- standardization.}
+ }
+}
+\section{Extends}{
+Class \code{"RobWeight"}, via class \code{"BoundedWeight"}.
+Class \code{"BoundedWeight"}, directly.
+}
+\section{Methods}{
+ \describe{
+ \item{stand}{\code{signature(object = "BdStWeight")}:
+ accessor function for slot \code{stand}. }
+
+ \item{stand<-}{\code{signature(object = "BdStWeight", value = "matrix")}:
+ replacement function for slot \code{stand}. }
+
+ }
+}
+\references{
+ Hampel et al. (1986) \emph{Robust Statistics}.
+ The Approach Based on Influence Functions. New York: Wiley.
+
+ Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+ Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+ Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link{BoundedWeight-class}}, \code{\link{RobWeight-class}},
+ \code{\link{IC}}, \code{\link{InfluenceCurve-class}}}
+\examples{
+%
+}
+\concept{influence curve}
+\keyword{classes}
Added: pkg/RobAStBase/man/BoundedWeight-class.Rd
===================================================================
--- pkg/RobAStBase/man/BoundedWeight-class.Rd (rev 0)
+++ pkg/RobAStBase/man/BoundedWeight-class.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,48 @@
+\name{BoundedWeight-class}
+\docType{class}
+\alias{BoundedWeight-class}
+\alias{clip,BoundedWeight-method}
+\alias{clip<-,BoundedWeight-method}
+
+\title{Robust Weight classes for bounded weights}
+\description{Classes for bounded, robust weights.}
+\section{Objects from the Class}{
+ Objects can be created by calls of the form \code{new("BoundedWeight", ...)}.
+}
+\section{Slots}{
+ \describe{
+ \item{\code{name}:}{Object of class \code{"character"}; inherited from class \code{RobWeight}. }
+ \item{\code{weight}:}{Object of class \code{"function"} --- the weight function; inherited from class \code{RobWeight}.}
+ \item{\code{clip}:}{Object of class \code{"numeric"} --- clipping bound(s).}
+ }
+}
+\section{Extends}{
+Class \code{"RobWeight"}, directly.
+}
+\section{Methods}{
+ \describe{
+ \item{clip}{\code{signature(object = "BoundedWeight")}:
+ accessor function for slot \code{clip}. }
+
+ \item{clip<-}{\code{signature(object = "BoundedWeight", value = "numeric")}:
+ replacement function for slot \code{clip}. }
+
+ }
+}
+\references{
+ Hampel et al. (1986) \emph{Robust Statistics}.
+ The Approach Based on Influence Functions. New York: Wiley.
+
+ Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+ Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+ Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link{RobWeight-class}}, \code{\link{IC}}, \code{\link{InfluenceCurve-class}}}
+\examples{
+%
+}
+\concept{influence curve}
+\keyword{classes}
Modified: pkg/RobAStBase/man/ContIC-class.Rd
===================================================================
--- pkg/RobAStBase/man/ContIC-class.Rd 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/man/ContIC-class.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -22,6 +22,9 @@
\alias{stand,ContIC-method}
\alias{stand<-}
\alias{stand<-,ContIC-method}
+\alias{weight,ContIC-method}
+\alias{biastype,ContIC-method}
+\alias{normtype,ContIC-method}
\alias{generateIC,ContNeighborhood,L2ParamFamily-method}
\alias{show,ContIC-method}
@@ -65,6 +68,13 @@
\item{\code{stand}:}{ object of class \code{"matrix"}:
standardizing matrix. }
+ \item{\code{weight}:}{ object of class \code{"HampelWeight"}:
+ weight function }
+ \item{\code{biastype}:}{ object of class \code{"BiasType"}:
+ bias type (symmetric/onsided/asymmetric) }
+ \item{\code{normtype}:}{ object of class \code{"NormType"}:
+ norm type (Euclidean, information/self-standardized)}
+
\item{\code{lowerCase}:}{ object of class \code{"OptionalNumeric"}:
optional constant for lower case solution. }
@@ -100,6 +110,12 @@
\item{stand<-}{\code{signature(object = "ContIC")}:
replacement function for slot \code{stand}. }
+ \item{weight}{\code{signature(object = "ContIC")}:
+ accessor function for slot \code{weight}. }
+ \item{biastype}{\code{signature(object = "ContIC")}:
+ accessor function for slot \code{biastype}. }
+ \item{normtype}{\code{signature(object = "ContIC")}:
+ accessor function for slot \code{normtype}. }
\item{lowerCase}{\code{signature(object = "ContIC")}:
accessor function for slot \code{lowerCase}. }
Modified: pkg/RobAStBase/man/ContIC.Rd
===================================================================
--- pkg/RobAStBase/man/ContIC.Rd 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/man/ContIC.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -16,7 +16,8 @@
Curve = EuclRandVarList(RealRandVariable(Map = c(function(x){x}),
Domain = Reals())),
Risks, Infos, clip = Inf, cent = 0, stand = as.matrix(1),
- lowerCase = NULL, neighborRadius = 0)
+ lowerCase = NULL, neighborRadius = 0, w = new("HampelWeight"),
+ normtype = NormType(), biastype = symmetricBias())
}
\arguments{
\item{name}{ object of class \code{"character"}. }
@@ -31,9 +32,12 @@
\item{clip}{ positive real: clipping bound. }
\item{cent}{ real: centering constant }
\item{stand}{ matrix: standardizing matrix }
+ \item{w}{ HampelWeight: weight object}
\item{lowerCase}{ optional constant for lower case solution. }
\item{neighborRadius}{ radius of the corresponding (unconditional)
contamination neighborhood. }
+ \item{biastype}{ BiasType: type of the bias}
+ \item{normtype}{ NormType: type of the norm}
}
%\details{}
\value{Object of class \code{"ContIC"}}
Added: pkg/RobAStBase/man/HampelWeight-class.Rd
===================================================================
--- pkg/RobAStBase/man/HampelWeight-class.Rd (rev 0)
+++ pkg/RobAStBase/man/HampelWeight-class.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,56 @@
+\name{HampelWeight-class}
+\docType{class}
+\alias{HampelWeight-class}
+\alias{cent,HampelWeight-method}
+\alias{cent<-,HampelWeight-method}
+
+\title{Robust Weight classes for weights of Hampel type}
+\description{Classes for weights of Hampel type.}
+\section{Objects from the Class}{
+ Objects can be created by calls of the form \code{new("HampelWeight", ...)};
+ to fill slot \code{weight}, you will use the generating functions
+ \code{\link{getweight}} and \code{\link{minbiasweight}}.
+}
+\section{Slots}{
+ \describe{
+ \item{\code{name}:}{Object of class \code{"character"}; inherited from class \code{RobWeight}. }
+ \item{\code{weight}:}{Object of class \code{"function"} --- the weight function; inherited from class \code{RobWeight}.}
+ \item{\code{clip}:}{Object of class \code{"numeric"} --- clipping bound(s); inherited from class \code{BoundedWeight}.}
+ \item{\code{stand}:}{Object of class \code{"matrix"} --- standardization; inherited from class \code{BdStWeight}.}
+ \item{\code{cent}:}{Object of class \code{"numeric"} --- centering.}
+ }
+}
+\section{Extends}{
+Class \code{"RobWeight"}, via class \code{"BoundedWeight"}.
+Class \code{"BoundedWeight"}, via class \code{"BdStWeight"}.
+Class \code{"BdStWeight"}, directly.
+}
+\section{Methods}{
+ \describe{
+ \item{cent}{\code{signature(object = "HampelWeight")}:
+ accessor function for slot \code{cent}. }
+
+ \item{cent<-}{\code{signature(object = "HampelWeight", value = "matrix")}:
+ replacement function for slot \code{cent}. }
+
+ }
+}
+\references{
+ Hampel et al. (1986) \emph{Robust Statistics}.
+ The Approach Based on Influence Functions. New York: Wiley.
+
+ Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+ Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+ Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link{BdStWeight-class}},
+ \code{\link{BoundedWeight-class}}, \code{\link{RobWeight-class}},
+ \code{\link{IC}}, \code{\link{InfluenceCurve-class}}}
+\examples{
+%
+}
+\concept{influence curve}
+\keyword{classes}
Added: pkg/RobAStBase/man/RobAStControl-class.Rd
===================================================================
--- pkg/RobAStBase/man/RobAStControl-class.Rd (rev 0)
+++ pkg/RobAStBase/man/RobAStControl-class.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,49 @@
+\name{RobAStControl-class}
+\docType{class}
+\alias{RobAStControl-class}
+\alias{name,RobAStControl-method}
+\alias{name<-,RobAStControl-method}
+
+\title{Control classes in package RobAStBase}
+\description{Control classes in package \pkg{RobAStBase}.}
+\section{Objects from the Class}{
+}
+\section{Slots}{
+% \describe{
+% \item{\code{CallL2Fam}:}{Object of class \code{"call"}:
+% creates an object of the underlying L2-differentiable
+% parametric family. }
+% }
+}
+%\section{Extends}{
+%Class \code{"InfluenceCurve"}, directly.
+%}
+\section{Methods}{
+ \describe{
+ \item{name}{\code{signature(object = "RobAStControl")}:
+ accessor function for slot \code{name}. }
+
+ \item{name<-}{\code{signature(object = "RobAStControl", value = "character")}:
+ replacement function for slot \code{name}. }
+
+ }
+}
+\references{
+ Hampel et al. (1986) \emph{Robust Statistics}.
+ The Approach Based on Influence Functions. New York: Wiley.
+
+ Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+ Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+ Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{
+%
+}
+\examples{
+%
+}
+\concept{influence curve}
+\keyword{classes}
Added: pkg/RobAStBase/man/RobWeight-class.Rd
===================================================================
--- pkg/RobAStBase/man/RobWeight-class.Rd (rev 0)
+++ pkg/RobAStBase/man/RobWeight-class.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,54 @@
+\name{RobWeight-class}
+\docType{class}
+\alias{RobWeight-class}
+\alias{name,RobWeight-method}
+\alias{weight,RobWeight-method}
+\alias{name<-,RobWeight-method}
+\alias{weight<-,RobWeight-method}
+\alias{weight<-}
+\alias{weight}
+
+\title{Robust Weight classes}
+\description{Classes for robust weights.}
+\section{Objects from the Class}{
+ Objects can be created by calls of the form \code{new("RobWeight", ...)}.
+}
+\section{Slots}{
+ \describe{
+ \item{\code{name}:}{Object of class \code{"character"}. }
+ \item{\code{weight}:}{Object of class \code{"function"} --- the weight function.}
+ }
+}
+\section{Methods}{
+ \describe{
+ \item{name}{\code{signature(object = "RobWeight")}:
+ accessor function for slot \code{name}. }
+
+ \item{name<-}{\code{signature(object = "RobWeight", value = "character")}:
+ replacement function for slot \code{name}. }
+
+ \item{weight}{\code{signature(object = "RobWeight")}:
+ accessor function for slot \code{name}. }
+
+ \item{weight<-}{\code{signature(object = "RobWeight", value = "function")}:
+ replacement function for slot \code{weight}. }
+
+ }
+}
+\references{
+ Hampel et al. (1986) \emph{Robust Statistics}.
+ The Approach Based on Influence Functions. New York: Wiley.
+
+ Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+ Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+ Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link{InfluenceCurve-class}}, \code{\link{IC}}}
+\examples{
+%
+}
+\concept{influence curve}
+\keyword{classes}
Modified: pkg/RobAStBase/man/TotalVarIC-class.Rd
===================================================================
--- pkg/RobAStBase/man/TotalVarIC-class.Rd 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/man/TotalVarIC-class.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -17,6 +17,7 @@
\alias{show,TotalVarIC-method}
\alias{stand,TotalVarIC-method}
\alias{stand<-,TotalVarIC-method}
+\alias{weight,TotalVarIC-method}
\alias{generateIC,TotalVarNeighborhood,L2ParamFamily-method}
\title{Influence curve of total variation type}
@@ -59,6 +60,9 @@
\item{\code{stand}:}{ object of class \code{"matrix"}:
standardizing matrix. }
+ \item{\code{weight}:}{ object of class \code{"BdStWeight"}:
+ weight function }
+
\item{\code{neighborRadius}:}{ object of class \code{"numeric"}:
radius of the corresponding (unconditional) contamination
neighborhood. }
@@ -91,6 +95,9 @@
\item{stand<-}{\code{signature(object = "TotalVarIC")}:
replacement function for slot \code{stand}. }
+ \item{weight}{\code{signature(object = "TotalVarIC")}:
+ accessor function for slot \code{weight}. }
+
\item{neighborRadius}{\code{signature(object = "TotalVarIC")}:
accessor function for slot \code{neighborRadius}. }
Modified: pkg/RobAStBase/man/TotalVarIC.Rd
===================================================================
--- pkg/RobAStBase/man/TotalVarIC.Rd 2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/man/TotalVarIC.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -16,7 +16,7 @@
Curve = EuclRandVarList(RealRandVariable(Map = c(function(x) {x}),
Domain = Reals())),
Risks, Infos, clipLo = -Inf, clipUp = Inf, stand = as.matrix(1),
- lowerCase = NULL, neighborRadius = 0)
+ lowerCase = NULL, neighborRadius = 0, w = new("BdStWeight"))
}
\arguments{
\item{name}{ object of class \code{"character"}. }
@@ -31,6 +31,7 @@
\item{clipLo}{ negative real: lower clipping bound. }
\item{clipUp}{ positive real: lower clipping bound. }
\item{stand}{ matrix: standardizing matrix }
+ \item{w}{ BdStWeight: weight object}
\item{lowerCase}{ optional constant for lower case solution. }
\item{neighborRadius}{ radius of the corresponding (unconditional)
contamination neighborhood. }
Added: pkg/RobAStBase/man/generateICfct.Rd
===================================================================
--- pkg/RobAStBase/man/generateICfct.Rd (rev 0)
+++ pkg/RobAStBase/man/generateICfct.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,37 @@
+\name{generateIC.fct-methods}
+\docType{methods}
+\alias{generateIC.fct}
+\alias{generateIC.fct-methods}
+\alias{generateIC.fct,UncondNeighborhood,L2ParamFamily-method}
+
+\title{Generic Function for making ICs consistent at a possibly different model}
+\description{
+ Generic function for providing centering and Fisher consistency of ICs.
+}
+\usage{
+generateIC.fct(neighbor, L2Fam, ...)
+}
+\arguments{
+ \item{neighbor}{ object of class \code{"UncondNeighborhood"} }
+ \item{L2Fam}{ L2-differentiable family of probability measures; may be missing. }
+ \item{\dots}{ additional parameters }
+}
+\value{An IC at the model.}
+\section{Methods}{\describe{
+\item{generateIC.fct}{\code{signature(IC = "UncondNeighborhood", L2Fam = "L2ParamFamily"}: ...}
+}}
+
+\references{
+ Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+ Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+ Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link[distrMod]{L2ParamFamily-class}}, \code{\link{IC-class}}}
+\examples{
+%
+}
+\concept{influence curve}
+\keyword{}
Added: pkg/RobAStBase/man/getweight.Rd
===================================================================
--- pkg/RobAStBase/man/getweight.Rd (rev 0)
+++ pkg/RobAStBase/man/getweight.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,77 @@
+\name{getweight-methods}
+\docType{methods}
+\alias{getweight-methods}
+\alias{getweight}
+\alias{getweight,HampelWeight,ContNeighborhood,BiasType-method}
+\alias{getweight,HampelWeight,ContNeighborhood,onesidedBias-method}
+\alias{getweight,HampelWeight,ContNeighborhood,asymmetricBias-method}
+\alias{getweight,BdStWeight,TotalVarNeighborhood,BiasType-method}
+\alias{minbiasweight-methods}
+\alias{minbiasweight}
+\alias{minbiasweight,HampelWeight,ContNeighborhood,BiasType-method}
+\alias{minbiasweight,HampelWeight,ContNeighborhood,onesidedBias-method}
+\alias{minbiasweight,HampelWeight,ContNeighborhood,asymmetricBias-method}
+\alias{minbiasweight,BdStWeight,TotalVarNeighborhood,BiasType-method}
+
+\title{Generating weights}
+\description{
+ Generates weight functions of Hampel / BdSt type for different bias and norm types.
+}
+\usage{
+getweight(Weight, neighbor, biastype, ...)
+minbiasweight(Weight, neighbor, biastype, ...)
+\S4method{getweight}{HampelWeight,ContNeighborhood,BiasType}(Weight, neighbor, biastype, normtype)
+\S4method{minbiasweight}{HampelWeight,ContNeighborhood,BiasType}(Weight, neighbor, biastype, normtype)
+}
+\arguments{
+ \item{\dots}{ additional arguments }
+ \item{Weight}{ Object of class \code{"RobWeight"}. }
+ \item{neighbor}{ Object of class \code{"Neighborhood"}. }
+ \item{biastype}{ Object of class \code{"BiasType"}. }
+ \item{normtype}{ Object of class \code{"NormType"} --- only for signature \code{HampelWeight,ContNeighborhood,BiasType}. }
+}
+%\details{}
+\value{Object of class \code{"HampelWeight"} resp. \code{"BdStWeight"}}
+\references{
+ Hampel et al. (1986) \emph{Robust Statistics}.
+ The Approach Based on Influence Functions. New York: Wiley.
+
+ Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+ Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+ Bayreuth: Dissertation.
+}
+\details{These functions generate the weight function in slot \code{weight} in a corresp.
+ object of class \code{RobWeight} and descendants.}
+\section{Methods}{\describe{
+\item{getweight}{\code{signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "BiasType"}} with additional argument \code{biastype} of class
+ \code{"BiasType"}: produces weight slot...}
+\item{minbiasweight}{\code{signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "BiasType"} with additional argument \code{biastype} of class
+ \code{"BiasType"}: produces weight slot...}
+\item{getweight}{\code{signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "onesidedBias"}: produces weight slot...}
+\item{minbiasweight}{\code{signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "onesidedBias"}: produces weight slot...}
+\item{getweight}{\code{signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "asymmetricBias"}: produces weight slot...}
+\item{minbiasweight}{\code{signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+ biastype = "asymmetricBias"}: produces weight slot...}
+\item{getweight}{\code{signature(Weight = "BdStWeight", neighbor = "TotalVarNeighborhood",
+ biastype = "BiasType"}: produces weight slot...}
+\item{minbiasweight}{\code{signature(Weight = "BdStWeight", neighbor = "TotalVarNeighborhood",
+ biastype = "BiasType"}: produces weight slot...}
+}
+
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link{BdStWeight-class}},
+ \code{\link{HampelWeight-class}},
+ \code{\link{IC-class}}}
+\examples{
+%
+}
+
+\concept{influence curve}
+\keyword{}
Added: pkg/RobAStBase/man/makeIC.Rd
===================================================================
--- pkg/RobAStBase/man/makeIC.Rd (rev 0)
+++ pkg/RobAStBase/man/makeIC.Rd 2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,41 @@
+\name{makeIC-methods}
+\docType{methods}
+\alias{makeIC}
+\alias{makeIC-methods}
+\alias{makeIC,IC,missing-method}
+\alias{makeIC,IC,L2ParamFamily-method}
+
+\title{Generic Function for making ICs consistent at a possibly different model}
+\description{
+ Generic function for providing centering and Fisher consistency of ICs.
+}
+\usage{
+makeIC(IC, L2Fam, ...)
+}
+\arguments{
+ \item{IC}{ object of class \code{"IC"} }
+ \item{L2Fam}{ L2-differentiable family of probability measures; may be missing. }
+ \item{\dots}{ additional parameters }
+}
+\value{An IC at the model.}
+\section{Methods}{\describe{
+\item{makeIC}{\code{signature(IC = "IC", L2Fam = "missing"}: ...}
+\item{makeIC}{\code{signature(IC = "IC", L2Fam = "L2ParamFamily"}: ...}
+}}
+
+\references{
+ Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+ Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+ Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link[distrMod]{L2ParamFamily-class}}, \code{\link{IC-class}}}
+\examples{
+IC1 <- new("IC")
+B <- BinomFamily(13, 0.3)
+makeIC(IC1,B)
+}
+\concept{influence curve}
+\keyword{}
More information about the Robast-commits
mailing list