[Robast-commits] r335 - in branches/robast-0.7/pkg/ROptEst: R chm

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Tue Aug 4 19:22:25 CEST 2009


Author: ruckdeschel
Date: 2009-08-04 19:22:22 +0200 (Tue, 04 Aug 2009)
New Revision: 335

Modified:
   branches/robast-0.7/pkg/ROptEst/R/getInfRobIC_asGRisk.R
   branches/robast-0.7/pkg/ROptEst/chm/ROptEst.chm
Log:
slightly modified b search range in MSE problem -- in the hope it will do for Totalvariation neighborhood, p=1, k>1 

Modified: branches/robast-0.7/pkg/ROptEst/R/getInfRobIC_asGRisk.R
===================================================================
--- branches/robast-0.7/pkg/ROptEst/R/getInfRobIC_asGRisk.R	2009-08-04 04:58:45 UTC (rev 334)
+++ branches/robast-0.7/pkg/ROptEst/R/getInfRobIC_asGRisk.R	2009-08-04 17:22:22 UTC (rev 335)
@@ -44,11 +44,13 @@
             z.old <- z
             c0.old <- c0
             ## new
-            lower0 <- getL1normL2deriv(L2deriv = L2deriv, cent = z) /
-                                      (1 + neighbor at radius^2)
-            upper0 <- sqrt( as.numeric( Finfo + z^2 )/(( 1 + neighbor at radius^2)^2 - 1) )
+            L1n <- getL1normL2deriv(L2deriv = L2deriv, cent = z)
+            lower0 <-  L1n/(1 + radius^2)
+            if(!is(neighbor,"ContNeighborhood")) lower0 <- lower0/2
+            upper0 <- max(L1n/radius,
+                 sqrt( as.numeric( Finfo + z^2 )/(( 1 + radius^2)^2 - 1) ))
             if (!is.null(upper)|(iter == 1))
-                    {lower <- .Machine$double.eps^0.75
+                    {lower <- .Machine$double.eps^0.6
                 }else{ lower <- lower0; upper <- upper0}
             ##
             c0 <- try(uniroot(getInfClip, 
@@ -213,18 +215,21 @@
             stand(w) <- A
 
             ## new
-            lower0 <- getL1normL2deriv(L2deriv = L2deriv, cent = z, stand = A, 
-                                       Distr = Distr, normtype = normtype)/(1+neighbor at radius^2)
+            L1n <- getL1normL2deriv(L2deriv = L2deriv, cent = z, stand = A,
+                                       Distr = Distr, normtype = normtype)
+            lower0 <- L1n/(1+radius^2)
 
             QF <- if(is(normtype,"QFNorm")) QuadForm(normtype) else diag(nrow(A))
-            upper0 <- sqrt( (sum( diag(QF%*%A%*%Finfo%*%t(A))) + t(A%*%z)%*%QF%*%(A%*%z)) / 
-                          ((1 + radius^2)^2-1))
+            upper0 <- max(L1n/radius,
+                    sqrt( (sum( diag(QF%*%A%*%Finfo%*%t(A))) + t(A%*%z)%*%QF%*%(A%*%z)) /
+                          ((1 + radius^2)^2-1)))
 
             if (!is.null(upper)|(iter == 1)) 
-                    {lower <- .Machine$double.eps^0.75; 
+                    {lower <- .Machine$double.eps^0.6;
                      if(is.null(upper)) upper <- 10*upper0
                 }else{ lower <- lower0; upper <- upper0}
 
+            if(!is(neighbor,"ContNeighborhood")) lower0 <- lower0/2
             ##
             b <- try(uniroot(getInfClip, 
                   ## new

Modified: branches/robast-0.7/pkg/ROptEst/chm/ROptEst.chm
===================================================================
(Binary files differ)



More information about the Robast-commits mailing list