Changes from Version 0.40-13 to 0.50-1 [13-Mar-2013] * The functions npudist() and npudistbw() are now uncoupled from npudens and npudensbw (previously they relied on unconditional PDF bandwidths due to the lack of a multivariate mixed-data method for selecting bandwidths for CDFs - now with Li & Racine (2013) we have a robust method hence the split) * The use of cdf=TRUE is deprecated for npudens and npudensbw objects due to the uncoupling described above * Fixed glitch in gradient standard errors in npindex where identical standard errors were output in model$gerr * Fixed glitch in covariance matrix in npindex (ichimura) where covariance matrix was not symmetric * Fixed glitch in npksum() where use of bwtype="adaptive_nn" and operator="integral" produced the survivor function rather than the cumulative distribution function * Cleaned up internals for npcmstest() * Using .onUnload rather than .Last.lib in zzz.R * Fixed glitch in npreg() summary where `Residual standard error' was reporting residual variance * npksum() functionality extended - npksum() can now return the matrix of kernel weights (which can be useful for constrained estimation, by way of illustration, or constructing novel kernel-based procedures without the need to write extensive code) - npksum() can now accept different operators on a product kernel, for example, npksum(txdat=data.frame(x1,x2),operator=c("derivative","normal"),bws=c(1,1)) will use the derivative kernel for x1 (i.e. the derivative of the gaussian kernel) and the default kernel for x2 (i.e. a standard kernel such as the gaussian) thereby allowing the user to program a number of estimators such as conditional CDFs etc. that were previously not available via npksum() * Fixed glitch with variable scope where certain objects could not be found in the environment * Added function `npcopula()' for d-dimensional copula estimation via inversion * Modified stopping rules in npregiv and npregivderiv * Added reference to R2 measure (Doksum and Samarov (1995)) * Startup message points to the faq, faq is now a vignette Changes from Version 0.40-12 to 0.40-13 [05-Mar-2012] * Added new function npregivderiv() that implements the IV derivative method of Florens and Racine (2012) * Added more passable parameters to npregiv() (multistarting, parameters passed to optim() for cross-validation) * Changes to code to improve compliance with R `Writing portable packages' guidelines and correct partial argument matches Changes from Version 0.40-11 to 0.40-12 [24-Nov-2011] * Added option (user request) to hold the bandwidth fixed but optimize the parameters in the single index model Changes from Version 0.40-10 to 0.40-11 [24-Oct-2011] * Corrected regression in single index errors Changes from Version 0.40-9 to 0.40-10 [24-Oct-2011] * Modified Silverman's adaptive measure of spread to reflect changes in sd() (sd on matrix deprecated) Changes from Version 0.40-8 to 0.40-9 [30-July-2011] * Renamed COPYING file to COPYRIGHTS Changes from Version 0.40-7 to 0.40-8 [29-July-2011] * Fixed issue where calling npplot resets system seed * Updated examples in docs so that plot is recommended throughout (and not npplot that is invoked by plot) * Fixed regression in npindex when gradients=TRUE and errors=TRUE * Function npindex/npindexbw now accepts additional arguments and implements this properly (i.e. proper implementation by Tristen of Version 0.30-8/0.30-9 change for npindex) * Function npplreg now supports factors in the parametric part just like lm() does * Fixed glitch in jksum.c where the use of weights and adaptive bws could segfault. Changes from Version 0.40-6 to 0.40-7 [8-Jun-2011] * Function npregiv now supports exogenous X and multivariate Z and W. * demo(npregiv) provides a useful illustration. Changes from Version 0.40-5 to 0.40-6 [1-Jun-2011] * Added a new function npregiv that conducts nonparametric instrumental regression a la Darolles, Fan, Florens and Renault (2011, forthcoming, Econometrica) and Horowitz (2011, Econometrica). Note that this function currently returns the fitted phi(z) (i.e. lacks much functionality relative to other np functions) and is in `beta status' until further notice. * Added a new dataset `Engel95' that allows one to estimate Engel curves using the new nonparametric instrumental regression function npregiv. Changes from Version 0.40-4 to 0.40-5 [26-Apr-2011] * Fixed issue with npindexbw where, for certain problems, starting values needed refinement otherwise convergence would fail (we now use an improved normalization for the starting values) Changes from Version 0.40-3 to 0.40-4 [21-Jan-2011] * Fixed issue with ckertype and ckerorder not being propagated in np.singleindex.bw.R * Fixed issue with negative penalties being returned by cv.aic in npregbw (ought to have been +infinity) Changes from Version 0.40-1 to 0.40-3 [23-Jul-2010] * Added random seed (defaults to 42) to npscoefbw to ensure consistent values for optimization for successive invocations on the same data * Fixed glitch in multistarting in npscoefbw whereby multistarting was not working (always returned last computed function value and not the minimum) * Fixed issue for npRmpi where the C code underlying regression cross-validation (code in jksum.c) differs between np and npRmpi (both were correct with the latter being a tad slower, now both use unified code base) * Fixed a scope issue whereby a user would write a function that calls an np/npRmpi command, however, objects passed to the user's function and called by the np/npRmpi command (i.e. such as newdata) cannot be found in the environment yet they exist outside of the function * Fixed issue with bwscaling=TRUE and bwmethod="cv.aic" in npreg Changes from Version 0.40-0 to 0.40-1 [4-Jun-2010] * Added asymptotic standard errors to npindex for the Klein and Spady and Ichimura parameter estimates which, when gradients=TRUE, can be extracted via vcov(foo) where foo is a npsingleindex object (the Z-scores can be obtained via Z<-coef(foo)[-1]/sqrt(diag(vcov(foo)))[-1]) Changes from Version 0.30-9 to 0.40-0 [25-May-2010] * Modified codebase to enable dynamic spawning for interactive sessions in npRmpi * Interactive examples supported in npRmpi Changes from Version 0.30-8 to 0.30-9 [17-May-2010] * Fixed issue where ukertype and okertype were being ignored by npindex * Fixed regression (dating to version 0.30-4) where random.seed=42 was not initialized in functions npcmstest, npdeneqtest, npindexbw, npsdeptest, npqcmstest, npsigtest, npsymtest, npunitest, and npplot * Fixed issue with saving and restoring random seed in npdeptest * Changes to codebase to modify method used to prevent division by zero * New vignette for the npRmpi package (vignette("npRmpi",package="npRmpi")) Changes from Version 0.30-7 to 0.30-8 [20-Apr-2010] * Implemented moment version of metric entropy in npsymtest and npunitest with warnings about their use documented carefully and exceptions trapped and warnings issuing when detected * Cleaned up print/summary output formatting of some functions Changes from Version 0.30-6 to 0.30-7 [15-Feb-2010] * Added function npunitest for entropy-based testing of equality of univariate densities as described in Maasoumi and Racine (2002, 2009) * Updated vignette to reflect new functions (Table 1: np functions) Changes from Version 0.30-5 to 0.30-6 [3-Feb-2010] * Added function npsdeptest for entropy-based testing of nonlinear serial dependence described in Granger, Maasoumi and Racine (2004) * Added function npdeptest for entropy-based testing of nonlinear pairwise dependence described in Maasoumi and Racine (2002) * Added more bootstrap options to npsymtest (now both iid and time-series bootstrapping are supported) * Cleaned up summary formatting in the vignette by adding \usepackage[utf8x]{inputenc} to the Sweave file np.Rnw * Fixed issue with saving and restoring random seed when there was none in the environment Changes from Version 0.30-4 to 0.30-5 [29-Jan-2010] * Added function npdeneqtest for integrated squared difference testing of equality of densities as described in Maasoumi, Li, and Racine (2009), Journal of Econometrics * Save random seed prior to setting seed in certain functions, then restore seed after function completes Changes from Version 0.30-3 to 0.30-4 [27-Jan-2010] * Added function npsymtest for entropy-based testing of symmetry described in Maasoumi and Racine (2009), Econometric Reviews * Added function b.star that automates block length selection for the stationary and circular bootstrap * Cleaned up docs Changes from Version 0.30-2 to 0.30-3 [29-May-2009] * Corrected error in Epanechnikov convolution kernels for fixed and generalized bandwidth objects * Changed default example in npscoef Changes from Version 0.30-1 to 0.30-2 [19-Apr-2009] * min(std,IQR/1.348) is the adaptive measure of spread. We now test for the pathological case where IQR is zero but std > 0 and return std in this instance Changes from Version 0.30-0 to 0.30-1 [29-Jan-2009] * predict now supports bandwidth, density, distribution, conbandwidth, condensity, and condistribution objects * Consistently allow predictions for categorical values outside of support of training data Note that predictions based upon unconditional density objects defined over categorical variables that lie outside the support of the training data may no longer be true probabilities (i.e., as defined over the training data and the extended/augmented support -- their sum may exceed one) and may therefore require renormalization by the user * Fixed a numerical issue which could hinder npregbw()'s cross validation with higher-order kernels * Default nmulti in npplregbw() is now set correctly * Fixed a bug with the ridging routine in npscoefbw(), added ridging to npscoef * Fixed trivial i/o issue with "Multistart 1 of" using npscoefbw() Changes from Version 0.20-4 to 0.30-0 [15-Jan-2009] * Added basic user-interrupt checking for all underlying C code so that either (Rterm) or the `STOP' icon (Rgui) will interrupt all running processes. This has a number of desirable side effects in addition to being able to interrupt C-based processes including i) R no longer showing up as `not responding' under the task manager (Windows) or the activity monitor (Mac OS X) and ii) buffered output now being correctly displayed when using Rgui under Windows and Mac OS X Note that repeated interruption of large jobs can reduce available memory under R - if this becomes an issue (i.e., you get a `cannot allocate...' error under R) simply restart R (i.e., exit then run a fresh R session) * Added a function npseed() that allows the user to set/reset the random seed for all underlying C routines * Fixed a bug that caused npplregbw() to ignore any kernel options for the regression of y on z * Refined certain constants used in the normal-reference density bandwidth rule for increased accuracy * Moved from using the maximum likelihood estimate of variance throughout to the degrees of freedom corrected estimate (all variance estimates now change by the factor (n-1)/n) Changes from Version 0.20-3 to 0.20-4 [19-Nov-2008] * Using an adaptive measure of spread throughout. The scale factor reported for a bandwidth can appear to be small when the standard deviation is inflated due to the presence of outliers. Furthermore, supplying a scale factor of, say, 1.06 for density estimation when there are outliers that inflate the standard deviation may oversmooth rather dramatically in the presence of outliers. We now use the measure found in Silverman (1986, equation (3.30)) which is min(standard deviation, interquartile range/1.349). This robust choice produces expected results for scale factors in the presence of outliers Changes from Version 0.20-2 to 0.20-3 [14-Nov-2008] * Fixed a typo which caused predict() and plot() to abort when called on plregression objects, and which also prevented print() and summary() from printing information about the kernels used when called on plregression objects * Fixed a typo which caused partially linear regressions to crash when out-of-sample responses were provided with evaluation data Changes from Version 0.20-1 to 0.20-2 [02-Nov-2008] * Allow for evaluation outside of discrete support of factors in npksum() and fixed a warning in jksum * Fixed a bug which lead to unpredictable behavior when there were more categorical values for the training data than realisations Changes from Version 0.20-0 to 0.20-1 [13-Aug-2008] * Work-around for scale-factor issues during npregbw() cv when changing the training data Changes from Version 0.14-3 to 0.20-0 [28-Jul-2008] * npksum() now supports an expanded set of kernels (including convolution, derivative and integral), which can be selected via the 'operator' argument * Automatic bandwidth searches are now performed when attempting to evaluate on data without bandwidths. This allows users to combine bandwidth selection and estimation in one step * The npsigtest() interface is brought in line with other functions (S3) * Significance tests can now be performed on npreg() outputs, so npsigtest(modelname) is now supported * Added a vignette and faq. To see the vignette try vignette("np",package="np") * summary() on npconmode() now properly retrieves names from bandwidth objects * Fixed the 6th and 8th order epanechnikov kernels * Fixed some quietness issues * npplot() now returns data upon request for conditional densities * npreg() and npcdens() now take the appropriate limits in some pathological cases * User supplied bandwidths now operate seamlessly with the formula interface Changes from Version 0.14-2 to 0.14-3 [02-May-2008] * Fixed a glitch that only arose when using the `liracine' unordered kernel in the presence of irrelevant variables. The upper bound for numerical search was constrained to be (c-1)/c [that for the aitchisonaitken unordered kernel] but ought to have been 1. The summary output would therefore show a value of lambda hitting the (smaller) upper bound (c-1)/1 when it may have hit the (larger) upper bound 1 Changes from Version 0.14-1 to 0.14-2 [11-Jan-2008] * Relaxed checking tolerances slightly to prevent spurious 'invalid bandwidth' errors * Empty sections were removed from help files * example(foobar) now works again. This was disabled in 0.14-1 at the request of the R maintainers in order to shorten the duration of R CMD check. All examples remained in the help files but due to the presence of `dontrun' they were not run when examples(foobar) is requested. Now a limited subset are run while the full set of examples remain in the documents Changes from Version 0.13-1 to 0.14-1 [18-Dec-2007] * Now use optim for minimisation in single index and smooth coefficient models * Fixed bug in klein-spady objective function * Standard errors are now available in the case of no continuous variables * Summary should look prettier, print additional information * Tidied up lingering issues with out-of-sample data and conditional modes * Fixed error when plotting asymptotic errors with conditional densities * Fixed a bug in npplot() with partially linear regressions and plot.behavior='data' or 'plot-data' * Maximum default number of multistarts is 5 * Least-squares cross-validation of conditional densities uses a new, much faster algorithm * New, faster algorithm for least-squares cross-validation for both local-constant and local linear regressions Note that the estimator has changed somewhat: both cross-validation and the estimator itself use a method of shrinking towards the local constant estimator when singularity would otherwise lead to the breakdown of the estimator. This arises in sparse data settings in conjunction with small bandwidths for one or more regressor * Optimised smooth coefficient code, added ridging * Fixed bug in uniform CDF kernel * Fixed bug where npindexbw() would ignore bandwidth.compute = FALSE and compute bandwidths when supplied with a preexisting bw object * Now can handle estimation out of discrete support * Summary would misreport the values of discrete scale factors which were computed with bwscaling = TRUE Changes from Version 0.12-1 to 0.13-1 [03-May-2007] * Bandwidths are now checked for validity based on their variable and kernel types * np now does a better job of preserving names of some 'y' data * Names of coefficients returned from coef() now match variable names * Fixed some corner cases in npksum() involving the dimensionality of outputs * Fixed deprecation warnings in R 2.5.0 caused by use of $ on atomic objects * Various and sundry bug fixes in npscoef() * npscoef() now handles discrete 'z' data * Predict now accepts the argument 'se.fit', like predict.lm * Fixed bug where incorrect asymptotic standard errors of gradients for regression objects were being displayed in npplot() * Fixed bug where errors of gradients of regression objects were not being returned in matrix form * vcov() now works with partially linear regression objects * Fixed detection of evaluation responses when using the formula interface * Pre-computed bandwidth objects are now provided for some of the more computationally burdensome examples * Added Jeffrey Wooldridge's WAGE1 dataset with qualitative variables (married, female, nonwhite) * Predictions outside of discrete support for regressions and conditional densities are now allowed * Fixed sign issue with scaling of standard errors in the single index model * Fixed error when calculating some bandwidths/scale factors for display purposes * Bug in passing certain arguments to npcdensbw() fixed * Added predict method for qregression objects * Proper normalisation for liracine kernel shown in summary * Fixed output bug ($\hat ~$H) in summary method for sigtest objects * Fixed regression with plotting of bootstrapped errors in perspective plots * npcdist() no longer incorrectly calls npcdens() * Fixed spacing between var name and p-value in significance test summaries Version 0.12-1 [19-Nov-2006] * Initial release of the np package on CRAN