(first two numbers of package versions do not necessarily reflect
package-individual development, but rather are chosen for the
distrXXX family as a whole in order to ease updating "depends"
information)
##############
v 2.6
##############
user-visible CHANGES:
title changed to title style / capitalization
introduced dropZeroDensity argument to ML estimators
arguments panel.first, panel.last for plot-methods can now be lists
introduced returnlevelplot, a generalization of the respective
diagnostic plot facility of package ismev
qqplot and returnlevelplot gain pattern substitution like plot in
titles and x/y axis lables
pattern substitution can now be switched on and off in all plot
functions according to argument withSubst
GENERAL ENHANCEMENTS:
under the hood:
zero dropping (see argument 'dropZeroDensity' above)
--Optimizers like optim require finite values, so get problems when
negative loglikelihood is evaluated, so optionally, and by default,
values with density/likelihood 0 are dropped from optimization
removed ::: internal dependencies (within distr-Fam of pkgs) by copying
respective routines
qqplot:
(already there for a while) gains ability to interchange x- and y-
axis by argument 'datax' for compatibility with other qqplots
gains new methods for object of class "Estimate" (which could also be
seen as "fitted" objects...)
additional argument added.points.CI to allow for additional evaluation
points for the confidence intervals in the range of the seen data
now by default has datax = TRUE
fixed issue with labeling
issues with datax fixed
gains argument jit.tol to allow jittering to take place also for
continuous observations, if observations are "too" close to each other
returnlevelplot
similar as qqplot as to additional methods
returnlevelplot now gains an argument threshold for POT
set datax argument in case it is missing in returnlevelplot ...
issues with datax fixed
gains argument jit.tol to allow jittering to take place also for
continuous observations, if observations are "too" close to each other
new internal method .checkEstClassForParamFamily-method to be called
immediately before returning an Estimate object (in functions Estimator(),
MCEstimator(), MDEstimator(), MLEstimator()); this allows to return an
object of S4 class specific to the resp. parametric family (by means of
S4 method dispatch); this is used in pkg 'RobExtremes' to produce, e.g.,
objects of class "GEVMCEstimate", i.e. which inherit from both
"MCEstimate" and "GEVEstimate", so that a diag-method for
"GEVEstimate" becomes available for this class.
enhanced imports in DESCRIPTION by explicating second order imports
helper function .isReplicated gains an optional argument tol
BUGFIXES:
fixed an issue with MDEstimator and validParameter
fixed issue with slot withPosRestr in ParamFamParameter.R
fixed issue with check.validity (reported by B.Spangl)
fixed some minor issue in existsPIC (in case we get 0 matrix, and less strict tolerance)
fixed issue with returnlevelplot discovered by B. Spangl -- points had not been ordered
fixed CIs for qqplot and returnlevelplot
##############
v 2.5
##############
user-visible CHANGES:
GENERAL ENHANCEMENTS:
cleaned DESCRIPTION and NAMESPACE file as to Imports/Depends
under the hood:
For speeding up things, we now have an option withL2derivDistr = TRUE which
if FALSE skips computing the image distribution in two dimensional models,
i.e., have switched slot L2derivDistr from "DistrList" to "OptionalDistrList".
delayed calculation of variances and allow to skip or delay calculation of
L2derivDistr; to this end introduced new class unions
"OptionalNumericOrMatrixOrCall", "OptionalDistrListOrCall";
respectively at certain stages, evaluation of the call must then be forced
consequence: L2LocationScaleFamilies now use median mad as starting estimator
in robest roptest (and no longer call CvM-MDE)
small change to avoid frequent calls to getImageDistr
(L2)ParamFamily gains slots
.withEvalAsVar to allow delayed evaluation of variances
.withEvalL2derivDistr to allow delayed evaluation of L2derivDistr
.withMDE to control extra calls to MDEstimator that might not be necessary
in robest (e.g. with GParetoFamily())
correspondingly accessor L2derivDistr now checks whether it is a
call and if so evaluates
forgot to commit some changes in show() for asvar in the last round
in checkL2deriv, in addition, relative tolerances are also issued
for Fisher Information
fixed an issue with modifyModel in case of location scale models: in these
cases we do neither want to produce a call nor an evaluated call to
imageDistr...
added .Rbuildignore
exported some routines which had been internal so far to
avoid calls by :::
BUGFIXES:
moved generics to "distribution" and "samplesize" to pkg distr to avoid
conflict with pkg distrSim
##############
v 2.4
##############
user-visible CHANGES:
moved GumbelLocationFamily to new package "RobExtremes"
new function addAlphTrsp2col to add alpha transparency to a
given color; qqplot gains argument alpha.trsp to control for alpha transparency
under the hood:
added modifyModel method for ParamFamily, some minor corrections due to more strict checking in R devel
created folder vignettes and moved content of inst/doc/ to it
removed lazyload tag in DESCRIPTION
updated affiliation info in newDistributions.Rnw
deleted inst/doc folder
.Rbuildignore file as a reaction to B. Ripley's mail on r-devel,
"CRAN package sizes", Feb-14-2011
added computation of relative error in checkL2deriv -
maybe there is a better idea avoiding division by zero,
added DESCRIPTION tag "ByteCompile" to all our packages
updating maintainer email address and URL.
added argument no.readonly = TRUE to assignments of form opar <- par()
new intermediate classes/ class unions for scale families and scale shape families;
consequent use of argument validity.check in MCE estimators.
removed relics of ancient L2Fam-slot withPos (was introduced in a try)
introduced slot scaleshapename for L2ScaleShapeUnion and methods scalename und scaleshapename (accessor/replacers)
after change of @<- semantics by J. Chambers moved from class(M) <- class(model) to slotwise copying
S4Method "mceCalc", signature(x = "numeric", PFam = "ParamFamily") gains additional
calls to makeOKPar() to warrant admissible parameter values
Estimator can now deal with asymptotic variances if given; to this end
gains optional argument ParamFamily
put some examples in \dontrun to reduce check time on CRAN
deleted file GumbelLocationFamily.Rd (no longer needed)
Default name of Estimator is now "Estimator"
deleted no longer needed chm folders
BUGFIXES:
bugfixes in NbinomMeanSizeFamily
and NbinomwithSizeFamily (detected by Matthias!)
digamma was used instead of trigamma
validparameter: fixed a bug with slot withPosRestr (which is not a member of
L2ParamFamily but of the respective parameter!)
##############
v 2.3
##############
user-visible CHANGES:
introduced NbinomFamily in response to Markus Kalisch's mail to RsR
restated L2-deriv and L2-deriv distribution s.t. it is computationally easier to treat
also now allow 2-parametric model Nbinom (see SimpleL2ParamFamilies.R...)
++ Vignette:
uploaded vignette for distrMod (still to be done: insert exact volume,number,pages)
Matthias' Kommentare (Kreis-Symbol, Rem) ge�ndert
merged in Matthias' changes
integrated JSS version of vignette
vignette distrMod fertiggemacht
vignette announced in startup msg
meta-information included to vignette
under the hood:
DESCRIPTION files and package-help files gain a tag
SVNRevision to be filled by get[All]RevNr.R from utils in distr
BUGFIXES:
re-uploaded svn-multi.sty and svnkw.sty after error report by Jan de Leeuw.
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
unnecessary Rplots.pdf deleted from inst folders of distr and
distrMod (are created anyway during vignette build)
##############
v 2.2.2
##############
Vignette to distrMod aka
M. Kohl and P. Ruckdeschel (2010): R Package distrMod: S4 Classes and Methods for Probability Models.
Journal of Statistical Software, 35(10), 1-27. \url{http://www.jstatsoft.org/v35/i10/}
there is accessor function completecases[.estimate]
slot samplesize only counts complete cases
accessor functions samplesize[.estimate] gains argument onlycompletecases;
if TRUE returns slot samplesize[.estimate] as is, otherwise adds
sum(completecases.estimate) to it
internally all Estimator functions work with data na.omit(x) instead of x
Models:
checkL2deriv gains ... argument to pass on accuracy arguments to E()
plotting:
new diagnostic function qqplot to check the quality of a model fit
special methods for first argument "ANY" (the data) and for second argument
of class "UnivariateDistribution", "ProbFamily",
comes with corresponding (pointwise/simultaneous) confidence intervals
flexible labelling of data points
GENERAL ENHANCEMENTS:
added tests/Examples folder with file distrMod-Ex.Rout.save to have
some automatic testing
added field "Encoding: latin1" to all DESCRIPTION files in order to avoid problems
with e.g. Windows locale when svn replaces $LastChangedDate
added TOBEDONE (sic!) files for each package (by accident also in trunc; these are empty so far)
INTERNALLY:
moved Distribution symmetry classes and corresponding methods/functions from distrMod to distr
in distrMod remove slots from class ProbFamily and L2ParamFamily
-distrSymm (information is already in slot distr)
-L2derivSymm (information will be in Random Variable L2deriv)
-L2derivDistrSymm (information will be in DistrList L2derivDistr)
changed behaviour of mceCalc() and consequently of MCEstimator(), MDEstimator(), MLEstimator():
Instead of mapping unallowed parameter values into allowed ones by makeOKPar(), thereby pretending
to optim/optimize that the unallowed parameters give reasonable criterion values, now always
a penalty is returned whenever the parameter is not valid. For profiling though, we still
keep the old behavior, i.e. map to allowed parameters by makeOKPar() in the returned criterion
function.
in mceCalc naming is "more" unique (to avoid unintended name clashes)
class MCEstimate gains slot optimwarn to gather warnings issued in optimization;
may be accessed with method optimwarn()
potentially, mleCalc now transports the value of the current parameter value
theta as argument thetaPar to the optimization criterion;
controlled for by argument withthetaPar (defaulting to FALSE)
Hence, if desired, particular criterion functions could make use of
this information, by, say computing the criterion differently for
different parameter values
We used it to check whether the numerically found optimum obeys
first order conditions (i.e. sum (L2deriv(x_i))=0)
new utility: .deleteDim to delete /only/ dim attribute
to deal with nuisance parameters:
utility .validTrafo(), in presence of nuisance, covering coordinates p+1..k,
now accepts for matrices either dim p x p or p x k
and in case ncol(trafo==k)
correspondingly modified validity function slot in ParamFamParameter()
method trafo is changed for nuisance parameters:
for signature ParamFamily, ParamFamParameter now takes special care
about presence of a nuisance parameter:
if so it returns as mat item a matrix with corresponding zero-columns for
the nuisance coordinates so that it has dim p x k where k=length(main)+length(nuisance)
.validTrafo calls in ParamFamParameter.R
(in generating function ParamFamParameter,
in trafo-methods signature ParamFamParameter, missing
in main<- method for signature ParamFamParameter
in trafo<- method for signature ParamFamParameter)
are now prepended with necessary dimension
calculations in order to check whether its dim is pxp or pxk (see point ".validTrafo")
show methods for class Estimate are a bit more careful:
in principle they accept estimate slots with a dim attribute
special care is taken to whether untransformed.asvar is not NULL / NA-free
removed unnecessary "fixed" component of parameter in ExpScaleFamily
BUGFIXES:
inserted Symmetry information in demo modelExp3.R
simplified treatment of random variable L2deriv in L2ParamFamily.R
small modifications to make modifyModel work with matrices in calls
small correction needed for case trafo in R^(1 x k)
plot should now work for models with trafo - shows untransformed family
mceCalc was building a named call with arguments x and Distribution and hence
MDEstimator did no longer work...
for MDEstimator, similarly, this is controlled by paramDepDist
there were problems in confint() when diag() was called with numeric of length one.
modified wrong use of "criterium" to "criterion"
a tiny buglet in prototype for trafo slot
yet another issue with "pretty printing", -> give default names "" if empty
the "dim"-issue:
estimate, untransformed.estimate, main, and nuisance from time to time
did not return numerics (instead: items with dim attribute...)
accessors to [untransoformed.]asvar now coerce to matrix, but only so if the item is not NULL
in .process.meCalcRes delete dim attribute for slots [untransformed.]estimate unless
already present in main (and nuisance)
yet another issue with accessor function to [untransformed.]estimate --- it ate the names....
setAs(,) was wrong for nuisance parameters
##############
v 2.1
##############
Rd-style:
several buglets detected with the fuzzier checking mechanism
cf [Rd] More intensive checking of R help files, Prof Brian Ripley, 09.01.2009 10:25)
[Rd] Warning: missing text for item ... in \describe? , Prof Brian Ripley,
MODELS
added mad.const to guarantee for mad-consistency in location scale model
loc/scale model: standardization by n not by (n-1) as in case of sd .
minor modification, L2derivDistr in case of location and scale families
some modifications such that LnormScaleFamily works properly ...
bug in LnormScaleFamily corrected ...
modifyModel gains argument .withL2derivDistr ---
if false needs not be calculated (as e.g. this is done in a particular
method calling the general method first...)
TRAFO
fixed some inconsistencies with slot trafo:
now when trafo is a function, we try to keep it as a function under
moves of the parametric model...
we introduce
a function trafo.fct() (see ?trafo.fct)
to access the "function" aspect of trafo
a function trafoEst() which transforms an existing estimator of class "estimate"
consistently (i.e. with corresponding untransfromed.estimate and untransformed.asvar
information and transformed asvar) by a "trafo" function; see ?trafoEst
ESTIMATION
minor correction sqrt((n-1)/n)*sd(x)
enhanced Covariance calculation for CvMDist-MDE
modified output in show - Confint-class
PLOTTING
fixed issue with cex.inner
fixed bug in plot-methods for argument "inner" under use of to.draw.arg argument
realized suggestions by A. Unwin, Augsburg;
plot for L2paramFamilies may be restricted to selected subplots;
L2ParamFamily plot in distrMod is now are as flexible as plot-methods in pkg distr
small changes in AllPlot.R in distrMod
plot-L2ParamFamily now also digests ... , in particular grid()
some fix in order to cover the case of argument panel.first=grid()
in the ... argument (needs a delayed evaluation...)
BUGFIXES
some minor issues in L2GroupFamilies (if locscalename is missing)
fixed issue with MCE, MLE and MDE; these are also defined for ParamFamily class
objects; so they need not have an Information slot
fixed a bug in L2GroupFamilies:
it must be .getLogDeriv(centraldistribution) instead of .getLogDeriv(distribution)
enhanced plotting (correct dispatch; opening of new device is controlled
by option("newDevice") )
after JMC's changes: gone through setIs relations to ensure
"correct" inheritance
moved license to LGPL-3
new plot()-methods capabilities comparable to those of plot()-methods
in package distr():
plot-L2ParamFamily now also digests ... , in particular panel.first=grid()
corrected some buglets:
corrected small bug in SimpleL2ParamFamilies.R ...
corrected small bug in GumbelLocationFamily ...
small modifications to modifyModel.R
... modification of model a crucial step ... find a better way to do this???
new show() for 'confint'
new 'confint' methods for robust confidence intervals
##############
v 2.0
##############
start of the package
includes Parametric Models (with corresponding S4 classes)
parameter (realized as corresponding S4 class) is split up into
+main part
+nuisance part
+fixed part
may be transformed by user defined trafo function
includes Minimum Criterium Estimators (with corresponding S4 classes)
---with particular cases
+Maximum Likelihood
+Minimum Distance Estimators for
Kolmogorov, Hellinger, Totalvariation, and Cramer von Mises distance
Minimum Criterum Estimators can (but do not need to) use method dispatch;
this way particular methods beyond numerical optimization can be used
without changing distrMod code
has Symmetry classes (useful for avoiding unnecessary integrations)
has biastype classes
has norm classes (to be used for differently standardized risks and ICs)
includes confint() methods for our Estimator classes
features risk classes (mainly used in RobASt packages, though)