Change log file for ks
1.13.5
-Fixed inconsistency in code and help guide for kms().
-Added kde(density=TRUE) option to force non-negative KDE values.
-Fixed bug in 1D kcde(positive=TRUE).
1.13.4
-Removed calls to zero.flag=FALSE.
-Fixed in bug in kdr(y=y, pre=FALSE).
1.13.3
-Fixed matrix inverse calculation in Hns.diag().
-Added density ridge segmentation in kdr() and kdr.segment().
-Fixed bug in kdde.grid.3d() which computed the same values for all
derivatives.
-Added consistent alpha transparency and default colour scale behaviour for
plots.
-Added 3D kernel support estimate in ksupp() and in plot.ksupp().
-Added pre-sphered optimisation for "unconstr" and "dunconstr" pilots in Hpi()
and Hscv() to resolve numerical optimisation difficulties.
-Added REPORT=1 to print out progress reports for each iteration for calls to
optim().
-Changed to use "BFGS" rather than "Nelder-Mead" in optim() in
psifun2.unconstr().
-Fixed bug in Gunconstr.scv() so that Hscv(pilot="unconstr") and
Hscv(pilot="dunconstr", deriv.order=0) give same bandwidth.
-Added note on help page that zero.flag in predict.kde() is deprecated.
1.13.2
-Fixed bug in ploting group colours in plot.kms(, display="plot3D").
-Reinstated display="rgl" option for 3D KDEs in plot.kms().
-Fixed bug with transposed coordinates in pracma::quiver in plot.kdde(,
display="quiver")
-Fixed bugs in kde.truncate(), kdde.truncate() for normalisation and for
contour levels calculation.
-Fixed bugs in contourSizes(), contourProbs() which didn't allow for different
grid sizes.
-Added colour transparency parameter alpha for colour function in plot methods
for histde, kcde, kda, kdde, kde, kde.part, kms objects.
1.13.1
-Added contourProbs to approximate probabilities of level set of KDE.
-Changed from OceanView::quiver2D() to pracma::quiver() for quiver plot in
plot(,display="quiver").
-Added pracma to Imports. Removed OceanView from Suggests.
-Fixed bug for certain missing axis labels in plot.kdde().
-Reduced number of considered mixture models in Hmn(), Hnm.diag().
1.13.0
-Changed default colour schemes to be based on hcl.colors().
-Fixed bug in hlscv() in calling optimise().
-Fixed bugs in plotkda.1d() and plotkda.2d().
-Fixed bug in calculation of Abramsom bandwidth in kde.sp().
-Fixed bug in kde.balloon.2d() in re-normalising density estimate.
-Added pre-scaling option in kde.sp(), kdr(), Hpi.kcde().
-Fixed bug in contour labels in plotkd(d)e.2d(,display="filled.contour").
-Generated datasets quakesf, platesf as sf versions of quake, plate.
-Added variable names in output to kde.local.test().
-Added S3 contourLevels method for kcde objects.
-Added S3 predict method for kfs objects.
-Fixed bug in names field in output in kdr().
-Changed in hlscv() the default minimiser function to stats::bw.ucv(), and
default interval search limits.
1.12.0
-Fixed bug in rkde() to take into account weighted KDE.
-Fixed bug in contour level calcuations in plot.kde().
-Added names field to kda object in kda().
-Fixed bug in plot.kdde() which always used which.deriv.ind=1, and never passed
the col parameter to plot.kde().
-Fixed bug in plot.kcde(display="filled.contour") which didn't apply col or
col.fun, and replaced filled.contour() by .filled.contour().
-Fixed bug to reduce default binning grid limits in kde.loc.test().
-Fixed bugs in kda() and plot.kda.*d() to handle correctly factor grouping
variables.
-Fixed bug in kfs() and plot.kfs() for 1D Wald statistic.
-Fixed name labels in plate dataset.
-Added plot3D functionality plot(, display="plot3D") since RGL 3D plots face
an uncertain future but remain for the moment acessible via plot(,
display="rgl").
1.11.7
-Fixed small bug in help files to comply with R 3.6.3 CMD check.
1.11.6
-Changed dkde() to be an alias for predict.kde().
-Updated default.bgridsize() for d=4 to rep(15,4).
-Fixed bug in kdde.binned.nd() to force when keval is a vector to be 1-row
matrix.
1.11.5
-Fixed bugs in kde.1d() passing eval.points parameter and which didn't allow
unequal class proportions.
1.11.4
-Fixed error report in kde() incorrectly asserting to set "binned=TRUE" for
exact estimation.
-Fixed bug in line colour in plot.kcde().
-Fixed bug in kde.grid.nd() not passing verbose argument.
1.11.3
-Fixed bug to kda() which set prior.prob values to default sample proportion
even when set explicitly differently.
-Fixed bug in partition plot for 2D plot.kda().
1.11.2
-Fixed error in predict.kda() incorrectly assigning class labels.
-Replaced dnorm.deriv() by version from J.E.C to compute arbitrary derivatives.
-Added verbose option to kde.points().
1.11.1
-Fixed missing passing of h, H parameters in kde.positive.1d() and
kde.positive.2d().
-Fixed bug in kdecopula.de().
-Fixed bug in partition colours in 2D plot.kda().
-Changed default optim.fun="nlm" to optim.fun="optim" everywhere.
-Moved rgl, misc3d, OceanView from Imports to Suggests, so ks can run in
environments which can't install these visual functionalities.
-Fixed inconsistencies in gridsize and bgridsize default values in
ks.defaults().
-Added varying.grid.interp.*d() in predict method for non-uniform grids.
-Fixed bug in 1D predict.kde() with non-uniform grid (i.e. output from
kde(, positive=TRUE)).
-Extended limits of grid plotting for in plot.histde().
-Fixed bug in creating factor levels for estimated labels in kda().
-Added air, cardio, hsct, plate, quake, tempb datasets.
1.11.0
-Added multivariate version of rkde().
-Added histogram estimators histde().
-Simplified calculation of default values in kde(), etc.
-Changed default flag binned=FALSE to binned=default.bflag.
-Fixed estimated group labels calculation in kda().
-Fixed interpolation for d>3 in grid.interp() and predict.kde().
-Added histogram density estimate histde().
-Added kernel density estimate for bounded data kde.boundary().
-Added truncated kernel density estimate kde.truncate().
-Added kernel support estimate ksupp().
-Added kernel partition plot plot.kde.part().
-Added variable kernel density estimates vkde().
-Added quiver plot to plot.kdde() for deriv.order=1.
-Added kernel summary curvature kcurv() for deriv.order=2.
-Added World Bank data data(worldbank).
-Added any dim KDE in kde.grid.nd().
-Changed display="filled.contour" for 2D plots to not give adjacent colour
scale bar.
-Fixed bug in 1d kde.test() p-value to return scalar.
-Fixed bug in interp1d in ks.C which had assigned values outside of estimation
array.
1.10.7
-Changed mvtnorm from `Depends' to `Imports' in DESCRIPTION.
-Implemented per-block calculation for large sample sizes in kdde(,
binned=TRUE).
-Fixed small bug in col.fun for plot.kcde(, display="filled.contour2")
-Swapped order of computation of CDFs in kroc to prevent possible segmentation
faults.
-Fixed bug in default bandwidth for kcde().
-Fixed bug in default estimation grid limits for kda.nd().
-Corrected formulas for scalar pilots in gdscalar() to match those in book.
-Added feature significance function kfs().
1.10.6
-Registered native C routines in src/ks.c.
-Added kernel mean shift kms().
-Fixed bug in predict.kdde() for vector x for d>2.
1.10.5
-Fixed bug in invisible return values for plot.kda(), plot.kcde(), plot.kdde(),
plot.kde().
-Added more detail about eval.points in kde.Rd.
-Changed default approx.cont=TRUE in plot methods.
-Changed default to compute.cont=TRUE in estimation functions and
corresponding plot methods.
-Fixed bug in contour plot colours in plot.kdde() for 2D.
-Fixed bug in calculation of scalar pilot in gdscalar().
-Fixed bug in calculation of unconstrained SCV pilot in Gunconstr.scv().
1.10.4
-Fixed bug in plot.kde(,display="slice",abs.cont=) not plotting contours
correctly.
-Fixed bug in predict.kde(object, ..., x) by adding zero.flag which controls
behaviour when x is outside interpolation grid object$eval.points: TRUE = 0,
FALSE = object$estimate corr to nearest grid point.
1.10.3
-Fixed bugs in col specification in plot.kde(,disp="persp") and disp="image".
-Approx computation in contourLevels(,approx=TRUE) is now default.
-Boundary adjustments in binning() moved to C functions linbin*d.ks().
-Grid interpolation functions renamed from find.nearest.gridpts() to
grid.interp() and coded in C to increase speed.
-Reduced time complexity of loess smoother in kcopula().
1.10.2
-Improved speed for kde.points(), kdde.points().
-Improved speed for compare().
-Fixed missing xlab, ylab in plot.kde() for 2D KDE.
1.10.1
-Fixed small bug in find.nearest.gridpts when treating edge points.
-Modified pre.scale, pre.sphere to use sweep().
-Fixed lower edge interpolation in find.nearest.gridpts.1d().
-Fixed incorrect derivative order in kfe calculation in gdscalar(,binned=TRUE).
1.10.0
-Implemented binned estimation via symconv.1d(), symconv.nd() with
unconstrained b/w for kde(), kdde(), kfe(), dmvnorm.deriv.sum(), Hlscv()
Hscv().
-Added aliases Hucv(), Hcv.diag(), hucv() for Hlscv(), Hlscv.diag(), h.lscv().
-Added predict method for kda objects.
-Fixed inconsistency in plot.kde1d(,col=).
-Added 3d exact estimation and 3d plot for kdde().
-Adjusted calls to symconv.1d(), symconv.nd() in drvkde for feature library.
-Included calls to RGL plots in help file examples in \donttest{}.
-Moved dfltCounts(), drvkde() to feature library.
1.9.5
-Changed DESCRIPTION to comply with CRAN checks (e.g. imports etc.)
-Fixed inconsistencies in graphical parameters in plot() functions (e.g.
ptcol, cont.col, ...)
-Added raster graphics if available for display="image" and "filled.contour2"
plots.
1.9.4
-Removed explicit prior calculation of permutation derivative indices in
dmvnorm.deriv.sum().
-Fixed small bug in contourLevels.kdde() to make explicit call to
predict.kde().
1.9.3
-Removed copula.grid() and hence dependence on copula package.
-Fixed bug in displaying 2D contour level labels for plot.kde() and sorting
in contourSizes().
-Added amise=TRUE option to hpi.kcde().
-Modified kroc() to be line with updated mathematical definition.
1.9.2
-Changed binning=FALSE to binned=binned for Hpi(,pilot="dscalar"),
Hpi.diag(,pilot="dscalar").
-Fixed bug in binning behaviour in gdscalar().
1.9.1
-Fixed typos in help files
-Added new classes "kcopula" and "kcopula.de" for output from kcopula and
kcopula.de to distinguish them from "kcde" and "kde" objects.
-Exported matrix.sqrt().
-Added "exp" option for make.grid.ks().
1.9.0
-Added efficient recursive versions for dmvnorm.deriv(), Sdr(), Sdrv(),
nur(), nurs(), mur(), Qr() from Chacon & Duong (2014) Statist Comput.
-Fixed bug in Hscv(,binned=TRUE), Hscv.diag(,binned=TRUE) which was still
computing unbinned estimators.
-Fixed bug in 1-d KDA plot.
-Added sensitivity, specificity as output to compare().
-Made small changes to default selectors to be more consistent across
selectors.
-Fixed bug in point colour in rug plot for plotkda.1d().
-Added Hpi.diag.kcde().
-Added Lpdiff() (Lp distance for two functions) and copula.grid (true copula
evaluated on a grid).
-Fixed small bug in plotmixt(,draw=FALSE) to actually not draw plots.
-Added predict method for kde objects to replace kde.approx().
-Added option to compute 1-d KDE supported on [0,1] kde(,unit.interval=TRUE)
which calls kde.unit.interval().
-Changed default axes limits when plotkde.3d(, drawpoints=FALSE) from data
range to mean of KDE evaluation range.
-Fixed bug in default pilot selector for d>3 data in kda().
-Changed ad hoc argument matching to match.arg().
-Fixed bug in last line of lscv.mat().
-Added binned estimation to Hbcv(), Hbcv.diag().
-Added default binning flag function default.flag().
1.8.13
-Added boundary density estimator kde.boundary() for compactly supported
data.
-Added kernel density of copula nd copula density, i.e. kcopula() and
kcopula.de().
-Fixed small bug in plot.kcde(disp="slice", abs.cont=!missing), and
Hpi.kcde().
-Changed smoothing spline in kroc() to be evaluated on equally spaced
grid.
-Added thinning option for persp plots plot.kde(thin=), plot.kcde(thin=).
1.8.12
-Added kernel estimators for CDF kcde() and ROC curves kroc().
-Added default plug-in bandwidths to kda(), kcde(), kde(), kdde(),
kde.local.test(), kroc(), kde.test().
-Added warning when using non-diagonal bandwidths for binned estimation.
-Added plot and contourLevel methods for kdde objects.
-Modified plotmixt() to include derivatives.
-Added 1-d plug-in selectors hpi(,deriv.order>0).
-Merged kda() and kda.kde() into single kda() function.
-Changed "kda.kde" object class name to "kda".
1.8.11
-Added progress bars to compare.kda.cv(), compare.kda.diag.cv().
-Corrected critical df from d to 1 in kde.local.test().
1.8.10
-Fixed small bug in call to contourLevels(approx=) inside kde().
1.8.9
-Added kde.local.test() for local 2-sample test.
-Replaced foreign call to .C("massdist", package="stats") requested by
B. Ripley by call to .C("massdist1d", package="ks").
-Changed rug plot in plot.kda.kde() to rug-like plot, similar that in
plot.kde.loctest().
1.8.8
-Changed function header of Hpi.kfe() to be more consistent with Hpi().
-Added option Hpi.kfe(, pilot="dscalar") to ensure scale invariance in
p-values. This becomes the default over the previous pilot="unconstr".
-Added 1-d option in kde.test() and its required bandwidth hpi.kfe().
-Modified binned=TRUE option in kde.test() so that it is applied only to
bandwidth selection, and not the test statistic and its p-value.
-Removed default truncation in Hlscv(), Hlscv.diag() for deriv.order=0.
1.8.7
-Further improved speed of kfe(,Sdr.flag=FALSE) by computing unique
partial derivatives.
-Removed unused function dkde.weights() to compute optimal deconvolution
weights, and hence dependence on the kernlab library.
-Changed output from kfe(binned=TRUE) to be vector not 1-row matrix.
1.8.6
-Implemented calculation of Lebesgue measure of level sets of contours,
contourSizes().
-Implemented probability contour plot for 1-d KDE plot, i.e. analogue
to existing 2-d, 3-d contour plot(,disp="slice").
-Added recursive computations kfe(,Sdr.flag=FALSE) which don't compute
symmetriser matrices explicitly. These are then called in
Hpi(,Sdr.flag=TRUE) and Hscv(,Sdr.flag=FALSE).
-Changed pilot="dunconstr" to direct computation rather than indirect
eta form. This means that Hpi(,pilot="dunconstr", deriv.order=0) and
Hpi(,pilot="unconstr") now give the same result.
-Remove pilot="dsamse" option as this was more computation than
pilot="dscalar" but with little difference in the result.
1.8.5
-Fully unconstrained pilot selectors pilot="dunconstr" for Hscv(),
Hpi() for density derivative estimation.
-Unconstrained Hlscv() selector for density derivative estimation.
1.8.4
-Reinstated psi.ns code (more efficient than eta.kfe.y) and SAMSE
pilot estimators Hpi(, pilot="samse").
-Edited help manual.
1.8.3
-Added computationally efficient density derivative b/w selectors
Hpi(deriv.order=), Hscv(deriv.order=), and their diagonal counterparts
Hpi.diag(), Hlscv.diag().
-Added computationally efficient kernel functional estimators in
eta.kfe.y() used in kde.test().
-New pilot selectors for density derivatives.
-Added abs.cont capability to plot(, disp="filled.contour").
-Removed explicit expressions in psins() for d>2, replaced by
eta.kfe() evaluations.
-Removed psins() and Theta6() evaluations in gsamse and gamse.scv.
-Removed kfold arguments.
1.8.2
-Fixed bug in kde.points.sum() to avoid allocating large matrices for
unbalanced sample sizes for x and eval.points.
-Fixed bug in dmvnorm.deriv.sum() which had excluded last partition
class for double.loop=FALSE.
-Added binned options to kde.test().
-Fixed bug for exact estimation in kfe().
-Added plotting colours as function of z-value in plot.kde(,
disp="persp").
-Added decoupled calculation for Hlscv().
-Added optim.fun option to select optimiser function in Hpi, Hpi.diag,
Hlscv, Hlscv.diag, Hscv, Hscv.diag().
1.8.1
-Modified p-value calculation for large -ve Z-statistics.
-Fixed bug for binned estimation for unconstrained bandwidths for kde().
1.8.0
-Added density derivative selectors Hpi(,deriv.order=r),
Hlscv(,deriv.order=r) for r>0 from J.E. Chacon.
-Changed vech(H) terms to vec(H) in AMISE estimators.
-Changed default binning gridsize for 3-d data from rep(51,3) to
rep(31,3).
-Added verbose option to b/w selectors (in double sum) for tracking
progress.
-Changed LSCV, SCV selectors optimisation from Nelder-Mead to BFGS.
-Changed Fortran linear binning code to C (and fixed bugs in Fortran
code).
-Added modification to linear binning for boundary points.
-Removed explicit derivatives in BCV selector optimisation.
1.7.4
-Fixed small bug in partitioning method for kde.points.sum().
1.7.3
-Changed partitioning method for dmvnorm.deriv.sum() and
kde.points.sum().
1.7.2
-Changed p-value calculation for kde.test().
1.7.1
-Reinstated single partial derivative of mv normal for scalar variance
matrix dmvnorm.deriv.scalar.sum() for use in AMSE pilot plug-in
selectors.
-More efficient form of kdde().
1.7.0
-Added KDE-based 2-sample test kde.test().
-Modified output of plotmixt().
-Added "double.loop" option to kfe() for large samples - increases
running time, reduces memory.
-Modified dmvnorm.deriv.sum() to improve memory memory management for
large samples.
-Cleaned up code for plug-in bandwidth selectors and kernel functional
estimators.
-Cleaned up help files.
-Disabled kfold b/w selectors.
1.6.13
-Added flag to automatically compute probability contour levels in kde().
1.6.11
-Added own version of filled contours as option disp="filled.contour2"
and different colours for disp="slice" contours.
1.6.10
-Added k-fold b/w selectors.
1.6.9
-Added approximate option in contourLevels().
-Added kdde() kernel density derivative estimators.
1.6.8
-Added 1-d LSCV selector hlscv().
1.6.7
-Corrected ISE for normal mixtures, from J.E. Chacon.
1.6.6
-Added MISE, AMISE, ISE functions for normal mixtures derivatives.
-Changed internal double sum calculations from J.E. Chacon.
1.6.x
-1-d binned KDE fix from M.P. Wand.
-Streamlined code sharing with feature package (all binning code now
contained only in ks).
-Reorganised and renamed internal bandwidth selection functions,
mostly double sums of normal densities .
1.5.11
-Fixed small bugs in drvkde, vech, Hpi(, pilot="unconstr")
1.5.10
-Added drvkde (kernel density derivative estimator 1-d) from feature
using M.P. Wand's code.
1.5.x
-Added normal mixture (A)MISE-optimal selectors: hamise.mixt,
hmise.mixt, Hamise.mixt, Hmise.mixt.
-Added distribution functions for 1-d KDEs: dkde, pdke, qkde, rkde.
-Added plug-in selectors for 1-d data (exactly the code for dpik from
KernSmooth). For KDE, this is hpi, for KDA, this is hkda(,
bw="plugin").
-Made changes to specifying line colour (col rather than lcol) in
plot.kde, plot.kda.kde and partition class colour (partcol) in
plot.kda.kde.
-Added plot3d() capabilities from rgl to 3-d plot - removing own axes
drawing functions.
-New functions to compute pilot functional estimators
hat{psi}_r(g). These are exact, and are more efficient than binned
estimators for small samples (~100), and are available in d > 4.
1.4.x
-Vignette illustrating 2-d KDE added
-Binned estimation implemented for KDE with diagonal selectors and
pilot functional estimation with diagonal selectors.
-Filled contour plots added as disp=filled option in plot.kde().
-compare.kda.cv() and compare.cv() modified to improve speed.
-Hscv.diag() and Hbcv.diag() added for completeness.
1.3.5
-Fixed small bug in compare.kda.cv() and compare.kda.diag.cv().
1.3.4
-RGL-type plots added for 3-d data. Specification of 3-d contour
levels now same order as 2-d contours.
1.3.x
-Multivariate (for 3 to 6 dimensions inclusive) bandwidth selectors
added for Hpi(), Hpi.diag(), Hlscv(), Hlscv.diag() and Hscv(). NB:
because Hbcv() and Hbcv.diag() performed poorly for 2-d, these
weren't implemented in higher dimensions.
1.2.x
-Package checked by CRAN testers and accepted on the CRAN website. To
pass all the necessary checks involved some internal programming
changes but has not affected the user interface.
-The child mortality data set unicef is used in the examples.
1.1.x
-S3 type objects have been introduced. The output from kde() are
`kde' objects. The output from kda.kde() and pda.pde() are `dade'
objects. Corresponding plot functions are called automatically by
invoking `plot'.
-Kernel discriminant analysers are now available. Parametric (linear
and quadratic) discriminant analysers are accessed using `pda'.
-adapt library is no longer required. This was formerly used on the
functions for integrated squared error computations ise.mixt() and
iset.mixt().