############################################################################### ## News: to package ROptEst ############################################################################### (first two numbers of package versions do not necessarily reflect package-individual development, but rather are chosen for the RobAStXXX family as a whole in order to ease updating "depends" information) ####################################### version 0.8 ####################################### USER-VISIBLE CHANGES: functions/classes: + added new Risk class asAnscombe for determining OBRE to given ARE in the ideal model + now Anscombe-Risk also works with information standardization ( but is not suited for self-standardization!) + new risk asL1 asL4 (for asy. mean absolute error and asy mean power 4 error) with generators etc + new method get.asGRisk.fct to obtain a function in r,s,b (s=var^.5) to compute respective as. G-Risk + getAsRisk now has (almost) the same signature for different methods (so that in can easily be called when the actual risk is not clear) + new helper methods makeIC to apply to functions or list of functions for easily producing (suboptimal) ICs + new function getReq for two ICs IC1 and IC2 to compute a radius interval where IC1 is better than IC2 acc. to G-Risk + new function getMaxIneff() to compute for any IC of class 'IC' the maximal inefficiency on r in [0,Inf) scripts/examples: + uploaded Script for NbinomFamily + added demo script for Normal Location case + added calls to getMaxIneff() and getReq() in script to Normal Location + examples for asAnscombe (see examples in inst folder (Binomial, Gamma, Nbinom, NormalLocationScale, NormalScale, Poisson); + Integrated new example to getReq.Rd and new script AnscombeOrNot.R + some modifications/additions needed for the revised version of the corresponding manuscript. names of added scripts were wrong ... documentation: + new references included in help files + DESCRIPTION files and package-help files gain a tag SVNRevision to be filled by get[All]RevNr.R from utils in distr enhancements: + filled Feature Request #919 / cniperPointPlot now digests arbitrary plot arguments. BUG FIXES + fixed an issue with lower case solution in information/self-standardization; + committed some missing Rd files for Anscombe class + fixed some bug in Anscombe-risk for univariate L2deriv + fixed a bug in multivariate version of getMaxIneff() included respective examples to Rd file (with sin,cos-IC) + a buglet in getInfClip.R + fixed the asL1, asL4 issue --- getInfGamma beforehand was defined for asMSE not for asGRisk + fixed two bugs in calculation of risks: trAsCov and asCov (for total variation) + fixed a little bug in comparePlot if we want to plot pIC's + fixed a buglet in asL1 asL4 risks + fixed yet another buglet in asL1 risks + fixed a little bug in getMaxIneff.R + lower and upper interval bounds for search in clipping height in getInfRobIC_asGRisk.R are now selected differently for univariate L2-deriv according to whether risk is asMSE() or not + for restoring old par() values, not all attributes may be set; hence deleted them from stored value in plot functions by something like opar$cin <- opar$cra <- opar$csi <- opar$cxy <- opar$din <- NULL ####################################### version 0.7 ####################################### USER-VISIBLE CHANGES: *** DUALITY BASED optIC-ALGORITHM -> optional use of alternative algorithm to obtain Lagrange multipliers using duality based optimization -> rewritten algorithm: + getInfRob_asGRisk.R now have both an iterative and an optimization + getInfRob_asHampel.R algorithm to obtain Lagrange Multipliers; --- i.e. depending on argument OptOrIter (default: iteration as before...) they call getLagrangeMultByOptim resp. getLagrangeMultByIter (unfortunately: optimization is slow; only L-BFGS-B works satisfactory) + getInfLM now gains (unfortunately not a good idea as to speed!) the new MSE - optimization routines for obtaining LagrangeMultipliers *** optIC Solution for general trafo / with nuisance + we now can digest case p=1, k>1 for asymmetric biastypes as well as for total variation + implemented lower Case solution for *=v p=1 k>1 + roptest gains arguments withUpdateInKer, IC.UpdateInKer, na.rm *** others + added argument fsCor to function roptest enabling a finite-sample correction of the radius ... + added QQ plots in examples to roptest SCRIPTS + all scripts do run now without (obvious) error --- at the exception of NormalLocationScaleModel.R --- and there the radiusminimax solution for self-standardization ... + in script GammaModel.R, added comment due to new E method in distrEx which increases precision of certain computations. + scripts in part now with R output in comment + new example with k=15 steps in script PoissonModel.R + example for lower Case solution for *=v p=1 k>1 added in script NormalLocationScaleModel.R + new example for trafo-based model in script NormalLocationScaleModel.R + inserted some new lines in script NormalLocationScaleModel.R --- now has an example with nuisance parameters GENERAL ENHANCEMENTS: + added tests/Examples folder with file ROptEst-Ex.Rout.save to have some automatic testing + added TOBEDONE (sic!) files; in English (for possible collaborators) + added keyword robust and made some minor corrections ... + added/updated NEWS files, updated CITATION files using code by A. Zeileis + Rd-parsing: * patch for Brian Ripley's Re: [Rd] Warning: missing text for item ... in \describe? * fixed errors / warnings in .Rd files detected by parser 2 (c.f. [Rd] More intensive checking of R help files, Prof Brian Ripley, 09.01.2009 10:25) + svn-revision-tags * added in all DESCRIPTION files * added field "Encoding: latin1" to all DESCRIPTION files because substituting $LastChangedDate by svn would cause problems for packages built under Windows (German) local when checking under Linux. + removed pdf-file from version control - Rnw-file is sufficient INTERNALLY: + k dimension / p dimension -- trafo & nuisance * lower case and Hampel now seem to work with trafo * in getInfRob_asHampel: added argument checkBounds, setting this to FALSE clearly speeds up computations for asHampel Risk * cniper contamination now also available for partial ICs * slightly modified b search range in MSE problem -- in the hope it will do for Totalvariation neighborhood, p=1, k>1 * new: getAsRisk for "asBias", "RealRandVariable", "TotalVarNeighborhood" and "ANY" * getModifyIC has been changed so that also nuisance parameter models can be covered. + new IC algorithm * upper by default is now set to NULL in getInfRobIC_asGRisk, getInfRobIC_asHampel, getIneffDiff * slightly modified b search range in MSE problem -- in the hope it will do for Totalvariation neighborhood, p=1, k>1 * outsourced several steps in getInfRob_asGRisk.R and getInfRob_asHampel.R into internal, non-exported functions .getLowUpB() .getLowerSol() .getUpperSol() .checkUpLow() * radiusMinimaxIC gains argument loRad0 to be able to adjust the lower search bound (for getIneffDiff) case by case. * getInfCent, getInfGamma - uses getLow/getUp now - changed search interval for getInfCent Totalvariation one-dim - use of lower.tail = FALSE instead of 1-p in * verbosity: - for rob.-opt. ICs: in verbose mode now an automatic check for [p]IC is done - optIC, getIneffDiff, getInfLM, getInfRob, leastFavorableRadius, .LowerCaseMultivariate.R[TV], radiusMinimaxIC gain default NULL for argument verbose in these function we check for is.null and if so set it to getRobAStBaseOption("all.verbose") - new helper function .checkPIC for checking within getInfRobIC - work on pretty printing if verbose == TRUE, ... - getIneffDiff now inhibits permanent checks for IC even if verbose==TRUE - in addition to precision information, current Lagrange multipliers are issued if verbose==TRUE (but only every 5 iterations in asGRisk- and every 15 in asBias-method for getInfRobIC) * lowerCase solutions now count the number of iterations * changed detault search interval for r in radiusMinimaxIC.R * changed default search interval for b in getInfRobIC_asGRisk (one-dim) * getLagrangeMultBy[...]() gain arg a.start to transmit the actual centering / clipping modification in transformed models + Risk slot * made Risk slot slightly more consistent (no longer double asMSE), in particular in case there is no convergence. + roptest * now has an argument initial.est.ArgList to transmit arguments for a call to initial.est (for those familiar with it: similarly to startEstArgList in roptest.gpareto...) * roptest gains arguments withUpdateInKer, IC.UpdateInKer, na.rm + getmodifyIC * new generic scaleUpdateIC for scale-Update in location/scale/locscale models -> to avoid similar code for the many variants ScaleModel, LocationScaleModel, LocationUnknownScaleModel, ScaleUnknownLocationModel; in the latter two also totalvariation nbds are allowed * getModifyIC gains ... argument and for signature((L2FamIC = "L2ParamFamily", neighbor = "Neighborhood", risk ="asRisk") inserts a verbose= getRobAStBaseOption("all.verbose") into modifyIC-slot BUGFIXES: + scripts * two minor buglets in scripts NormalLocationScaleModel.R & UnderOverShootRisk.R * small shape parameters in GammaModel.R lead to functions which are hard to integrate numerically; added some code to demonstrate this ... + k dimension / p dimension issues * fixed issues with polymorph nature of slot param of ParamFamParameter: now we can determine opt-rob ICs for trafos; annotation gets right; see example(comparePlot) * Symmetry slots did not work correctly for non-trivial trafos (at least would have to be reworked); now: all entries are computed * in ..asHampel: bmax had to be converted to matrix in case p=1, k>1 + new IC algorithm issues * in MSE-method (as iter <= 1 always), clipping bounds in weights in Total Variation case (p=1, k>1) were never updated -> new helper functino .isVirginW * small bugs removed in getInfRobIC_asGRisk, getInfRobIC_asHampel, getInfClip * std (standardization in non-standard norms) was not updated correctly in getLagrangeMultBy[...] + roptest * modifies slot start of return value to become initial.est argument + others: * definition of weight was missing in getInfRobIC_asCov.R * small bug in getAsRisk. Now radiusMinimaxIC works for models with trafo. * corrected a simple bug in scaleUpdateIC for UncondNeighborhoods * fixed an error in getModifyIC in the computation of the transferred risks * fixed a buglet in getModifyIC.R: had to cast out a second appearance of argument verbose (within ...) ... * getAsRisk for "asBias", "RealRandVariable", "ContNeighborhood" and "ANY" was lacking argument Finfo and did not check for verbose * minor documentation bug in radiusMinimaxIC.Rd TO BE CHECKED + remains to be done: self standardization does not yet work... + total variation nbd: case 1=p