Improve data= diagnostics for directly supplied,
unbound native observation names across estimator and bandwidth
interfaces, including direct default methods. Preserve formula
factories, legitimate data consumers and evaluation order; native inputs
still use ordinary R evaluation rather than a data mask.
Preserve explicit data=NULL when reusing
formula-bearing least-squares quantile bandwidth objects, and retain the
stored-sample diagnostic for prohibited replacement data. Unsupported
native data remains an error.
Clarify the partially linear formula-bandwidth plot route’s
data support.
Native data= rejection also handles arguments
forwarded through wrapper ellipses without forcing their
values.
Native methods now reject unsupported data,
including explicit data=NULL, with guidance to use formula
calls, explicit inputs or with(data, ...). Formula refits
and genuine native data consumers retain their interfaces.
Plot routes that do not consume replacement data now reject
it, while the supported partially linear formula-bandwidth route retains
that input. The IV native calls also diagnose bare unbound response
names accompanied by z, w and
data without evaluating that data argument.
Update the getting-started guide to describe supported
simultaneous asymptotic bands and the required released crs
dependency.
Asymptotic simultaneous plots now report unavailable joint bands when compact-support degeneracy leaves their correlation or marginal uncertainty unidentified, preserving available pointwise and Bonferroni bands. Projected class probabilities no longer acquire zero-width simultaneous bands solely because clipping or probability projection has flattened their local derivative.
Clarify the conditional-response working covariance used by quantile and class-probability bands and its limitations at fixed nonshrinking bandwidths.
Copula plots with repeated grid coordinates now draw asymptotic simultaneous bands consistently, retaining every requested output row. Identical targets share one calibrated band; conflicting duplicates are still rejected.
Use portable explicit dependencies for conditional-kernel source fragments, preserving incremental rebuilds without GNU Makefile extensions. Declare the private conditional transport dependency for static R-code checks and update the SSHRC funding URL. Estimator computations are unchanged.
Conditional density, distribution, quantile and class-probability fitting and replay now use the same literal categorical kernels on both X and Y. Near-upper categorical bandwidths no longer select an approximate constant target for some requests. Direct regression and unconditional kernel-sum behavior and caller options are preserved. Older conmode objects retain stored-value extraction; reconstructing uncertainty around historical stored values requires an explicit refit.
Document numerical-conditioning limitations of raw-basis conditional local-polynomial fits. The Italy examples now centre calendar years and apply the same offset to prediction data; estimator arithmetic, defaults and conditioning checks are unchanged.
Copula distribution plots with only ordered margins now construct adaptive nearest-neighbor simultaneous bands using their finite-support CDF factors.
Class-probability surfaces reject repeated conditioning-variable selectors before evaluating or drawing a misaligned grid.
Explicit scalar-quantile perspective requests, including least-squares quantile objects, now draw their requested surfaces. Default slice plots, vector-quantile and gradient layouts retain their existing behavior.
Class-probability surfaces draw their available asymptotic intervals. Copula surfaces preserve statistical rows while mapping identical display coordinates; conflicting duplicates are rejected rather than averaged.
Nearest-neighbor copula density bands include shared-observation covariance between the numerator and both estimated marginals, conditional on the fitted smoothing state and fixed inverse coordinates. This does not include uncertainty from estimating the inverse-coordinate grid.
Data-only regression plots preserve the caller’s graphics state. Rendered regression plots retain their existing cleanup behavior.
Least-squares quantile objects diagnose duplicate quantile levels before plot preparation, retaining the existing rejection contract.
Correct single-index gradient plots with asymmetric bootstrap bands when an index coefficient is negative: lower and upper widths now exchange roles before scaling, including all-band data and rendering.
Preserve the caller’s graphics state during data-only density, distribution, conditional, single-index, smooth-coefficient and partially linear plots. Rendered plots retain their existing cleanup behavior.
Class-probability gradient plots now render the legacy
band="pmzsd" pointwise alias with the correct
palette.
Conditional-quantile plots reject unsupported derivative orders instead of labelling first derivatives as higher derivatives. First derivatives, LSQ and conditional-distribution derivative contracts are unchanged.
Quantile, least-squares quantile, class-probability and copula plots now offer Gaussian simultaneous variability bands over each requested finite panel grid. Supported local-constant/local-polynomial, continuous-gradient, categorical-effect and nearest-neighbor routes follow each estimator’s existing API. Joint inference retains shared-observation covariance and reports unavailable limits for nonregular or uncertified configurations. These are variability bands conditional on the documented fitted smoothing state, not smoothing-bias-corrected population confidence bands. Existing pointwise and Bonferroni contracts are retained.
Preserve the accepted conditional-CDF arithmetic for all-large ridge maps and bounded beta-kernel deleted fits. Response translation is now confined to constant-reproducing, numerically suitable conditional owners; the estimator’s existing objective, solve and fixed-regression paths are unchanged.
Stabilize conditional local-polynomial distribution fits for saturated responses without changing the basis or accepted solver. Conditional categorical-response gradient uncertainty and simultaneous plots now use the fitted operator’s effective category weights, including exact zero uncertainty for a constant effective response.
Conditional LC density/distribution gradient bands now reconstruct unordered explanatory-factor weights from the estimator’s effective native kernel owner, including weights near their upper bound. Fitted gradients, marginal standard errors, bandwidth selection and other plot routes are unchanged.
Density and distribution plots now offer Gaussian simultaneous variability bands for supported fixed and nearest-neighbor specifications, conditional LP/gradient panels, and level surfaces. Existing marginal standard errors are retained; Gaussian simulation uses 9,999 draws by default. Proper projections retain their previous marginal uncertainty contracts; the additional four-family joint bands are described above.
Correct conditional density/distribution Bonferroni surface multiplicity to use the full evaluation grid; previously a vector row count reduced it to one.
Partially linear asymptotic plots warn when the fitted curve is numerically unstable at evaluation points. Their marginal limits are NA at those points, and simultaneous limits are NA for the affected panel; other points and panels retain their available uncertainty. The fitted curve is preserved.
Partially linear asymptotic plots reuse their nuisance fits’ accepted local factorization for influence calculations, preserving fitted values and ridge policy. Reconstruction is checked on the plotted SE scale. Training work is reused within a plot and consumed in bounded blocks, including nearest-neighbor geometry. Pointwise, simultaneous and Bonferroni bands share the corrected SEs.
Simulated Gaussian critical values are bounded by the analytical pointwise and Bonferroni critical values, preserving band nesting despite Monte Carlo variation. Calibration metadata retains the raw simulated critical value.
Unavailable simultaneous-only plot limits retain their NA rows, aligned with retained fitted centers. Smooth-coefficient and partially linear displays retain a finite axis range when the requested joint limits are unavailable.
Regression, single-index and smooth-coefficient joint-band
reconstruction, residual-information and workspace limitations now
produce a warning and NA simultaneous limits; band="all"
retains its pointwise and Bonferroni bands. Invalid arguments and
unexpected errors still fail explicitly. The estimator, ridge policy and
reconstruction tolerances are unchanged.
Plot bootstrap defaults previously set to B=1999 are
now B=9999, including copula plots. Class-probability plots
retain B=399. Gaussian simultaneous calibration defaults to
9,999 draws. Bootstrap warnings distinguish bare tail resolution from
endpoint precision; Gaussian warnings use an alpha-dependent Monte Carlo
precision target for the maximum probability. Explicit counts remain
unchanged, and estimator and hypothesis-test bootstrap defaults are
unaffected.
Gaussian simultaneous plot intervals now include unordered and ordered categorical panels for regression, smooth-coefficient and partially linear means, and the existing supported gradients. Regression categorical gradients retain endpoint cross-covariances and the established reference or adjacent-level contrast convention. All-categorical local-constant smoothing is included. Existing categorical contrast definitions and bootstrap constructions are preserved.
Gaussian simultaneous plot bands also support generalized and adaptive nearest-neighbor bandwidths. Training residual normalization preserves the estimator’s training-radius convention. Partially linear mean curves and surfaces now use a complete response influence map, including coefficient estimation and all shared-observation cross-covariances. This corrects their pointwise and Bonferroni plot SEs as well; fitted values, coefficient vcov and bootstrap procedures are unchanged. The additional computation is confined to requested asymptotic plot uncertainty.
Asymptotic Gaussian simultaneous bands now include supported
regression, single-index and smooth-coefficient gradients, and
regression and smooth-coefficient mean surfaces in perspective and rgl
plots. Surface calibration uses observation influence factors without a
square grid covariance matrix. gaussian.draws uses a fixed
draw count. The fixed one-million draw ceiling has been removed;
allocation checks remain. Gaussian simulation reports draw progress and
elapsed time using the bootstrap heartbeat mechanism.
Plot joint-band admission now honors the existing legacy argument abbreviations consistently with full method and band names.
Regression, single-index and smooth-coefficient mean plots now
offer asymptotic Gaussian simultaneous variability bands over each
panel’s finite grid for fixed-bandwidth LC/LL/LP fits with second-order
Gaussian or Epanechnikov kernels. gaussian.draws controls
the Gaussian calibration separately from bootstrap B; joint
requests report unavailable residual information explicitly.
Single-index bands condition on the fitted index coefficients;
smooth-coefficient bands use the noniterated mean and accepted raw
residuals, with explicit reconstruction checks.
predict() for location-scale quantile fits now
accepts named tau to select stored quantiles in the
requested order, with aligned standard errors and training scores.
Omitted or NULL tau retains the original behavior; unfitted
quantiles fail clearly without bandwidth selection or
recalibration.
Local-smoothing quantile refits with explicit data and a new subset now use the requested rows when the starting regression bandwidth also had a subset. Omitting a new subset continues to replay the original selection.
Formula subset provenance now survives bandwidth reuse,
serialization, and forwarding through lexical callbacks. Single-index
evaluation records rows removed after na.pass or
NULL, and native vector labels support named prediction
data. Formula single-index calls no longer retain generic
frames.
Formula single-index evaluation now honors an explicit
na.action for predictor rows, including
na.exclude prediction padding and na.fail.
Omitted evaluation policies, retained training samples and native
evaluation precedence are unchanged; missing scoring outcomes do not
remove predictions.
Forwarded formula subsets retain caller-local masks and loop variables as well as data-column lookup, including single-index and local-smoothing quantile fits.
Native fits that construct bandwidths keep compact response labels rather than embedding response values in the reported variable name.
Smooth-coefficient refits using z=x report consistent smoothing-role metadata and print bandwidth summaries without spurious warnings.
Kernel documentation now describes beta support for mixed-data and local-linear/local-polynomial regression and conditional estimation.
Response-only native refits keep the retained design, while partial design replacements still require the other training roles. Smooth-coefficient fits using the default z=x retain that convention for prediction and refitting.
Fits that select bandwidths use the first realization of supplied search controls. Forwarded local-smoothing quantile subsets retain their data mask.
Partial positional training replacements no longer combine new observations with a bandwidth object’s old sample. Supply all required training roles; the smooth-coefficient default uses the newly supplied predictors for smoothing.
Formula-based local-smoothing quantile predictions process positional newdata using trained terms and predictor names, including transformed predictors.
Local-smoothing quantile subsets on regression bandwidth objects use the data mask once and accept NULL/TRUE no-op subsets. Stored LSQ bandwidth objects report an error for replacement training controls instead of ignoring them.
Explicit single-index evaluation outcomes now enforce response-scale compatibility; numeric outcomes remain valid for numeric-labelled ordered training responses.
Regression bandwidth documentation reflects beta-kernel support for local-linear/local-polynomial and mixed-predictor regression.
Match positional native training arguments before reusing retained data, while preserving positional evaluation arguments in fitted-object prediction.
Local-smoothing quantile calls evaluate supplied arguments once in their originating scope, including pooled calls and progress-wrapper re-entry. Applying a row-changing subset to a retained formula regression bandwidth requires explicit data.
Smooth-coefficient predictions preserve known training MSE even when the original fit was scored against alternative outcomes. Vector-quantile prediction reports one residual.scale value per tau.
Automatic Ichimura diagnostics do not score numeric outcomes against a model trained on factor codes. Explicit outcomes must use a compatible training-response scale.
Conditional density/distribution perspective surfaces and regression plot-data objects retain grid dimensions and trained variable names. Smooth-coefficient plot-data objects report unavailable goodness-of-fit scores as NA.
Initialize guarded native temporaries and remove unused categorical-profile bookkeeping to avoid compiler warnings without changing estimator arithmetic.
Local-smoothing quantile fits reuse the retained sample and bandwidth specification of formula-based regression bandwidth objects.
Partially linear plot surfaces retain predictor names and grid dimensions, including non-syntactic native predictor names, so their returned model objects support print() and summary().
Local-smoothing quantile bandwidth selection can re-enter its progress wrapper from private method calls without a function-lookup error.
Native search interrupt handling uses a portable R API on Windows and Unix. For interrupts observed by R, hooks and traceback run after cleanup; an explicit request to resume a released search fails with a clear error. Terminal SIGINT handled directly by the search dependency retains that dependency’s existing error behavior; it does not use this R-observed interrupt path.
Partially linear plot-data objects report unavailable goodness-of-fit scores as NA instead of shifting the training MSE into the R-squared field.
Klein-Spady automatic degree searches reject a single-class complete sample before entering NOMAD and identify class loss after omission clearly.
Automatic single-index prediction diagnostics now tolerate incompatible factor outcomes; explicit outcome requests remain strictly validated.
Prediction residual.scale no longer reuses old training MSE for positional training-data overrides. Smooth-coefficient and local-smoothing quantile predictions also report known training MSE, or NA when unavailable, without an extra fit. Local-smoothing quantile scale refers to its transformed response.
Klein-Spady bandwidth selection accepts missing binary outcomes and checks that both classes remain after joint predictor/response omission. Native calls no longer reject valid incomplete samples or admit samples that lose a response class during omission.
Regression prediction with se.fit=TRUE reports available training MSE as residual.scale, preserving its historical units. Evaluation MSE is never substituted; unavailable training information is reported as NA.
Regression NN bandwidth-constructor refits also validate against the current complete sample. Predictor-only regression evaluations report unavailable goodness-of-fit scores as NA, without additional fitting work.
Contained R-observed native-search progress interrupts now restore R’s interrupt/error hooks and traceback after cleanup. Message-bearing constructed conditions retain their original identity and reporting.
Single-index prediction treats unusable automatically discovered outcomes as unavailable diagnostics while preserving strict explicit outcome validation. Differenced time-series responses align by time. Prediction residual.scale retains training MSE units and provenance, and factor-design plots preserve non-syntactic predictor names.
Fresh stored single-index and partially linear bandwidths report the common complete-case sample and omissions. Density/distribution NN bandwidth-constructor refits validate their supplied counts against the current complete-case sample.
Single-index coefficient-only refits retain their degree and bandwidth or nearest-neighbor count without re-entering automatic degree search. A supplied normalized coefficient vector is used as the first start, including zero free coefficients; single-start refits avoid unnecessary OLS initialization. A held fixed bandwidth is no longer rejected by a recomputed bandwidth-search floor. Validity checks and lower bounds for actual bandwidth searches remain.
Bandwidth-object refits now report the current training sample size after missing-row removal in regression, density, distribution, conditional density and distribution, smooth-coefficient, partially linear and single-index models. Sample-size validation uses this current count rather than the original bandwidth object’s count.
Native conditional MADS and automatic degree searches now remove jointly incomplete training rows before search setup. Regression MADS and automatic degree-search results retain the corresponding omitted-row information.
Single-index factor predictors now use retained R model-matrix contrasts in both Ichimura and Klein-Spady models. Coefficient names/dimensions, prediction, gradients and plots share that design. Numeric scores remain numeric; old saved bandwidth objects keep their original factor-score interpretation.
Klein-Spady coefficient covariance now centers covariates conditionally on the fitted index, correcting dependence of reported uncertainty on arbitrary predictor translations. Search and point-estimation formulas are unchanged; the additional moment calculation runs only when inference is requested.
Single-index fits now use evaluation outcomes automatically for
accuracy and goodness-of-fit diagnostics. Predictor-only evaluation
returns predictions with unavailable diagnostics instead of substituting
training scores. Explicit y.eval=FALSE retains labelled
training diagnostics. Conditional mode fits now use supplied outcomes
consistently with both formula and native newdata. Missing
evaluation outcomes affect scoring only, and summaries identify the
sample and number of observations scored.
Local-polynomial conditional density and distribution bandwidth searches now avoid duplicate local factorizations, omit exact zero-weight rows from their local QR work, and apply the required orthogonal factor to a single vector directly. The corrected deleted-sample criteria, rank policy and regularization are retained. This reduces search overhead without changing fitting, prediction or fixed-bandwidth regression implementations.
Beta-kernel conditional-distribution NN searches now check for cancellation between objective evaluations, including when progress display is off.
Regression plots now use the fitted object’s retained training sample when its bandwidth object was originally constructed on different data. Native partially linear plots also preserve retained samples when recovering bandwidth state. Smooth-coefficient plots now also work when smoothing variables are omitted and the model uses its predictors for smoothing.
Extended nearest-neighbor objective evaluation now admits fractional counts consistently with their rounded integer, including counts just beyond the ordinary sample-size boundary.
Regression profile and constant-basis bootstrap plots, and
categorical partially linear fits, now propagate errors from their
selected computation instead of attempting another route. Copula plots
explicitly reject neval; set the probability grid when
constructing the copula object.
One-dimensional density plots now honor the default 50-point
continuous evaluation grid, consistently with explicit
neval. Fixed-grid conditional mode plots preserve
fractional evaluation and conditioning coordinates for numeric
predictors stored as integers. Categorical density bootstrap plots now
report profile-kernel failures instead of silently changing
computation.
Conditional CVLS with beta predictor kernels now omits the held-out observation before scaling and normalizing local-constant rows or solving local-polynomial rows. This prevents dominant self weights from erasing remaining donors and avoids cancellation when self leverage approaches one, improving density and distribution criteria near support bounds. Existing local-polynomial regularization can still produce small differences from explicit deleted-sample refits on ill-conditioned data.
Generalized-neighbor conditional-density cv.ls with
bounded uniform or Epanechnikov predictor kernels of orders 2, 4, 6 and
8 now uses the corrected deleted-sample geometry and whole-response
integral for unbounded responses. This can change selected bandwidths
and costs more than the former incorrect criterion. In retained n = 480
cases the corrected criterion took about 44–53 ms more per evaluation
(about 9 times the former cost); other platforms and workloads have
shown larger ratios, including 21–69 times the former cost in retained
reference-BLAS cases. These are case-specific measurements. Packing
gains depend on the workload and platform. Newly covered Epanechnikov
predictor orders 4, 6 and 8 took about 49–50 ms per evaluation instead
of 5–6 ms in retained n = 480 local-constant cases, with trees both off
and on. This added correctness cost is specific to the affected
bounded-X GNN CVLS route. Fixed bandwidths, default second-order kernels
and other criteria retain their existing paths.
Interrupt containment does not make all nested native allocations unwind-safe. Interrupted searches can retain allocations from shared/nested helpers; this previously deferred cleanup limitation is separate from callback containment.
Local native NOMAD objective callbacks now contain R errors and flag-based interrupts, complete native search cleanup, and then resume the original R condition or restart. This includes time limits raised inside these callbacks. Local native progress errors and interrupts now also stop the search after cleanup and re-signal the original condition object, preserving its class, message, call and custom fields (not its original restart context). This includes time limits raised during progress reporting. Message-less user interrupts retain interrupt behavior, including inside error-only handlers. R-callback degree searches retain their separate handling.
Native searches are not re-entrant: user condition/event handlers must not start another np search while a native np search is active.
Bounded fixed-bandwidth check-loss and Klein–Spady criteria now cancel the query-only kernel boundary mass before symmetric pair accumulation. This restores the directed leave-one-out fit for these criteria, including the scalar tree-based Klein–Spady route. CVLS/CVAIC and directed MPI arithmetic are unchanged.
Conditional-distribution CVLS with beta kernels and generalized
or adaptive nearest-neighbor bandwidths now recomputes both predictor
and response radii after deleting the held-out observation. CDF
evaluation nodes stay fixed. Bounded response tiles reuse the two
possible radii and their kernel values; wider responses use
coordinate-factor caches. This corrects objective values and can change
selected bandwidths. The additional computation is confined to these
beta NN objectives; fixed bandwidths, non-beta CDF, density and ordinary
regression routes retain their existing owners. Retained audit cases
using the default ngrid = 100 and three continuous
responses measured about 5–6.5 times the earlier per-evaluation cost at
n = 360–600; one n = 300 search cost about 5.4 times as much. These are
case-specific correctness costs, not universal multipliers. With
np.extendednn = FALSE, a deleted sample of n-1 observations
admits neighbor counts only through n-2. The separate non-beta GNN
do.full.integral geometry limitation remains.
Conditional density (CVML/CVLS) and distribution (CVLS) nearest-neighbor local-polynomial objectives with uniform or Epanechnikov predictor kernels of orders 2, 4, 6 and 8 reject trials with fewer distinct nonzero-weight deleted basis rows than basis terms. The structural check now also covers adaptive neighbors, bounded predictor kernels and mixed continuous/categorical data. It uses existing weights and the existing invalid-trial penalty; admitted trials retain their arithmetic. Higher-order kernels can therefore select different bandwidths, including without bounds. A sufficient count does not certify full rank. The one-predictor CVLS prefix owner’s existing support check is retained; its full-rank rows no longer read unused coefficients from an unwritten buffer. Conditional nearest-neighbor all-invalid errors identify inadequate support or numerical accuracy as possible causes, rather than attributing every failure to ties.
Conditional local-polynomial bandwidth searches again use the
existing original-coordinate rank/ridge admission when local QR rank is
ambiguous. Rejected numerical evaluations receive the existing
invalid-trial penalty, allowing search to continue; the selected
endpoint must still be raw-valid. This restores ordinary conditional
density and distribution NOMAD searches, including mixed-predictor
wage1 examples.
Conditional NN local-polynomial searches can select different local optima after changing predictor units even when fixed-candidate objective values agree. Existing multistart controls can help explore search sensitivity; rescaling does not guarantee the same selected bandwidth or fitted values.
Nearly coincident or exactly collinear predictor values (including tied integer-valued predictors), and minimally supported local designs far from the coordinate origin, can still trigger original-coordinate ridging after structural support admission and make conditional NN scores depend on predictor units. These remaining rank limitations are deferred; the structural-support correction does not change ridge coordinates or the frozen coefficient-accuracy threshold.
Conditional numerical failure state is cleared between trials
after owned work completes. In npRmpi, existing row
reductions retain shared failure metadata until that completion,
preserving rank-symmetric cleanup.
Beta generalized-neighbor local-constant derivative hats now retain observation identity for implicit training queries, including repeated values and chunked evaluation. Matrix/apply derivatives agree with the fitted gradients and their HC0 normalization. Explicit external queries retain their existing radius contract.
Bandwidth progress retains iterations and the actual multistart counter while search work continues after the requested starts. Completion and zero ETA are no longer displayed prematurely; failed searches clear the existing progress line without reporting success. Fit/evaluation heartbeat behavior is unchanged.
Nearest-neighbor bandwidth searches now identify an infeasible-bandwidth recovery attempt explicitly in the existing progress display, separately from refinement. Completed starts with remaining search work are labelled as continuing search.
Fixed-bandwidth conditional local-polynomial cross-validation now assesses rank after deleting the held-out observation, retains the existing ridge rule when required, and uses stable QR for unregularized deleted designs. Ordinary and all-large-bandwidth paths share this policy across polynomial degrees, avoiding cancellation and predictor-order sensitivity. This can cost more; fixed-bandwidth regression solvers and local-constant defaults are unchanged.
Conditional positive-kernel local-polynomial cross-validation now
assesses deleted designs in locally centered and scaled coordinates.
Uniform and second-order Epanechnikov generalized-neighbor objectives
retain accurate polynomial coefficients in their compressed integration
owner. Failed coefficient accuracy checks or exhausted integration
limits invalidate that trial through the existing penalty policy without
terminating the search. These corrections can substantially increase
computation time. Retained Linux benchmarks on representative univariate
cv.ls local-polynomial cases at sample sizes 200 and 400
measured about 16–28 times the earlier cost for uniform predictor
kernels and 4–5 times for second-order Epanechnikov kernels, with the
uniform-kernel ratio increasing with sample size in those cases. These
are case-specific cumulative costs of the numerical repairs, not
universal multipliers.
Conditional-density generalized-neighbor CVLS with beta predictors or bounded Gaussian predictors now uses the same whole-response criterion as unbounded predictors when the response domain is unbounded. This corrects the objective and can increase its cost; response boundary handling retains its own routes.
Single-index fits and hats no longer warn about a uniform-kernel order merely retained from their bandwidth object. Explicit fresh user requests for an ignored order still produce the advisory.
Beta-kernel generalized-neighbor regression now excludes a training observation from its own neighbor search while retaining its contribution to the fitted sum. Training fits, hats and AIC use that same identity; explicit external queries keep their separate neighborhood contract.
Conditional-density generalized-neighbor least-squares cross-validation now preserves local predictor differences in tightly clustered samples with uniform and second-order Epanechnikov predictor kernels. Higher-order signed Epanechnikov predictor kernels retain a known accuracy limitation on tightly clustered samples. The more stable calculation can cost more; default Gaussian predictor kernels are unaffected. Valid narrow response intervals are also retained instead of being rejected by the integration path.
Corrected unbounded conditional-density least-squares
cross-validation with generalized nearest-neighbor bandwidths to
integrate the squared leave-one-out fit using response bandwidths that
vary over the full response support. This covers Gaussian and
Epanechnikov kernels of orders 2, 4, 6, and 8, uniform kernels, and
local-polynomial and mixed-response models. Selected bandwidths can
change. These objectives can cost more than analytical
fixed/adaptive-neighbor objectives; see npcdensbw for the
distinction.
Generalized-neighbor density cross-validation preserves very narrow integration intervals that could previously be lost through rounding.
Single-index asymptotic fitting omits unrequested internal derivative standard errors while retaining derivative values, mean uncertainty, and default coefficient covariance. Requested public gradient errors are unchanged.
Bounded regression AIC objectives use self weights consistent with their fitted smoothing rows for fixed and nearest-neighbor bandwidths.
Bounded adaptive-neighbor scalar regression objectives use the same donor-centred normalization as regression fitting, with delete-one radii.
Bounded fixed-bandwidth regression CVLS objectives cancel their common continuous row normalization before kernel-pair reuse, agreeing with delete-one fits without per-pair continuous normalization corrections.
Conditional bandwidth scaling now uses response spreads when preparing response bandwidths, including conditional objectives and evaluation helpers.
Powered kernel weights respect the ranges initialized by sparse tree traversal, preventing reads of uninitialized weights while retaining trees.
Conditional-distribution hybrid bandwidth searches retain nearest-neighbor cache statistics from the completed Powell phase even when it does not improve the selected objective. Search results and cache computation are unchanged.
Klein-Spady single-index search and fitting now reject factor or non-binary responses with an early numeric-0/1 error. This prevents category codes from entering the binary likelihood or producing invalid fitted probabilities. Valid numeric responses, factor predictors and Ichimura behavior are unchanged.
Instrumental-variable regression refreshes its existing progress line during long kernel evaluations within bandwidth selection and fitting.
Instrumental-variable cv.aic bandwidth searches
retain the polynomial degree when retrying optimization, avoiding a
missing-degree error.
Smooth-coefficient bandwidth searches now refresh their progress heartbeat during long kernel-sum evaluations, without waiting for the next optimizer iteration or displaying internal kernel-row counts.
Conditional adaptive-NN likelihood and CDF objectives share the qualified fold-aware X-tree batches with density CVLS. External CDF grids now retain literal deleted-donor radii and duplicate-grid loss normalization. Existing tree selection, fixed/GNN owners and fast density CVLS overlap reuse remain.
NN linear/local-polynomial fitting retains full-sample prepared radii and uses bounded query-tree tiles for adaptive compact-kernel tree requests. Generalized-NN fits and batched apply align every response with tree-ordered donors. Exact full-support certificates retain varying-weight dense moments when no donor can be pruned. Fixed, tree-OFF and solver policies are unchanged.
Scalar adaptive-neighbor objective rows now reuse bounded tree-support masks for compact kernels. Explicit tree-OFF and noncompact-kernel rows retain their dense arithmetic; no statistical options are changed.
Local-constant conditional density/distribution fitting now honors explicit compact-kernel tree requests for generalized-neighbor bandwidths retained from CVLS objects. Admission is limited to second-order Epanechnikov/uniform kernels without boundary normalization. Search and automatic selection retain their independent policies; the additional LP fitting changes are listed above.
Explicit tree selection now reaches LL/local-polynomial generalized- and adaptive-neighbor CVLS/CVAIC search owners with second-order Epanechnikov and uniform kernels without boundary normalization. Adaptive searches reuse fold-aware bulk moments; generalized searches reuse sparse BLAS and an exact nonpruning certificate. Fixed-bandwidth search and regression automatic selection are unchanged; fitting and scalar adaptive changes are listed above.
Terminal nearest-neighbor bandwidth-candidate failures now suggest inspecting ties/counts or explicitly selecting fixed bandwidths. Bootstrap refusal and warm-start policies are unchanged; no retry or method substitution is added.
Ambiguous near-integer ordered support no longer silently changes the raw Li-Racine cumulative integration convention. Lattice-dependent refusals explain numeric precision and the explicit Racine-Li-Yan alternative. Defaults, normal weights, convolution and genuine fractional support are unchanged.
Regression conditioning diagnostics now distinguish numerical rank loss and explain raw-basis scaling and the explicit Bernstein option. Help pages clarify raw-polynomial instability; thresholds, defaults and computations are unchanged.
Internal bandwidth-metadata conversion in regression and conditional hat routes no longer reports an ignored uniform order as a fresh user request. This does not silence every downstream constructor or bootstrap-plot route. Explicit order requests still receive the advisory; kernel choices and stored orders are unchanged.
Terminal bandwidth-search failures no longer mislabel nearest-neighbor candidates as fixed bandwidths. Search and failure policies are unchanged.
Kernel documentation now states the unordered Li-Racine normalization and distinguishes raw ordered Li-Racine cumulative and convolution support.
Failed nearest-neighbor regression refits and leave-one-out hat calls now explain when the count exceeds the effective training-sample limit. Admissibility and successful computations are unchanged.
Quantile fits and their plot helper now retain separate training
and evaluation omission indices; rows.omit describes the
fitted output domain. Numerical values and NA restoration are
unchanged.
Hat apply/constraint methods and cached regression-hat prediction
now use the fitted factor-response coding for explicit factor payloads,
as for fitting. Single-index fitting also retains this coding for
alphanumeric responses. Regression fitting rejects reuse of a
numeric-response bandwidth object with a factor response when fitted
factor coding is absent. An explicit factor payload to
npreghat() retains its historical integer-code convention;
this is not fitted factor metadata. Native regression also checks
response-buffer extents before reading them; factor-fitted workflows
remain supported.
Direct regression consumers, including significance tests and bootstrap plots, now fit the retained physical bandwidth when bandwidth scaling is requested.
Kernel-weight and local-operator helpers now pass complete native options, avoiding an out-of-range option read in hat and bootstrap calculations.
Conditional-distribution generalized-neighbor bandwidth searches now honor explicit tree requests for second-order Epanechnikov and uniform kernels without boundary normalization. Automatic selection and other search kernel/bandwidth routes retain their existing policies and owners.
Conditional-distribution prepared bandwidth searches now include all response and predictor bandwidths and searched degrees in their objective-cache keys, preventing stale objectives when a candidate changes.
Adaptive-neighbor conditional-density least-squares cross-validation reuses analytical response overlaps in bounded blocks for one unbounded continuous response, including signed local-polynomial influence weights. Explicit tree requests use compact Epanechnikov/uniform predictor evaluation trees in original donor order. Fixed bandwidths and likelihood objectives are unchanged.
Univariate continuous generalized-neighbor density least-squares cross-validation contracts the response mean before whole-support integration. Gaussian integration uses reciprocal-coordinate quadrature; second-order Epanechnikov integration is polynomial-exact between support crossings. Workspace is linear in sample size, without a resident donor-pair matrix.
Mixed continuous/categorical generalized-neighbor density least-squares cross-validation now integrates the query-radius density over its full support and uses deleted-sample radii in the cross term. Correct integration can take longer than the previous convolution approximation.
Density and conditional density/distribution MADS bandwidth-object searches now enter the existing bandwidth-progress lifecycle, matching their default interfaces without adding nested progress owners or changing search results.
Regression bandwidth selection and local-polynomial operators again support categorical responses, including ordered linear predictors in partially linear models. Predictor support still includes declared unused levels.
Generalized-neighbor conditional-distribution cross-validation on external grids now uses the deleted donor sample for both predictor and response radii, retaining the empirical-grid convention, row/block work ownership and existing tree-selection policy.
Failed automatic non-beta generalized-neighbor conditional-distribution searches now recover within the deleted-sample count domain on external grids. Explicit/extended starts, selected solvers, empirical grids and other kernel/bandwidth routes retain their existing policies.
External non-beta generalized-neighbor conditional-CDF objectives reuse their prepared primary response radii instead of computing them twice; other response-context consumers and row/block selection are unchanged.
Automatic nearest-neighbor density, regression and conditional-density recovery now uses each criterion’s deleted-sample count domain while retaining the full-sample CVAIC endpoint. Explicit and genuinely extended starts, selected solvers and healthy search paths are unchanged.
Generalized-neighbor deleted objectives and native leave-one-out hats now decode boundary counts on the deleted donor sample, retaining ordinary-fit geometry and existing computational owners. Invalid beta density CVML geometry fails closed rather than returning an objective of zero.
Automatic nearest-neighbor smooth-coefficient bandwidth searches can recover a valid deleted-sample boundary when tied conditioning values invalidate the initial search points. Explicit starting bandwidths retain their behavior.
Beta-kernel local-polynomial derivative hats preserve supported external rows when another query has all-zero kernel weights, returning undefined rows as NA with the existing warning. Complete-operator requests remain strict.
Local-constant conditional-distribution cross-validation uses absolute adaptive-neighbor predictor weights consistently in its legacy sums and kernel-weight exports. Fixed and generalized-neighbor weight units are unchanged. Separate nearest-neighbor fold-geometry limitations remain.
Private raw delete-one nearest-neighbor kernel geometry no longer consults ambient bandwidth-scaling state. Cold beta folded-weight calls use the existing context-aware distance owner directly; ordinary public kernel-sum conventions and existing computational ownership are unchanged.
Ordered Li-Racine weights and Racine-Li-Yan kernels accept finite fractional numeric distances in their original units. Declared unused levels remain part of RLY normalization; alphanumeric levels retain declared ranks. Wang-van Ryzin and normalized Li-Racine retain their unit-lattice contract. Singular elementwise bandwidth scores at zero smoothing report a precise condition. RLY vector evaluation no longer allocates an unused power table.
Native bandwidth preparation and local-polynomial operators retain declared categorical training support, including unused levels. Density, distribution, conditional and regression/LSQ routes now use the same support metadata as public fits.
Conditional-quantile inversion accuracy scales with the observed response span rather than its absolute location, so translating the response no longer loosens the requested accuracy.
Mixed-data beta copulas retain the applicable kernel components in each marginal, including categorical-only marginals, without discarding the beta kernels used by continuous variables.
Density bandwidth documentation now explains how to identify and interpret solutions at the fixed-bandwidth search floor, including beta CVLS sensitivity to endpoint observations.
Non-beta first local-polynomial hat derivatives now retain undefined external rows as NA with the existing row warning, consistently across matrix, application and prediction. Internal finite-operator consumers remain strict; native beta partial-row behavior is unchanged.
Automatic nearest-neighbor distribution-bandwidth recovery now respects the deleted-sample count domain. It can recover a valid ordinary candidate from a failed boundary start without replacing explicit or extended starts.
Conditional-mode omission metadata now describes the active evaluation result; separate training omission fields retain the training history. Estimates, standard errors, class probabilities and NA padding are unchanged.
Kernel-sum documentation distinguishes zero-diagonal leave-one-out sums from deleted-sample nearest-neighbor geometry, and raw weight exports from bandwidth-normalized sums. Estimator documentation now explains the existing generalized-neighbor distinction between training and explicit evaluation rows.
Higher and mixed local-polynomial hat derivatives with automatic ridging now share the canonical LP solve-admission policy. This avoids spurious ridge after translating predictors. Explicit positive ridge remains unchanged; default operators report all-zero external rows as unavailable.
Local polynomial uncertainty recognizes exact interpolation when an accepted unregularized local design has exactly as many supported observations as coefficients. Unidentified uncertainty is reported as unavailable instead of amplifying solve roundoff; point estimates and ridge admission are unchanged.
Conditional quantile plots preserve fitted numerical extraction controls, including resampled fits and bootstrap centers. Explicit plot controls take precedence; default and legacy-object behavior is unchanged.
Smooth-coefficient level hat operators include the fitted model’s intercept correction after a positive ridge, including categorical-profile and local-polynomial paths. Zero-ridge solves and ridge selection are unchanged.
Partially linear hat operators apply the fitter’s identification check to the residualized linear design, including subtraction error. Unidentified models now fail consistently instead of returning row-order-dependent hats.
Location-scale quantile fits retain trained formula transformations for prediction and scalar children of vector-tau fits. Native exdat is already in model coordinates and takes precedence without a second transformation.
Conditional quantile fits retain their resolved numerical extraction controls. Prediction reuses them unless explicitly overridden; old saved objects without these controls retain the historical defaults.
Single-index fitting, prediction and inference carry retained fixed kernel endpoints into their regression and kernel-sum consumers, including bootstrap resamples. The fitted domain no longer disappears during these calls.
The Gaussian2 boundary-density helper preserves its selected second-order kernel at very large bandwidths instead of switching to a uniform density. This removes an artificial discontinuity in fitted values and CV objectives.
Copula plots align surfaces and uncertainty layers with their probability axes when supplied grids are unsorted. Stored fits and returned plot data retain their original row order.
Copula probability-grid evaluation keeps marginal inverse grids inside the fitted kernel domain, allowing bounded kernels to retain their valid support when the requested grid extension reaches beyond it.
Mixed-data copula marginals now retain the bounds of their original variable, independently of where categorical columns occur in the data.
Smooth-coefficient evaluation preserves positional native predictor columns when preparing large-bandwidth eligibility geometry; harmless vector/frame naming differences no longer stop evaluation or bypass qualified shortcuts.
Regression hat applications use the regression’s retained numerical coding when borrowing an implicit factor response from a formula, bandwidth object or fitted model. Explicit numerical response payloads are unchanged.
Quantile prediction preserves native exdat coordinates for formula fits, avoiding repeated predictor transformations. Native evaluation retains precedence over raw formula newdata.
Regression hat applications now pass resolved degree, basis and Bernstein overrides consistently to every numerical owner, including single-response shortcuts and retained-operator prediction.
Prediction from a formula regression hat operator now evaluates newdata with the trained predictor transformations. Explicit native exdat takes precedence and is not transformed again.
Recomputing a retained regression hat operator now preserves whether its targets are training observations or external queries. Explicit new grids remain external even when their coordinates equal the training data.
npreghat() now dispatches fitted regression objects to their registered method before inspecting saved calls, preserving retained training inputs and ordinary subclass dispatch.
Quantile formula refits now consume the resolved missing-data policy before filtering numerical controls, allowing the documented replacement-data na.action override without weakening native argument validation.
Explicit gradient orders are now checked consistently by regression fits, regression plots and stored gradient/gradient-SE extractors. Unsupported higher orders no longer silently return first derivatives; existing LP partial availability and categorical first differences are preserved.
Conditional-mode class support now remains owned by the fitted training data. Evaluation response levels contribute to diagnostic tables without adding probability columns or changing fitted class probabilities.
Mixed convolution/tree kernel-weight exports now clear scratch entries outside the certified product-kernel support. Sums were already restricted to that support; raw matrices now agree with their kernel products.
Compact generalized nearest-neighbor convolution tree queries now account for both kernels’ bandwidths, retaining donors whose supports overlap. Fixed-bandwidth and adaptive-neighbor computational choices are unchanged.
Categorical kernel-sum scores now differentiate the requested convolution or ordered CDF operator, rather than substituting the ordinary-kernel derivative. Li–Racine convolutions also use their retained-support owner when scores or categorical profile caching are active.
Ordered factors with decimal-offset integer-spaced labels now preserve their intended distances in kernels, bandwidth scores, CDFs and overlap sums. Validation tolerates bounded floating-point representation error while continuing to reject genuinely fractional spacing; numeric gaps are retained.
Conditional-moment test covariance factors now use physical bandwidths, including for scaled objects. Quantile-test density weights use normalized kernel sums, preserving row/donor-local nearest-neighbor radii rather than treating neighbor counts as kernel volumes. This can change non-density- weighted NN tests; fixed-bandwidth standardized tests retain their existing cancellation of the common scale factor, up to roundoff.
Copula marginal estimators now use the physical bandwidth retained by the joint bandwidth object instead of interpreting scale factors as bandwidths. This aligns probability coordinates, density ratios, uncertainty and bootstrap marginal operators for scaled and equivalent unscaled objects.
Unconditional density and distribution fits now consistently use
the physical bandwidth retained by scaled bandwidth objects. This
corrects fixed beta-kernel estimates and dependent copula results when
bwscaling = TRUE.
Type-II significance-test reselection now replaces the physical bandwidth and matching scale metadata for the tested predictors together. Previously, scaled objects could retain the original smoothing parameters after a search.
Regression fitting now consumes the physical bandwidth retained
by its bandwidth object, as numerical hat operators already do. This
removes a legacy scale reconstruction that could fit a different model
when bwscaling = TRUE; unscaled fitting and bandwidth
searches are unchanged.
Generalized-nearest-neighbor distribution CV now evaluates each bandwidth neighborhood on the deleted sample. Empirical query rows retain their training identity; explicit grids retain external-query geometry. Canonical kernel factors are reused across folds, preserving tree and MPI ownership in the corresponding package. Corrected criteria can change selected generalized-NN bandwidths.
Automatic fixed-bandwidth beta density CVLS now requires a
positive scale.factor.search.lower when the complete
response sample contains repeated observations at a declared endpoint.
This conservative search restriction leaves the default 0.1 floor,
manual evaluation, and nearest-neighbor searches unchanged; it does not
insert a floor or jitter.
Beta density CVLS quadrature uses the interior-limit contribution of boundary observations instead of assigning positive integration weight to isolated endpoint spikes. This applies to unconditional and conditional objectives, including distributed quadrature. Ordinary PDF values and CV cross terms are unchanged; zero-concentration uniform components remain included.
Beta generalized-NN unconditional density and distribution fits now preserve training-query identity when choosing radii, as other continuous kernels do. Explicit external queries keep their external geometry; full-fit standard errors use the same corrected contributions. This can change training fits.
Bandwidth selection now reports activity during baseline-reference evaluations without advancing optimizer iteration counts. Native progress callbacks preserve interrupts instead of consuming Ctrl-C.
Adaptive nearest-neighbor distribution CV now evaluates donor radii on each deleted sample for beta kernels and external grids as well as empirical grids. Canonical CDF factors and occurrence-safe exclusion intervals are reused across folds. This can change selected adaptive-NN bandwidths; fixed and generalized-NN criteria are unchanged by this repair.
Ordered Racine–Li–Yan kernels now share one retained-support implementation for mass, CDF, bandwidth scores, overlaps and categorical profile plots. Regression CV paired moments preserve directed donor weights and row-specific AIC diagonals. Near-upper shortcuts certify the full retained support. Numeric ordered levels require finite increasing integer spacings; use nonnumeric ordinal labels when rank spacing is intended.
Automatic density-equality test bandwidths now use one pooled-sample search and the harmonic-mean sample size to rescale its bandwidth. The same physical bandwidth is held fixed in both samples and all bootstrap draws. Categorical rescaling is constrained to the kernel’s legal maximum, with a warning when reached. Supplied bandwidths and manual scale-factor interpretation are unchanged; this is a selection policy, not a claim of power optimality.
Adaptive nearest-neighbor leave-one-out kernel moments no longer risk a crash from uninitialized state, including smooth-coefficient bandwidth selection.
Convolution kernel sums now compute requested derivative and categorical replacement products instead of reading uninitialized permutation buffers. Raw exported kernel-weight matrices also honor their documented independence from sum normalization, including adaptive nearest-neighbor bandwidths.
Scaled bandwidth objects now supply their retained physical bandwidths to categorical profile fits, ridge scaling, hat operators and wild bootstrap helpers. Fixed bandwidths equal to one are no longer misclassified as nearest-neighbor geometry by the regression validator.
Conditional properness certification recognizes normalized unordered Li–Racine response kernels. Bootstrap surfaces use the same properness certificate as the point estimator instead of renormalizing an already proper estimator on its finite plotting grid. Degree-zero conditional local-polynomial bootstrap helpers share the local-constant operator.
Quantile and classification formula fits preserve the effective evaluation rows when native evaluation arguments override newdata, without applying training omissions to the new sample. Their default methods retain positional manual bandwidths. Joint native inputs with inconsistent row counts are rejected before recycling in quantile, classification, significance-test and smooth-coefficient bandwidth routes.
Scalar bounded conditional CVLS now honors explicit hybrid quadrature ratios; uniform components retain the exact declared support endpoints. Gaussian2 auxiliary boundary-density moments use stable arithmetic at large bandwidths. IV derivative initialization rejects contradictory supplied values at repeated coordinates before bandwidth preparation. Bootstrap plots distinguish a legitimate NA-labelled factor level from a missing observation.
Uniform-kernel convolution no longer divides by its bandwidths twice. This corrects overlap sums and density CVLS objectives at non-unit bandwidths.
Gaussian eighth-order and Epanechnikov convolution calculations now use location-independent polynomial arithmetic. This prevents translation-driven cancellation from corrupting kernel overlaps and density CVLS objectives. Kernel definitions, bandwidth geometry and computational routing are unchanged.
Kernel sums with multiple weight and response columns now return the documented weight-by-response layout for every kernel and operator. Smooth-coefficient backfitting and IV moment consumers use that same layout.
Kernel-sum bandwidth scores now differentiate the Wang–van Ryzin and normalized ordered Li–Racine kernels correctly at all category distances. Normal kernel sums and categorical contrast definitions are unchanged.
Uncompressed density CVLS now squares sample counts in floating-point arithmetic, avoiding integer overflow that could corrupt bandwidth selection for large samples. Kernel calculations and computational routing are unchanged.
Bounded conditional-density nearest-neighbour CVLS now evaluates both objective terms using the sample with the held-out occurrence removed. Response quadrature reuses the existing nodes and bounded work tiles while selecting fold-specific radii. This can change selected NN bandwidths; fixed bandwidths and unbounded analytic-convolution objectives are unchanged.
Nearest-neighbour leave-one-out regression beta hats and smooth-coefficient fits, hats, uncertainty and CV moments now construct raw weights after excluding the held-out occurrence. Adaptive-NN LC moment calculations also retain donor-specific bandwidth normalization. Ordinary public kernel-sum zero-diagonal semantics and fixed-bandwidth geometry are unchanged.
Kernel sums with multiple weight columns and an omitted response now retain the correct output dimensions, including permutation sums. An omitted response acts as a column of ones; kernel calculations are unchanged.
Beta nearest-neighbour regression CVLS and density CVML use neighbourhoods with the held-out occurrence excluded. Unconditional density CVLS applies the same correction to its cross term while retaining the full-sample integrated squared density. Fixed-bandwidth calculations are unchanged.
Conditional properization no longer treats LC/degree-zero fitting alone as a guarantee of a proper density or CDF. The shortcut also checks kernel positivity, response normalization and nearest-neighbour orientation.
Fixed categorical class-probability effect plots now apply the fitted probability projection at both category endpoints before subtraction, matching public class-probability predictions.
Conditional fitted objects retain their resolved properization controls for prediction and plotting. Explicit consumer controls take precedence; older objects without retained controls keep the historical default behavior.
Conditional density/distribution properization groups conditioning rows by exact identity, avoiding merged slices after large coordinate translations or numeric factor-label rounding.
Categorical recoding and declared-support reconstruction preserve valid factor levels labelled NA without converting them to missing observations. Actual missing factor codes remain missing.
Formula fits with native evaluation data no longer restore training exclusions into an unrelated evaluation grid. Native evaluation arguments consistently take precedence over formula newdata in these routes.
Smooth-coefficient and partially linear fits honor separately supplied evaluation Z data when evaluation X defaults to the training data, and validate the paired evaluation row counts.
Explicit evaluation responses at training locations follow the training-row omission mask and native tree ordering. Single-index fits no longer overwrite those supplied responses when calculating goodness-of-fit statistics.
Retained-bandwidth conditional, single-index, partially linear and smooth-coefficient fits reject mismatched paired data rows before recycling can alter the sample.
Uniform native quadrature grids retain the exact supplied support endpoints, preventing roundoff from dropping a bounded-kernel endpoint contribution in conditional and unconditional density cross-validation.
Mixed categorical/beta density and distribution operators now pass the categorical-compression option to their shared native kernel-sum owner.
Mixed local-polynomial derivatives correctly differentiate every coordinate, including constant factors and degree-zero axes. All-zero derivative orders return the value basis, including its intercept.
Conditional fits, operators and bootstrap preparation consistently resolve retained scale factors to physical bandwidths, including the separate X/Y calculations used by local-polynomial fits. Resampling does not rescale the selected smoothing parameters. Bias-corrected bootstrap pilots preserve physical/scale-factor metadata in regression, conditional, smooth-coefficient and partially linear bandwidth objects.
Fourth- and sixth-order Gaussian convolution calculations now preserve translation and bandwidth-unit invariance. This corrects affected kernel sums and density cross-validation calculations.
Auxiliary beta density kernels consistently use dimensionless bandwidths on normalized support. Beta2 rejects h > 1/4 and inadmissible explicit grids; automatic starts and optimizer bounds respect that same domain.
Sampled cumulative quadrature is anchored at zero and invariant to repeated evaluation coordinates. Endpoint correction applies to uniform-grid totals only; irregular-grid totals use the nonuniform trapezoidal rule. Training multiplicities are retained, and the IV derivative iteration reuses prepared shared integration geometry. Entropy’s corrected-total arithmetic is unchanged.
Auxiliary boundary and shape-constrained distribution estimates integrate the retained fitted density from the true support lower bound, not the first requested evaluation point. Infinite tails are not truncated and shape QPs are not refitted for integration. Boundary proper=TRUE uses positive-part whole-support normalization instead of a constant shift that could create infinite mass. Sparse-grid CDF queries can have additional integration cost; CDF integration adds no cross-validation work or raw-density refitting.
The auxiliary Gaussian2 boundary kernel evaluates its removable moment-ratio limit at and near the support midpoint, including narrow-kernel ordinate underflow, instead of returning NaN. The mathematical kernel is unchanged.
Conditional-mean and quantile specification bootstrap refits retain model observation weights and, for mean models, offsets. Weighted rq models use their retained raw model frame rather than weight-scaled x/y components. Quantile tests reject a tau inconsistent with the fitted model, and both formula tests retain the correct omitted-row indices.
Auxiliary univariate density/CDF standard errors use the training sample size rather than the number of evaluation points. Shape-constrained density fits accept one-sided density bounds correctly; integral.equal uses the rightmost coordinate regardless of input order and rescales raw derivatives consistently with the density (log derivatives are unchanged).
Density-equality tests freeze one common declared categorical support, including unused levels and supplied bandwidth metadata, in every observed and bootstrap contraction. Raw numeric bandwidths no longer acquire different category normalizations in the two samples. Active ordered Racine-Li-Yan kernels are rejected in this test only. Cross-sample normalization no longer overflows when the product of integer sample sizes exceeds 2^31-1.
Conditional-mean and quantile specification tests accept manual bandwidths without duplicate kernel arguments, retain selected kernel metadata in all contractions, and keep na.exclude models on their compact estimation sample. They validate actual model components rather than the spelling of the model call; incompatible test/model response samples are rejected explicitly.
Formula column extraction and retained-role replay support quoted predictor names without silently renaming the data. Pipe-formula splitting distinguishes actual operators from punctuation inside quoted names or transformations. Fitting, refitting, prediction, significance tests and plotting share the same symbolic-name interpretation; formulas are not re-evaluated to decode names.
Density-equality tests now use one common bandwidth in both samples and all bootstrap replications. Automatic selection uses pooled LSCV with the harmonic-mean reference-size adjustment described above; explicit CV-method choices remain available. One supplied bandwidth is reused without a search; incompatible two-bandwidth inputs are rejected. This test now explicitly rejects nearest-neighbour bandwidths and boundary-normalized/beta kernels, whose directed cross sums need not be symmetric as its statistic and studentizer require. Fixed unnormalized Gaussian, Epanechnikov and uniform kernels remain supported. No other estimator’s kernel or nearest-neighbour capabilities change.
Bootstrap upper-tail p-values count ties as at least as extreme in all inference routines, consistently with significance tests. They remain ordinary bootstrap proportions (no add-one correction); zero p-values remain possible. Discrete/categorical tied cases may now report larger p-values.
Smooth-coefficient hat application with categorical profile compression now expresses a positive ridge in the same kernel-weight units as the matrix output. Bandwidth selection and zero-ridge arithmetic are unchanged.
Native data-first fitting calls such as npudens(x)
again pass observations to bandwidth selection instead of interpreting
them as bandwidths. Explicit manual-bandwidth and named training-data
calls retain their interpretation. Long univariate input expressions no
longer fail while constructing a single variable label.
Univariate entropy equality and symmetry tests retain declared categorical support, including unused levels, throughout probability summation and bootstrap resampling. Equality tests use common category metadata; ambiguous qualitative ordered supports require an explicit common level declaration. Corrected categorical statistics, selected bandwidths and p-values may differ. A shared plug-in selector now evaluates each sample’s own probabilities, fixing equality tests that supply only the first bandwidth. Independent missing-value omission is completed before overlap checks, and obsolete omission attributes no longer break numeric entropy integration. Categorical symmetry now rejects an observed or bootstrap reflection outside its declared support instead of silently losing those observations.
Bootstrap progress retains the latest completed work between heartbeats. Operator rows and blocks are distinguished from completed replications; conditional-moment tests credit evaluated statistics, not generated draws.
Serial-dependence tests reject missing time points rather than silently joining observations across gaps. Supply a contiguous complete segment explicitly when the original series contains missing values.
Kernel sums, hat operators and quantile evaluation now distinguish current missing rows from historical na.action attributes on already-clean data. Supplying na.omit/na.exclude output no longer deletes unrelated rows a second time. Formula-result omission restoration remains unchanged.
Density-equality tests retain an individually supplied bandwidth while selecting only the missing counterpart. Incomplete rows are omitted once per independent sample before bandwidth selection and bootstrap resampling, avoiding inconsistent kernel-sum/count dimensions; at least two complete observations are required in each sample.
Significance tests keep their progress heartbeat active during long native bootstrap tiles and reuse an already-computed unrestricted fit when preparing streamed residuals. Bootstrap draws and test definitions are unchanged.
Density-equality tests display activity while computing the observed statistic after the bootstrap replications finish.
Reusing a single-index bandwidth object created by a one-call formula fit now preserves its training omission map. With na.exclude, fitted values, standard errors, gradients and residuals retain their original row positions, including residuals requested after fitting.
Smooth-coefficient prediction and location-scale quantile SE extraction now preserve a computed NA standard error for a single unsupported evaluation row, as they already did for larger grids. Unrequested uncertainty still gives a no-search refit message.
Location-scale quantile prediction and retained-bandwidth refits now restore omitted rows consistently, including standard errors and multi-quantile residuals. Explicit replacement samples keep their own row positions. Scalar numeric I(…) terms also work in location-scale quantile evaluation and kernel-sum formula evaluation, as they do when fitting.
Formula regression, single-index and smooth-coefficient residuals now retain training-row ownership when an external evaluation grid has different missing rows. Smooth-coefficient coefficients and effects are restored alongside fitted values under na.exclude. External smooth-coefficient residual requests no longer depend on requesting standard errors.
Smooth-coefficient prediction and lazy residual extraction retain the fit’s iteration, tolerance, iteration limit and leave-one-out controls. Explicit prediction controls still take precedence.
Scalar numeric I(…) formula terms now use the ordinary numeric predictor type, without admitting matrix-valued terms or changing the stored formula.
Smooth-coefficient wild-bootstrap coefficient intervals now reuse the same categorical kernel normalization as their fitted moment equations. Density profile bootstrap intervals also retain the estimator’s normalized Li–Racine kernels for both unordered and ordered factors. Bootstrap draws, ordinary fitted coefficients and bandwidth selection are unchanged.
Local-polynomial fitting, operator and bootstrap rank certificates now count exact repeated design rows once, rather than treating duplicate observations as independent directions. Sparse supported designs use the existing ridge policy consistently across fits, hats, inference and counted bootstrap draws. Identity preparation is shared within each fitting invocation; bandwidth search and numerical ridge thresholds are unchanged.
Significance-test progress now shows the active predictor’s position and completed bootstrap replications, with call-wide elapsed time and ETA. Analytic non-rejection is labelled as skipped bootstrap work.
Partial response replacement with formula-derived bandwidth
objects now uses retained-sample row order, before jointly applying the
effective NA policy. Refits retain the replacement sample without
changing the original bandwidth object. Original-data replacement
belongs in data; it cannot be combined with a partial
response. Bandwidth selection is not repeated.
Native-object standard newdata now matches named
columns to the retained variable names in fitting and prediction.
Reordered or extra columns are handled consistently; missing, duplicate
or ambiguous names are rejected. Explicit native evaluation arguments
remain positional and take precedence. Unnamed single-role matrix/vector
inputs remain positional. Copula newdata uses the
documented probability-coordinate names.
npreghat rejects explicit nonzero ridge
requests on computational owners that cannot honor them. Default
automatic numerical ridging and supported generic mixed-derivative ridge
requests are unchanged.
Density/distribution hat and bootstrap adapters now preserve normalized Li–Racine ordered kernels, including conditional response kernels. This corrects affected ordered-factor operators, bootstrap intervals and conditional local-polynomial contrast/higher-derivative uncertainty. Raw regression and kernel-sum ordered-kernel conventions are unchanged.
Hat derivative selectors now validate orders before integer conversion and honor named coordinates and explicit prediction overrides. Index hats accept matrix responses consistently and retain singleton matrix dimensions. Supported explicit hat ridges are retained when rebuilding an operator.
Fits reusing retained native bandwidth data now give explicit replacement responses precedence over retained defaults. Copula predictions preserve inversion settings; conditional-mode predictions preserve the requested probability projection. Copula joint and marginal calculations use a common named column order and the actual replacement sample size.
Formula kernel-sum weights and location-scale regression scales now follow the response/predictor subset, time alignment and missing-value selection. Full-length auxiliary inputs refer to the original sample; unambiguously preselected shorter inputs remain supported.
Native one-call fits pass their already evaluated training data to the bandwidth constructor. Side-effecting or random data expressions are no longer evaluated again for that handoff; fitting and retained bandwidth data use the same realization, including MPI dispatch.
Local-polynomial fitting, hats and related inference now consistently apply the existing ridge rule when fewer nonzero-weight donor rows contribute than there are basis coefficients. This corrects unstable fit/hat disagreement at structurally underdetermined rows, including mean-only fits. Bootstrap rank counts use independent donor rows rather than resampling multiplicities. Bandwidth-search objectives and the ridge magnitude and numerical thresholds are unchanged.
Conditional gradient bootstrap preparation reuses the canonical internal bandwidth builder and finalizer instead of repeating public constructor setup. Each resample still uses its own geometry and the same numerical fit.
Bootstrap plot summaries now align categorical draw columns with their actual evaluation labels, including declared but unobserved factor levels. This fixes unused-level plots across regression, conditional and unconditional, partially linear and smooth-coefficient families without dropping levels or changing kernels, draws or intervals.
Native bandwidth-object fits now honor newdata using
the corresponding prediction interface’s evaluation roles instead of
silently returning the training fit. Conditional and semiparametric
frames must identify their roles by retained column names; explicit
native evaluation arguments keep precedence.
Exact wild regression bootstrap helpers restrict LC derivative-operator reuse to its intended continuous LC/LP0 first-derivative requests, and align missing evaluation rows before blocking. Other derivative requests retain their per-response estimator, including the existing beta-kernel path.
Ordered kernel-sum contrasts validate evaluation category indices before native work and initialize the cached lookup on the first row. Invalid contrast categories now give a clear error instead of an invalid memory read; ordinary ordered-kernel extrapolation is unchanged.
Adaptive nearest-neighbor leave-one-out regression hats now supply matching single-evaluation-point tree geometry to compact-kernel traversal, avoiding an out-of-bounds read without disabling tree evaluation or changing radii.
Interval cap widths now use horizontal display spacing consistently for level, gradient and partially-linear coefficient plots, independent of the response-axis range. Exact-zero intervals, interval endpoints and bootstrap draws are unchanged.
Smooth-coefficient wild-bootstrap coefficient-gradient plots now reuse a direct, blocked coefficient projection across bootstrap responses. The projection retains the fitter’s normalized moments, accepted ridge and intercept correction for LC/LL/LP and fixed/generalized/adaptive NN bandwidths. Pilots, draws, RNG order and intervals are preserved to numerical rounding. Mean plots and pairs/block resampling retain their existing owners.
Local-constant and degree-zero local-polynomial continuous-gradient wild bootstrap plots with Gaussian, Epanechnikov and uniform kernels now reuse the exact derivative operator across responses, including local-smoothing quantile plots. Operator rows are blocked for large grids. Bootstrap draws, pilots, intervals and RNG ordering are unchanged to numerical rounding; pairs/block resampling retains its own geometry. Beta kernels retain their per-response calculation because endpoint derivative cancellation can depend on the response. The canonical LC derivative operator now returns NA at external rows whose computed kernel weights are all zero, matching direct fitting; complete-row internal consumers still reject them. Invalid radii and other nonfinite results are not converted into partial results.
Plot interval ranges now align NA-padded categorical panels with
their actual interval rows. Unequal partially linear panel sizes no
longer generate a recycling warning with band="all";
interval values and axis ranges are unchanged. Inconsistent finite panel
data are rejected rather than recycled.
Formula training now resolves character NA policies through the
same owner as stats::model.frame, so an unrelated
caller-local na.omit no longer changes the sample. Explicit
NA function objects retain their own behavior. With replacement training
data, an explicitly supplied na.action takes precedence
over the saved policy, including NULL, and the fitted
object retains the effective policy. Native complete-case exclusions
remaining after a permissive policy are now recorded with the retained
sample rather than lost from formula omission bookkeeping.
Internal native bandwidth children without an original
construction call no longer acquire an executable placeholder call.
Their retained-sample refits, predictions and plots remain supported;
update() on a call-less child now fails instead of
potentially using unrelated caller data and selecting new
bandwidths.
Fits with replacement training data now retain that fitted sample for later refits, prediction, plotting and inference. Native bandwidth constructors for regression, density/distribution and semiparametric methods also retain their training values, so rebinding caller variables does not change later results. Formula and native sample ownership no longer compete in LSQ scale-pilot children. Objects saved without retained samples still need their original data or explicit replacement inputs.
Positional numeric bandwidths in one-call fitting are now honored like named bandwidths, without unintended bandwidth selection. Existing inline formula and wrapper syntax is unchanged.
Ordered categorical contrasts correctly initialize the category lookup when the first evaluation category is zero. This corrects affected local-constant gradients, standard errors and their downstream bootstrap/test consumers.
Interval-cap widths now use display geometry consistently across response scales, including singleton evaluation points. Partially linear independent-scale plots with data overlays now use the correct panel-local fitted values and bootstrap summaries.
Partially linear and local-smoothing quantile child bandwidths
retain their own native samples and responses for later use. This is
sample ownership, not a general environment-compaction guarantee: user
formula and custom function environments remain available and can retain
unrelated caller objects in saved files. Retained samples also increase
object storage; derived children may retain separate copies. Serialized
size can exceed the size reported by
object.size().
Formula bandwidth objects now retain their prepared training sample and NA policy. Rebinding constructor variables (for example in a model-building loop) no longer silently changes later refits, predictions, plots or tests. Explicit training-data overrides remain available. Objects created by older versions without retained samples still require their original data bindings. Single-index bandwidth plotting uses the same saved-data owner.
Arguments forwarded through ... wrappers are honored
as in direct calls: an explicit bws is no longer ignored in
favor of bandwidth search. Saved formula objects also retain forwarded
or caller-local na.action settings when refitting,
predicting, plotting or running significance tests.
Formula constructors supplied inline are evaluated once per invocation, including the one-call bandwidth/fit route. Existing formula values and literal formulas remain supported; callers need not construct a formula in a separate statement. Forwarded calls retain lazy subset evaluation.
Streamed non-studentized categorical significance-test bootstrap statistics now use the same generalized-nearest-neighbour training-row geometry as the observed statistic and public regression refits. This can change affected bootstrap statistics and p-values; pivot=TRUE is unchanged.
Conditional density/distribution formulas reject unsupported transformed responses instead of silently discarding their transformations. Prepare the transformed response in the data, or use the native data interface. Formula routes also reject unsupported RHS offset specials before evaluation; supported response/predictor transformations and ordinary variable names remain unchanged.
Automatic regression wild-bootstrap pilots now use fitted training-row geometry whether plotting starts from a fitted model or its bandwidth object. This corrects generalized-nearest-neighbour bands that previously depended on that entry route. Explicitly supplied pilots and external evaluation geometry are unchanged.
The significance-test documentation now notes that studentization can improve size behavior without uniformly improving finite-sample calibration or power. The default remains pivot=TRUE.
Formula fitting defers data-dependent subset expressions to the model-frame owner rather than forcing them during argument dispatch. One-call fits and constructor-first fits now use the same selected rows.
Partially linear prediction standard errors use the prediction’s actual retained training rows, including data overrides, and preserve na.exclude padding of evaluation rows. Public residual padding is unchanged.
Vector-quantile least-squares predictions prepare formula newdata once and share that same evaluation sample across quantiles.
Partially linear formulas now prepare their response, linear regressors and smoothing variables together once, retaining trained transforms and a common subset/time-aligned sample through fitting, prediction and plot preparation.
Regression hat/significance helpers and smooth-coefficient plots now resolve saved training-data expressions in their original call owner, including bandwidth objects constructed inside wrappers.
Copula formula construction and fitting now share the same prepared sample, including transformed, subsetted and time-aligned inputs. Automatic grid dimension validation still precedes bandwidth search.
Smooth-coefficient formula construction, fitting and evaluation reuse a single prepared sample per transaction and retain portable trained terms.
Single-index formula construction and prediction now use the shared single-evaluation preparation route and portable trained prediction terms. Named formula calls no longer depend on argument order or fail after bandwidth construction.
Quantile and conditional-mode one-call formula fits also reuse their prepared training sample. Conditional-mode response validation still occurs before bandwidth selection. Saved-object refits now reuse the retained training sample; explicit evaluation data still use the trained formula terms.
Conditional density/distribution formula fitting now reuses its prepared training sample, avoiding repeated evaluation of predictor expressions. Saved conditional formula terms retain portable prediction metadata for refitting, quantile/mode evaluation and plotting.
Fixed/geometric plot-bootstrap draws now use a replicate-ordered random stream, independent of processing chunk size and MPI worker count. The block law is unchanged, but historical seeded bands may change. The stream follows the previous single-replicate ordering; IID/wild draws are unchanged.
Generalized-NN fitted-row categorical effects and their standard errors now retain training identity for local-linear and local-polynomial regression, as local-constant regression already does. Explicit evaluation effects keep external-query radii. Fitted means and continuous derivatives are unchanged.
Time-series formula alignment preserves the columns belonging to each matrix-valued expression, preventing a later formula variable from being replaced by a column of an earlier expression. Existing restrictions on matrix predictors are unchanged.
Regression and unconditional density/distribution formula fits
evaluate each training expression once per constructor/fit operation.
This avoids inconsistent samples from random or stateful expressions and
retains prediction-transform metadata. Later refits still evaluate their
inputs. Stored formula objects for these families can be used by either
package without loading the package that created them. Unconditional
refits, predictions and plots resolve function-local data through the
retained bandwidth call, including after MPI fitting. Automatic
regression calls using formula = follow the same
preparation and fitting path as positional formulas.
Qualified Apple Silicon builds accelerate compensated local-polynomial regression influence calculations used by requested standard errors and studentized tests. The calculation, defaults and bootstrap random-number sequence are unchanged; other builds retain the existing scalar path.
Copula standard errors and plots recover physical evaluation coordinates independently of sanitized output column names. Transformed, lagged and reserved predictor names no longer cause plotting failures or substitute training/probability coordinates for a requested grid. Public output columns and the underlying estimation and uncertainty formulas are unchanged.
One-call npreg() formulas again align lagged
time-series variables before bandwidth selection, matching
npregbw() followed by npreg(bws = ...). This
repairs a 0.70-1 regression that could silently fit unaligned lag
columns, or reject them as collinear, and affect subsequent inference
and plots. LC, LL and LP use the same restored formula-constructor
route.
Lagged time-series formula alignment is also applied to single-index, least-squares quantile, kernel-sum, copula and IV formula preparation. Quantile, conditional-mode and regression-hat evaluation reconstruct the aligned predictors from the supplied new data, including transformed terms, without requiring columns named after the expressions. Ordinary data and explicit native-array alignment conventions are unchanged.
Ordinary regression inference now normalizes training fitted residuals by the norms of their actual residual-smoother rows before forming level, derivative and paired categorical-contrast sandwich errors. This can also change continuous and categorical studentized test statistics and P-values, not just reported standard errors. It uses the pre-smoothing residual correction of Ruppert et al. (1997), not a separate variance-function smoothing estimator. Requested errors that genuinely lack donor residual information are reported as unavailable, separately from certified zero influences. No variance floor, row deletion or bootstrap-draw filtering is introduced. The correction does not remove smoothing bias or guarantee finite-sample calibration under arbitrary heteroskedasticity or model selection.
Requested categorical regression effects use stable paired-influence arithmetic with and without standard errors. This can change previously cancellation-dominated gradients and downstream test statistics. Mean-only fitting and bandwidth search are unchanged. Residual preparation is confined to requested inference, but explicit categorical-gradient requests also incur more careful arithmetic when SEs are off. The correctness changes can increase these requested computations. Single-index mean/gradient errors and transformed-response least-squares quantile errors inherit the shared correction; separate coefficient covariance formulas do not. Help distinguishes this residual correction from numerical ridging motivated by Seifert and Gasser (2000).
Studentized joint npsigtest() calls reuse each
bootstrap regression fit across tested categorical predictors within the
existing bounded response tile. Statistics, resamples and random-number
consumption are unchanged. Individual studentized categorical bootstrap
fits use the same native contrast and response-specific sandwich
calculations but omit unrequested gradient and contrast-SE consumers.
Default full regression output and unstandardized tests retain their
existing computational paths.
npsigtest() now defaults to
pivot = TRUE for continuous and categorical predictors,
including joint tests. Explicit FALSE retains unstandardized statistics;
NULL is no longer an input mode. Categorical studentization uses
response-specific paired-contrast sandwich errors, with additional
computation confined to requested inference. An entirely zero observed
effect gives analytic non-rejection without bootstrap fits; skipped
columns and executed counts are explicit. Unexplained undefined standard
errors produce a diagnostic, never a variance floor or
fallback.
The getting-started guide demonstrates prediction and no-search refitting for uncertainty and gradients, distinguishes computation from extraction, and summarizes migration from 0.70-5. Package help clarifies practical computational limits. No estimator behavior or defaults change.
Entropy tests refresh elapsed-time progress during native summation and quadrature using the shared transient owner. Original-statistic, lag and bootstrap phases clear on completion or failure; bootstrap counts advance after their statistics finish, without changing resamples or calculations.
Progress displays use consistent work counts, elapsed-time and ETA wording. Narrow consoles preserve complete counters before optional detail, and wide-character labels are shortened by their displayed width.
Requested adaptive-NN standard errors and statistical-test bandwidth phases use the existing transient progress owners. Supplied bandwidths no longer produce a misleading standalone bandwidth-computation notice.
Explicit fixed-bandwidth conditional bootstrap bias-corrected plot centers now use one mixed-data donor-mixture pilot and its matching PDF/CDF or derivative/contrast reference. Categorical conditioning pilot lambdas generate normalized transitions on the declared levels; paired contrasts share each resample. Level refits now retain the selected LC/LL/LP estimator instead of substituting an LC ratio for LL/LP. These corrections can change explicitly requested bias centers, including continuous-only panels. Ordinary fitted values, estimate-centered variability draws and search are unchanged. NN, proper-projection and quantile bias-center exclusions remain.
Smooth-bootstrap Epanechnikov perturbations now use the same standardized kernel scale as estimation. This corrects explicitly requested unconditional and conditional density/distribution bias centers; Gaussian/uniform draws and RNG consumption are unchanged. It does not change ordinary bootstrap variability draws.
Uniform nearest-neighbour kernels now apply their documented strict support boundary to the unstandardized distance. This corrects adaptive- and generalized-NN results that could depend on evaluation batching, tree partitioning or affine rescaling. Dense and tree consumers share the same membership decision, including normal factors in gradient and integral products. Fixed-bandwidth arithmetic, other kernels and tree eligibility are unchanged; affected uniform-NN fitted values and search objectives may change where reciprocal rounding previously admitted a boundary point.
Unconditional adaptive-nearest-neighbour standard errors use correctly aligned transient workspaces on platforms where extended precision requires stricter alignment. The formula, precision and SE-off computation are unchanged.
Local-linear and positive-degree local-polynomial conditional density, distribution and quantile fits now provide requested categorical-contrast standard errors. Paired endpoint influences retain their covariance; quantiles use each endpoint’s own quantile and density. This includes fixed, generalized-NN and adaptive-NN bandwidths conditional on the realized geometry. Existing point estimates, continuous errors and SE-off computation are unchanged. Nonsmooth or nonfinite influences remain explicitly unavailable.
Bootstrap plots using the shared estimator dispatcher now retain one display owner and elapsed clock across their scheduled targets, with an approximate overall ETA. Copula bootstrap interval preparation uses the same scope. Numerical work and standalone-helper behavior are unchanged; conditional-mode and LSQ-quantile displays and the frozen bootstrap shortcut retain their existing behavior.
Conditional density/distribution bootstrap gradient plots now retain the requested physical predictor column. Categorical panels previously could receive a continuous derivative’s bootstrap draws, or fail when predictors were interleaved. Their intervals now target the displayed first difference. Explicit fixed-bandwidth bias centers now use the mixed-data pilot described above, including categorical targets.
Conditional bootstrap gradients reuse the existing evaluator with a private single-target demand, avoiding unrequested R-side categorical differences and higher-derivative restoration. Native computation, exact NN resampling, random draws, public fitting and asymptotic-error behavior are unchanged. The mixed-data smooth-bootstrap pilot also reuses this single-target evaluator; its separate probability-law corrections are described above.
Conditional-quantile bootstrap gradients likewise compute only the requested R-side categorical quantile contrast. The original selected-CDF inversion, density evaluation, native derivatives and requested endpoint inversions are retained; full-output fits, tau layouts and LSQ quantile owners are unchanged.
Conditional density/distribution fitting now consistently retains explicit external rows with all computed explanatory-kernel weights zero as NA, with one notice. The policy covers LC/LL/LP, requested inference and categorical counterfactuals without changing supported estimates or valid zero response contributions. Proper projection retains unsupported fixed-X slices while projecting supported slices; prediction and plot consumers preserve status.
Conditional quantile inversion now preserves explicit base-support status for external rows across scalar/vector tau, prediction, inference and MPI tau blocks. Unsupported outputs are NA with one notice; genuine numerical and required internal-evaluation failures remain errors. The point-only constant-response shortcut is unchanged and does not preflight X support. Conditional-mode evaluation likewise preserves one final notice without changing supported class/probability calculations.
Requested unconditional adaptive-NN density/distribution standard errors now include the same-sample influence of donor-specific radii, with a two-sided NN rank-spacing pilot. The joint influence retains cross-coordinate and categorical-kernel covariance. Gaussian/Epanechnikov density and distribution kernels, and uniform kernels, are supported on regular interior NN ranks without finite kernel bounds. Uniform density errors include the joint marked moving-support faces using sample-quantile/spacing pilots; strictly absent faces have zero motion. Unqualified boundary-pilot, bounded, extended/saturated-rank or degenerate-spacing cases retain point estimates and return NA standard errors with one availability notice. This changes previously incomplete ANN uncertainty, not point estimates, bandwidth search or SE-off work. Bandwidth selection uncertainty is not included.
Requested fixed-bandwidth copula density standard errors now include the same-sample covariance of the joint and all marginal density estimates. The centered ratio influence is reduced in bounded query tiles; MPI keeps marginal kernel weights on their owning rank and communicates only SEs. Point estimates, bandwidth search, SE-off work, distribution copulas and NN uncertainty are unchanged. This correction holds marginal evaluation coordinates fixed; it does not include quasi-inverse or bandwidth uncertainty.
Requested conditional density/distribution LP standard errors now follow the fitted regularized operator when explanatory-kernel weights are constant. This corrects level and native first-derivative uncertainty after ridging; fitted values and point gradients are unchanged.
Requested scalar conditional adaptive-NN standard errors now use the complete empirical ratio influence for levels and existing continuous first derivatives, including continuous/mixed responses and categorical-only predictors. This corrects their physical bandwidth scaling while holding the selected model, predictor geometry and realized response radii fixed; sampling or selection uncertainty in these quantities is not included. Point estimates and gradients are unchanged. Local-polynomial, beta-kernel and paired categorical-contrast errors retain their separate targets.
Fixed/generalized-NN conditional density and distribution standard errors with categorical variables now retain their joint categorical second moments. Conditional CDFs and densities without continuous responses also retain numerator–denominator covariance, so a constant response-kernel contribution has zero variance. Pure-category profile and ordinary paths agree. Point values, point gradients, likelihoods, SE-off work and existing beta/positive-degree LP/paired categorical-contrast owners are unchanged. Broader adaptive-NN variance limitations remain deferred.
Fixed/generalized-NN unconditional density and distribution standard errors with mixed data now retain squared joint categorical factors within their existing leading continuous-bandwidth approximation. Constant categorical factors consequently scale uncertainty consistently with the estimate. Point estimates, likelihoods, SE-off work, pure-continuous/pure-categorical conventions, beta kernels and adaptive-NN errors are unchanged.
Partial-linear fitting and plot/bootstrap helpers now consistently reject numerically unidentified residualized linear regressors across BLAS implementations. The shared check accounts for column scale and residual formation precision while retaining the existing QR, accepted coefficient solve and covariance calculation.
Public single-index fitting and prediction now return
NA with one notice for external rows whose computed kernel
weights are all zero, consistently across point-only, asymptotic and
bootstrap requests. A bootstrap draw that loses support makes the
affected uncertainty unavailable without replacing a supported original
point estimate. Required training ratios remain strict; supported
values, resampling and computational owners are unchanged.
Requested higher-order conditional density/distribution LP
derivative standard errors now use the existing local working variance
and the actual derivative weighting row, including its accepted ridge.
Fixed and adaptive-NN point owners are preserved; generalized-NN
higher-point restrictions remain. These errors condition on the selected
bandwidths, radii and local map. No supplementary uncertainty work is
requested with se = FALSE.
Missing stored gradients or standard errors now consistently explain how to refit with the retained bandwidth object without repeating bandwidth search. Unsupported uncertainty targets retain their separate diagnostic messages.
Model-specification testing now uses the shared bandwidth progress owner, clearing its transient line at completion instead of leaving a permanent “Computing bandwidths” message. Test calculations are unchanged.
Requested conditional local-polynomial standard errors in the
general fitting path now use the accepted fit’s intercept ridge
correction. Failed covariance blocks or invalid variance calculations
return NA only for affected uncertainty outputs, including
beta-response level errors. Point estimates, search,
se=FALSE work and derivative availability are
unchanged.
Requested smooth-coefficient standard errors now use the same
accepted moment system and intercept ridge correction as the returned
point fit. Supported signed kernels no longer receive a separate
covariance-only ridge. Fitted values, coefficient effects, search and
se=FALSE work are unchanged; unavailable covariance retains
its existing NA output policy.
Copula fitting accepts named se=FALSE/TRUE,
defaulting to FALSE. Requested asymptotic errors are stored at fitting
time; se() only reads stored results and explains how to
refit with the bandwidth object when errors are absent. Explicit
prediction/plot inference requests retain their existing uncertainty
target; point estimates and NN geometry are unchanged.
Unconditional density and distribution fits now default to
se=FALSE, skipping uncertainty-only computation while
retaining the same point estimates. Use se=TRUE to retain
asymptotic standard errors, or predict(..., se.fit=TRUE)
for prediction errors. se() only extracts stored results
and explains how to reuse the bandwidth object for a refit without
repeating bandwidth selection. Explicit asymptotic plot and copula
inference continue to request their required errors.
Partially linear fitting now defaults to se=FALSE,
avoiding coefficient covariance work unless requested. Use
npplreg(..., se=TRUE) for coef(..., se=TRUE)
and vcov(); missing-output messages show how to reuse the
bandwidth object without repeating search. Explicit prediction standard
errors and asymptotic plots continue to request their needed
work.
Conditional density and distribution fitting now have a
named-only se=FALSE default. Disabled errors skip
uncertainty-only native work and are stored as NULL; fitted
values and requested gradients are unchanged. Use se=TRUE
for available asymptotic errors, or refit a retained bandwidth object to
obtain them without repeating search. Prediction with
se.fit=TRUE requests the needed work explicitly.
Quantile and conditional-mode fits now accept named-only
se=FALSE. Uncertainty-only evaluation and storage are
skipped by default, independently of the existing gradient controls.
Explicit prediction or asymptotic plot requests enable their required
errors; stored-result extractors give a bandwidth-reusing refit
instruction when uncertainty was omitted. Point quantiles, class
selection, probabilities and requested gradients are unchanged.
Ordinary scalar conditional categorical-gradient standard errors
now use complete paired same-observation influences, including endpoint
covariance. Requested errors use an additional streamed inference pass
and can increase fit time when categorical uncertainty is retained with
gradients=TRUE. Point estimates, gradients, bandwidth
selection and computational selectors are unchanged. The default
gradients=FALSE and internal point-only and bootstrap
consumers do not request this additional work.
Conditional local-polynomial fits now retain available first-derivative standard errors when other requested derivatives exceed their fitted degrees. Existing point gradients, higher-order availability and computational owners are unchanged; point-only internal consumers request no extra errors.
Conditional generalized-nearest-neighbor training fits with ordinary explanatory kernels and a beta response kernel now exclude the identified training occurrence when selecting explanatory radii, retaining it in the estimation sum. Affected fitted values, derivatives and standard errors use the corrected geometry; explicit evaluation queries and beta explanatory kernels retain their existing behavior.
Partially linear coefficient standard errors and covariance now allow conditional heteroskedasticity through a residual-score sandwich, retaining the existing finite-sample multiplier. Coefficients, fitted values, bandwidth selection and the separate fitted-value prediction-error calculation are unchanged. Coefficient intervals and dependent asymptotic plot terms use the corrected covariance.
Scalar conditional categorical-gradient standard errors involving beta kernels now use paired same-observation influences at the two endpoints, including their covariance. Self-contrasts have zero error by construction; point effects, level errors and positive-degree LP covariance are unchanged.
Scalar conditional beta-kernel influence standard errors now use the global sample-covariance factor n/(n-1), correcting an extra division by n in level and supported derivative variances. Conditional point estimates, ordinary regression and positive-degree local-polynomial covariance are unchanged.
Scalar conditional beta-response derivative standard errors now allow a legitimate zero derivative of the explanatory weight sum. Zero endpoint denominators remain invalid; estimates and existing valid derivatives are unchanged.
Scalar conditional Gaussian and Epanechnikov gradient standard errors with fixed/generalized-nearest-neighbour bandwidths now use the squared analytic derivative moment, not a finite-shift convolution constant. This changes uncertainty only; uniform derivative inference and broader adaptive-NN variance questions are not resolved by this correction.
Scalar conditional density and distribution standard errors now use the squared-kernel moments of the chosen explanatory kernels and, for density, response kernels separately. Mixed kernel families/orders no longer inherit the response-kernel moment in every dimension. Point estimates are unchanged.
Pure-categorical density standard errors now use the empirical variance of the complete joint-category kernel contributions, instead of the continuous-density approximation. Constant contributions have zero standard error, and zero-smoothing probabilities retain the existing binomial convention. Density estimates, search, categorical shortcuts, and mixed/continuous density uncertainty are unchanged. The correction reuses existing kernel rows with bounded moment storage.
Pure-ordered distribution standard errors now also use the empirical variance of complete joint CDF contributions. Finite smoothing no longer treats each contribution as a Bernoulli indicator; the zero-smoothing convention, distribution estimates, and continuous-variable formulas are unchanged.
Wang–van Ryzin ordered distribution estimates now use the correct cumulative probability above each training category. This corrects potentially decreasing distribution estimates and affected distribution cross-validation criteria.
Single-index mean hats and affected bootstrap ratio helpers now normalize finite signed and positive-small weight sums directly instead of flooring them at machine epsilon. Empty external LC/degree-zero index and adaptive conditional-hat rows return NA with one notice; undefined required ratios fail without discarding or replacing bootstrap replications. LL/LP solves, resampling laws, inference formulas and already-correct conditional ratios are unchanged. Weights that underflow before summation are not recovered.
Conditional-density and conditional-distribution fallback probes
now retain the intended physical categorical bandwidths when
bwscaling = TRUE. Valid initial candidates and the existing
penalty/restart rules are unchanged.
External local-linear and local-polynomial fits now report exactly empty computed kernel rows as NA in the undefined output components, with one warning after the caller finishes. Supported components and required training, covariance and bootstrap computations keep their existing policy. Point and asymptotic plot calls collect row notices across their evaluation grids, and vector-tau least-squares quantile predictions report once per completed call. Required bootstrap failures remain terminal.
Single-index NOMAD refinements retain the original physical bandwidth lower bound. A valid incumbent is no longer rejected because its changed index coefficients imply a different scale at the refinement handoff. Direct fixed-degree calls and actual-beta restart scaling are unchanged.
Single-index fixed-bandwidth NOMAD searches reject out-of-domain exploratory bandwidths without terminating the search. Explicit input and final-result validation remain strict, and unexpected callback errors still propagate.
Generalized-NN single-index training summaries and coefficient covariance use a consistent training-evaluation convention when external predictions or different inference outputs are requested. Previously affected serial external-data results are corrected; the ordinary no-external-data convention and MPI counterpart are preserved.
Shared call evaluation now distinguishes returned condition objects from raised errors. MPI worker command loops also accept returned try-error values; actual raised-command failure policy is unchanged.
Coefficient plot controls again validate their values after the dotted-name migration. Single-index objects retain their observation count for vector indices, and NOMAD-only index searches report cumulative evaluations plus the existing final certification count.
Regression fits and plots replay a saved formula data expression in the bandwidth call’s existing environment, so wrapper-local data remains usable after the wrapper returns and after saving and reloading the bandwidth object.
Single-index and location-scale quantile NOMAD searches now preserve unexpected callback errors instead of returning a surviving candidate. Legitimate typed candidate rejection keeps its existing penalty; successful search arithmetic and evaluation budgets are unchanged.
External local-polynomial npreghat mean rows with finite moment systems but exactly zero computed kernel weights now return NA with one informative warning. Defined rows, kernel accumulation, solver arithmetic and internal complete-operator failure behavior are unchanged. The same row contract covers matrix, apply, constraint and recomputed prediction outputs.
Public plot arguments now use dotted names: data.overlay, data.rug, factor.boxplot, boxplot.outliers, coef.index, common.scale, proper.method, proper.control, boot.control, grid.control and render.control. Plot helpers similarly use bar.num, y.vars, y.dat and pair.list. Retired underscore spellings are no longer accepted. Function names, saved-object fields, defaults and numerical behavior are unchanged; typo hints use the new names.
Single-index starting-bandwidth restoration now shares the active search progress line. Its width-aware notice clears with the search rather than leaving a separate message; search computations and failure diagnostics are unchanged.
Finite-data local-constant single-index hat and plot apply helpers now use shared kernel moments instead of materializing the full weight matrix. Existing bandwidth normalization and denominator floors are preserved; explicit matrix outputs and non-finite-input matrix semantics are unchanged.
Ichimura coefficient covariance now computes its conditional moments and common denominator in one kernel-sum call. Covariance formulas, MPI row ownership and random-number generation are unchanged; no kernel-weight matrix is constructed.
Single-index fitting now shows one immediate activity line with native heartbeats for fitted values and coefficient covariance. Explicit bootstrap standard errors retain their separate replication progress, without repeated child-regression messages.
Single-index fits now default to
se = TRUE, se.type = "asymptotic", providing asymptotic
coefficient covariance and fitted-value standard errors;
gradients = TRUE also provides gradients and their
asymptotic standard errors. Use se = FALSE to omit all
uncertainty calculations, or explicitly select
se.type = "bootstrap" for the previous fitted/gradient
bootstrap standard errors. Coefficient covariance remains asymptotic in
either mode. Reusing npindex(bws = model$bws, ...) adds
requested outputs without repeating search. Singular
coefficient-information matrices produce an informative error.
Local-constant uniform kernels have zero first derivative and cannot
provide this covariance for free coefficients; use se = FALSE for point
estimates. Default inference adds training derivative and moment work
and can cost appreciably more than a point-estimate-only fit when
bandwidths are held.
Adaptive-NN single-index kernel sums now use donor-bandwidth normalization consistently for fitted values, bootstrap fits and covariance conditional moments, including the shared LC hat/plot helpers. This corrects an existing discrepancy between mean-only and gradient fits; fixed and generalized-NN weighting is unchanged.
Single-index pairs bootstraps reuse the already-computed training index, avoiding a sampled predictor-matrix copy and repeated matrix-vector product per replication. Resampled fits and NN radii are still recomputed. This also removes a one-predictor bootstrap dimension-dropping error.
Single-index bootstrap standard errors now report bootstrap replications, forwarding nested regression-fit activity to the same progress display. Resampling, numerical results and the number of replications are unchanged.
Automatic bandwidth calls no longer repeat an entire failed search in other calling frames. Original computation errors propagate normally; namespace-only calls resolve the package selector before execution.
Automatic fixed-bandwidth single-index restarts use the index scale of their drawn beta, with generated h restricted to the existing search bounds. The scale correction can change fresh multistart search results; explicit bandwidths, first starts, RNG draws and the search domain are unchanged.
Kernel-sum formula calls with a subset again allow data to be omitted.
The internal single-index first-start restoration control is documented.
Serial smooth-coefficient NOMAD searches restore the first unexpected evaluator condition after native completion, before further evaluation or payload/Powell work. Typed invalid candidates retain their existing handling.
Fitted regression releases its owned buffers and partial trees when an error leaves the native fit, preserving the original condition and numerical path.
Explicit na.exclude predictions restore omitted evaluation rows, including native evaluation arguments and composed formula/native omission maps.
LSQ formula dispatch preserves positional subset expressions for the existing formula owner.
Unconditional NOMAD restart reports and selection now use the existing raw certificate while preserving native recovery scores and official diagnostics.
Regression MADS restart reports and selection use their existing raw endpoint certificates while preserving native admission and recovery diagnostics.
Conditional-distribution fixed-degree native restart summaries report their existing raw endpoint scores. Official solver diagnostics retain the score for the official solution; selection and recovery are unchanged.
Conditional-density native restart summaries and selection now reuse the existing raw endpoint score, retaining native-score admission and recovery seed policy. No objective evaluation is added.
Local-polynomial matrix application keeps training and evaluation bases in the same public coordinates when an optional conditioned hat-block attempt returns failure. The existing generic computation reuses the retained source basis; conditioning, solver and failure policies are unchanged.
Fixed-bandwidth single-index R optim searches restore raw-invalid automatic initial bandwidths by at most eight doublings across all supported kernels, orders and regression types, including automatic degree-search children. Each restart retains its own index scale. Valid original starts use the same optimizer invocation without an extra objective evaluation; rejected first scalars are counted and incur no gradient stencil. Explicit or held invalid starts and exhausted restoration fail the call. Later trials, NN bandwidths, NOMAD’s direct search and final certification are unchanged.
Least-squares quantile formula dispatch preserves named subset expressions for evaluation in the formula method’s data mask.
Formula subsets in npcmstest, npqcmstest and npksum resolve data columns before caller-local bindings. Data and subset expressions are evaluated once.
Nearest-neighbour bandwidth metadata retains continuous neighbour counts with either bandwidth-scaling setting, including semiparametric helpers. Conditional bandwidth constructors normalize categorical metadata before validation. Fixed continuous bandwidth scaling is unchanged.
Supplied categorical scale factors are validated in physical kernel units. Fixed-bandwidth categorical optimizer transforms now use the corresponding scale-factor bounds in both directions; physical kernel caps, penalties and optimizer algorithms are unchanged.
MADS/NOMAD+Powell endpoint checks now evaluate the exact returned bandwidths without a round trip through optimizer coordinates. This avoids rounding the point being certified; search coordinates, objective arithmetic and the number of certification evaluations are unchanged.
Conditional-distribution NOMAD+Powell refinement compares and publishes the raw endpoint objective already obtained by certification, while preserving the optimizer’s initial-value and history diagnostics.
NN bandwidth owners release their existing native workspaces before reporting constant continuous support. The diagnostic and successful search calculations are unchanged; this does not change fitted-value error unwinding.
Regression gradients and their standard errors retain a one-row matrix for a single evaluation point, including categorical asymptotic plot slices; values and multirow output are unchanged.
Conditional-distribution cross-validation now rejects failed nearest-neighbour bandwidth preparation before using its output. Zero-radius trial candidates no longer depend on uninitialized memory; valid-candidate objectives and the existing invalid-candidate penalty are unchanged.
Conditional categorical bandwidth admission now applies the response and regressor unordered-kernel bounds independently. Mixed Li-Racine and Aitchison-Aitken conditional-density searches no longer reject valid response bandwidths or admit response bandwidths above their kernel bound; objective arithmetic and same-kernel behavior are unchanged. Selected bandwidths and estimates can change when the response and regressor use different unordered kernels.
The embedded wage1 example bandwidth objects were regenerated with current constructors. Their printed bandwidths and derived example results can differ from earlier releases.
Cell and exhaustive degree searches now skip only typed LP-admissibility and NN-candidate rejections. Unexpected evaluator errors propagate with their original condition instead of silently selecting a surviving degree. LP rank/capacity rejection messages and successful search arithmetic are unchanged; failed searches also release their progress display.
Conditional bandwidth transforms and categorical baseline probes now preserve the raw Y-unordered, Y-ordered, X-unordered, X-ordered layout and the corresponding per-side kernel caps. This corrects mistyped coordinates when ordered responses and unordered regressors coexist; objective kernels and the penalty formula are unchanged.
Undefined external smooth-coefficient fits now return NA for the affected fitted values, coefficients and requested standard errors, with one informative warning, instead of publishing an internal finite penalty. Valid rows and the ridge schedule are unchanged. Required training and bootstrap fits still fail when their local systems cannot be solved.
Earlier regression uncertainty documentation clarified the then-current fitted-residual HC0 calculation, derivatives, contrasts and beta kernels. The residual-normalized correction described above supersedes that uncorrected formula.
Formula estimators and regression inference helpers now retain explicitly supplied data values in wrapper calls, instead of looking up their argument names again in the formula environment, including least-squares quantile regression bandwidth and fitted-object formula calls. Formula expressions and retained data behavior are unchanged.
Smooth-coefficient NOMAD bandwidth objects now publish complete bandwidth and scale metadata. This fixes multi-smoother summaries and NA fits or predictions from malformed scalar degree-zero fixed-bandwidth objects, without changing the selected bandwidth, objective or search evaluations.
Smooth-coefficient bandwidth selection skips redundant scalar zero-ridge correction work, retaining the existing ridge safeguards and results.
Base plots now annotate supported variability intervals
consistently for levels and gradients/effects: individual full-frame
figures retain subtitles even with
options(plot.par.mfrow=FALSE), while package-managed
multi-panel pages receive one shared top annotation. Categorical bars
and multi-quantile overlays use appropriate interval and coverage-scope
wording. Explicit subtitles and existing graphics geometry are
preserved; labels that cannot fit safely are omitted. Class-probability
plots now honor the same global layout option.
gradient.order is the sole supported
derivative-order spelling. The gradient_order
plot/single-index alias is no longer accepted, and gradient accessors
reject that spelling instead of ignoring it. Diagnostics suggest
gradient.order only on routes that support derivative-order
requests.
Mixed fixed/free degree searches now assert after NOMAD returns that every fixed degree coordinate still equals its requested value.
NN recovery now leaves an allowed extended-NN incumbent unchanged and proceeds to the existing fail-closed result instead of reporting an internal ordinary-domain error.
Source builds on R versions before 4.4 now provide the LAPACK integer type used by compact-support regression checks, while newer R versions retain their native LAPACK type definition.
Long-double entropy-bootstrap work arrays now use R’s aligned long-double allocator, avoiding undefined behavior on platforms that require stricter alignment.
npksum(..., permutation.operator = "integral") now
initializes and independently owns its tree-range workspaces, preventing
invalid memory access and double-free behavior without changing the
integral result.
Gradient standard errors for a single-level ordered predictor no longer read beyond the predictor’s category table, including adaptive-NN dense and tree routes; its identically zero contrast remains unchanged.
Automatic cell-based coordinate/exhaustive polynomial-degree
searches now preserve a configuration error when every degree candidate
fails with the same condition. Missing fixed cker*,
cxker*, or cyker* limits, and missing required
beta-kernel support specifications, now produce the same actionable
messages as NOMAD searches; heterogeneous or numerical candidate
failures retain the generic no-admissible-model error.
NOMAD degree searches now honor mixed fixed/free degree bounds
such as degree.min = c(0, 0) with
degree.max = c(1, 0). Fixed coordinates remain fixed
through starts, restarts, optional Powell refinement, and result
metadata; all-free, all-fixed, and exhaustive searches are
unchanged.
Evaluation-only bandwidth calls now return one initialized history entry, rather than exposing unused entries when more than one start was requested.
Bandwidth searches no longer reuse large-bandwidth geometry from an earlier dataset. This fixes history-dependent density cross-validation values and protects subsequent searches and regression fits from stale geometry.
Nearest-neighbour bandwidth searches now certify selected objectives and optimizer handoffs against the underlying objective. When an automatic search ends on an invalid NN plateau, eligible owners can make one deterministic same-optimizer restart from a verified ordinary-NN point. The recovery schedule is bounded and does not exhaust all feasible NN indices; failure to find a valid restart is not a proof of infeasibility. Invalid trial points remain penalized during search; mandatory refinement, explicit starting values, and already-valid search paths are preserved.
Smooth-coefficient NN searches now distinguish categorical smoothing bandwidths from continuous NN indices. Single-index searches also preserve explicit starting-bandwidth validation instead of silently replacing an invalid supplied start.
The proof-of-concept npregiv() and
npregivderiv() estimators now reject unsupported
nearest-neighbour bandwidths early with a clear message. Fixed
bandwidths remain the default and are unchanged.
Formula-created single-index fits now reuse their retained training data for prediction and subsequent evaluation, avoiding spurious missing-variable errors when response and predictor columns are not separate workspace objects.
Terminal nearest-neighbor zero-radius errors now share a
diagnostic that identifies the continuous variable and tied-donor
geometry and suggests fixed bandwidths (the default).
npsigtest() also identifies the failing stage. Successful
fits, positive radii, and optimizer trial rejection are unchanged;
repeated values alone are not rejected.
Principal estimator and bandwidth entry points now reject unknown
named arguments passed through ... before evaluating their
values. Diagnostics suggest an unambiguous canonical spelling when one
is available, while unnamed arguments and established retired-argument
diagnostics retain their existing behavior.
Public bootstrap-count arguments for npcmstest(),
npqcmstest(), npdeneqtest(),
npdeptest(), npsdeptest(),
npsigtest(), npindex(),
npsymtest(), and npunitest() are now
consistently named B, with the historical default of 399.
The former boot.num input is retired; existing
$boot.num result metadata is unchanged.
npsigtest() now displays one immediate, call-owned
progress row with compact predictor names. Individual tests report
predictor-level completion and an ETA after the first test finishes;
joint and single-predictor tests retain bootstrap-level progress.
Statistical results and random-number streams are unchanged.
Eligible individual `npsigtest()` calls with fixed bandwidths and IID residual resampling now evaluate bootstrap statistics in bounded native tiles. The streamed path preserves the incumbent bootstrap samples, random number stream, statistics, and P-values; unsupported configurations continue through the incumbent R loop.
Regression, conditional-density, and conditional-distribution evaluation rows whose required kernel normalization is exactly zero or non-finite now fail closed locally. Their estimate, standard error, gradient, and gradient standard error components are returned as `NA` where requested, and the corresponding hat row is `NA`, without invalidating defined rows. Every finite nonzero normalization remains literal and unperturbed.
Fitted density and conditional-density log-likelihood aggregates now use the literal logarithm of every represented strictly positive estimate, including subnormal values. Exact zero and negative estimates retain the established computational placeholder; no underflow-recovery owner is introduced.
Density likelihood cross-validation now takes the true logarithm of every represented strictly positive contribution, including positive subnormal values and positive values retained only in signed-log form. Exact zero and negative contributions retain the established guarded mapping.
Leave-one-out regression and conditional objective shortcuts now
preserve every finite nonzero 1 - h_ii leverage denominator
exactly. Near-saturated all-large polynomial designs no longer replace a
positive representable denominator by machine epsilon; zero or
non-finite deletion denominators cede to the established
invalid-objective path.
Continuous generalized- and adaptive-nearest-neighbour bandwidths now use the literal kth admitted distance throughout ordinary, beta-kernel, and kernel-sum owners. Exact ties that make this radius zero invalidate the requested bandwidth instead of silently widening it to the nearest positive distance or replacing it by a numerical floor. Search candidates retain their established invalid-objective mapping, while direct public computation reports the zero-radius condition. Every represented strictly positive radius remains admissible; k, occurrence exclusion, extended-NN scaling, cache policy, and public interfaces are unchanged.
Mixed beta-kernel conditional hats now pass the validated categorical- compression state to their private direct kernel-weight owner. This repairs conditional density gradients and simultaneous beta-X/beta-Y fits that previously stopped for both dense and compressed execution; the two modes remain numerically identical.
Copula density helpers now translate the public normalized
ordered Li–Racine kernel name to the private
kbandwidth/npksum spelling. This restores
ordered and mixed copula density semantics without changing public
kernel names or defaults.
Wide fixed-bandwidth local-polynomial
npreghat(..., output = "apply") calls now use the
training-coordinate block shortcut only when evaluation coordinates
actually equal the training coordinates. Equal row counts no longer
misclassify a distinct external evaluation grid; the cutoff, arithmetic
owners, and public interface are unchanged.
Partial-linear INID bootstrap coefficient solves now attempt the
identified unregularized weighted least-squares system before entering
their bounded ridge ladder. The former positive 1e-12
default altered every identified replicate and could make an exactly
singular system appear solved before the declared 1/n
stabilization step. Failed zero-ridge solves still enter the existing
1/n, 2/n, …, capped sequence; public
interfaces are unchanged.
Partial-linear bootstrap coefficient solves now ridge the Robinson-residualized regressors symmetrically. The former first-coordinate RHS adjustment treated a user regressor as an intercept and made ridged results depend on regressor order; weights, ridge ladder, resampling, and public interfaces are unchanged.
Smooth-coefficient fit and bandwidth ridge corrections now use the finite, nonzero signed pristine moment intercept. This preserves constant reproduction under common moment scaling without changing ordinary zero-ridge solves or the existing bounded ridge sequence.
Ridged local-polynomial response, influence, and R fallback solves now restore the intercept from the signed pristine Gram intercept rather than the already-ridged diagonal or a numerical floor. This restores constant reproduction on rank-deficient systems without changing ridge admission, sequence, cap, diagnostics, or ordinary zero-ridge arithmetic.
Regression bandwidth search now preserves terminal invalidity through finalization and raw-certifies the selected point once outside the optimizer loop. Finite invalid guidance uses the exact criterion-specific constant null for CVLS, the trace-one null for CVAIC, and the Bernoulli null for CVKS; penalty multipliers must be finite and strictly greater than one.
Location-scale quantile bandwidth selection now evaluates leave-one-out check loss against the requested response when its fitted transformed response differs, uses the exact constant-quantile check-loss null for invalid guidance, and rejects an optimizer payload whose selected point is raw-invalid. The chosen NOMAD/Powell semantics are unchanged.
Single-index bandwidth selection now raw-certifies selected Ichimura and Klein–Spady candidates and uses their exact declared leave-one-out nulls for outer invalid guidance. Inner regression evaluation returns raw objective values or terminal invalidity and propagates implementation errors; valid objectives, caches, and optimizer choices are unchanged.
Positive-degree local-polynomial categorical gradients/effects
now report their documented fitted-value endpoint contrasts across
regression, conditional density/distribution, quantile regression,
conditional mode, location-scale quantile regression, and plot/bootstrap
workflows instead of native zero placeholders. Categorical asymptotic
effect standard errors remain unavailable and are reported as
NA.
npsigtest() now chooses pivotal continuous and
unstandardized categorical statistics by default, records the effective
choice, and fails explicitly when requested pivot standard errors do not
define a statistic. Bootstrap values equal to the observed statistic are
included in the empirical upper tail, so a completely smoothed-out
predictor returns P = 1 rather than a false rejection.
Explicit local-polynomial tests require degree at least one only for
tested continuous coordinates. Joint/predictor status now stays on the
existing live progress line instead of leaving permanent console
notes.
Multi-response npreghat(..., output = "apply")
results now retain the response column names consistently across native,
leave-one-out, and row-local local-polynomial owners, matching the
corresponding hat-matrix application without changing numerical values
or ridge diagnostics.
Local-polynomial response, influence-row, regression-CV,
conditional X-row, and bootstrap owners now share one typed
numerical-rank and ridge policy. Ordinary full-rank response rows retain
the one-call DGESV lifecycle; only an ambiguous
working-precision pivot enters a cold, symmetrically equilibrated
singular-value check. Rank-deficient rows use one Gram-relative
bounded-ridge transcript for response and adjoint solves. This restores
dense/tree objective parity for sparse fixed-bandwidth LP windows and
makes npreghat() matrix/apply results agree with fitted
values on deficient rows without adding evaluation-by-training
storage.
Public regtype="ll" is now exclusively an API and
reporting alias for the canonical raw GLP degree-one engine. Regression
fit, uncertainty, objective, npreghat()
matrix/apply/constraint, single-index hat, conditional X-side, and
plot/bootstrap consumers all select owners from canonical engine
metadata. The retired private local-linear matrix/ridge and single-index
hat routes have been removed. Results can change only where those
private routes formerly selected a different regularized fit; explicit
raw LP degree one and unaffected LC/LP configurations retain their
canonical results.
Fixed local-polynomial plot bootstraps now solve count-compressed
response moments through the same canonical bounded-ridge response owner
used by ordinary regression fits. Regression, single-index,
smooth-coefficient, partial-linear, and conditional density/distribution
bootstrap consumers share one native batched response solve; the former
private determinant, solve(), and absolute-ridge
implementations have been removed. Count construction, moment
arithmetic, chunking, progress, and MPI orchestration are unchanged.
Results can change for systems where the retired private path imposed a
different ridge decision.
Eligible fixed and generalized-nearest-neighbour LP mean
applications now use the canonical regression response owner for one or
more right-hand sides. A one-column
npreghat(..., output = "apply") no longer falls through a
separate kernel-weight matrix reconstruction that could disagree with
npreghat(..., output = "matrix") %*% y and
npreg() on higher-degree or low-rank local windows.
Adaptive and extended nearest-neighbour routes, beta kernels, derivative
operators, ridge policy, and public interfaces are unchanged.
Ordinary univariate generalized-nearest-neighbour regression now
admits k = 1 only for the mathematically certified positive
scalar capability: second-order Gaussian or Epanechnikov kernels with LC
mean/derivative operation, including the equivalent generalized-LP
degree-zero representation. One exact-field capability resolver supplies
manual validation, fixed-degree optimizer bounds, and the native lower
endpoint; an occurrence-aware geometry validator rejects literal zero
radii. Adaptive NN, mixed or multivariate regression, positive-degree LP
(including the public ll alias), other kernels/bounds,
automatic degree domains that can reach positive degree, and
semiparametric owners retain k >= 2. The policy contains
no sample-size, timing, host, rank-count, or acceleration branch and
introduces only linear-in-evaluation geometry scratch.
Regression leave-one-out hat-matrix and apply routes now share the objective’s occurrence-aware generalized/adaptive NN geometry, source basis, weighted moment layout, factorization, bounded ridge transcript, and intercept restoration. Matrix and apply consume the same completed influence row; apply retains linear-in-sample auxiliary storage and does not construct an evaluation-by-training matrix. The reconstructed owner preserves the August-16 one-call response solve and existing bounded ridge boundary; all-zero compact-kernel LOO rows now fail explicitly instead of returning a fabricated ridged estimate.
Exact adaptive-nearest-neighbour leave-one-out objectives now
construct each donor radius on the literal fold that excludes both the
focal observation and the donor itself. A shared
adjacent-order-statistic owner supplies regression, unconditional
density, conditional density, and empirical conditional-distribution
rows without a per-fold sort or pair matrix. Saturated and extended
counts scale the largest available fold radius by
k/(n - 2); the full-design integrated-square term in
density CVLS retains its distinct full-sample radius and
k/(n - 1) extension. This repairs formerly invalid
high-count objectives and adaptive regression optimizer handoffs while
preserving literal duplicate occurrences, zero-radius infeasibility, and
linear-in-sample auxiliary storage.
Extended generalized-nearest-neighbour training queries now preserve the supplied occurrence identity before applying the package’s linear radius extension. Regression, unconditional density/distribution, and conditional mapped-training owners therefore select the farthest literal neighbour only after deleting the identified focal occurrence. Equal-valued external queries retain external geometry, and ordinary non-extended counts are pointwise unchanged.
Empirical-sample conditional-distribution CV now evaluates the
documented off-diagonal criterion with divisor n(n - 1).
Ordinary generalized nearest-neighbour rows construct the explanatory
radius from the delete-one sample and the response radius from the
occurrence union {i, j} required by
Fhat_{-i}(Y_j | X_i). The exact row and bounded block
owners share one two-slot order-statistic selector, preserve duplicate
occurrences, and add no pair matrix or per-fold sort. Apart from the
separately documented exact adaptive-fold correction, fixed, adaptive,
and beta sample-grid objectives receive only the normalization
correction; genuine external and default response grids are unchanged.
Because the diagonal was already omitted, this changes reported
training-grid criterion values by the common positive factor
n/(n - 1) relative to the former n^2 divisor
and does not change the mathematical minimizer on a common candidate
domain.
Empirical distribution and conditional-distribution CVLS owners
now finalize their shared pair-count normalization through one checked
native seam. Invalid training/evaluation shapes and non-finite
accumulators return the existing infeasible status instead of permitting
a zero pair-count division to produce NaN or
Inf; valid objective arithmetic, MPI reductions, search
domains, and public interfaces are unchanged.
Ordinary generalized nearest-neighbour conditional-density and conditional-distribution training fits now construct explanatory and response radii after deleting the identified focal occurrence, while still retaining that observation in the estimator sum. Scalar and local-polynomial owners share the same explicit occurrence contract and reject literal zero radii. Equal-valued external queries, fixed and adaptive bandwidths, beta kernels, extended nearest-neighbour bandwidths, and external-grid search objectives retain their existing contracts.
Ordinary generalized nearest-neighbour conditional-density CVML now constructs both explanatory and response radii after deleting the focal training occurrence used by each leave-one-out objective row. The scalar, local-polynomial row, and bounded block-stream owners share the same explicit occurrence contract; zero literal radii fail the candidate cleanly. Fixed and adaptive bandwidths, conditional-density CVLS, conditional-distribution external-grid objectives, beta kernels, and extended nearest-neighbour bandwidths retain their existing contracts.
Ordinary generalized nearest-neighbour unconditional density and distribution rows now distinguish identified training occurrences from equal-valued external evaluation points. Training fits and CVML construct each query radius after deleting its focal occurrence, while full fitted rows continue to use every observation in the kernel sum. External queries, density CVLS, adaptive and extended nearest-neighbour bandwidths, and beta kernels retain their existing contracts; a literal zero radius is rejected rather than replaced by a positive neighbour.
Broad-support positive-degree npscoef tree
objectives now retain one invocation-owned outer-product workspace
across full-contiguous tree rows. The unchanged design matrix is packed
once while response/weight scratch is reused; sparse, partial, and
multi-segment support retains the incumbent row-local owner. This
removes repeated large workspace allocation and design packing without
changing public bandwidths, objectives, evaluation accounting, or fitted
results.
nplsqregbw() and nplsqreg() now support
the package-wide nomad = "auto" shortcut. One continuous
smoothing dimension uses the exhaustive degree lattice and jointly
optimizes bandwidth and delta at every degree; two or more
dimensions use the existing NOMAD/Powell joint search. Historical
nomad = FALSE and nomad = TRUE routes are
unchanged, and the separate nomad.pilot control remains
logical-only.
Conditional-density automatic degree search now provisions
response-side categorical workspace for every engine that a later degree
candidate can activate, rather than only the engine selected by the
initial degree. This restores npcdensbw() and
npconmode() search-trajectory parity across serial and MPI
owners without changing fixed-candidate objective arithmetic, degree
policy, or public evaluation accounting.
On Apple silicon, fixed-bandwidth compact-support regression-tree CV objectives of local-polynomial basis width six now use a compile-time resident sparse-pair microkernel. It preserves tree and pair order, the unique upper Gram triangle, and the shared mirror/solve finisher while vectorizing only the contiguous moving-row update. Widths below and above six are unchanged, and portable builds retain the incumbent generic width- six owner.
Fixed-bandwidth compact-support regression CV candidates whose kernel support covers the complete observed continuous range now use the canonical dense LP owner instead of unproductive full-tree traversal. A shared, operator-aware geometry classifier also routes full-support fixed kernel sums to their dense sibling and searches mixed-support trees only over coordinates whose kernels can prune, while continuing to evaluate every kernel factor. These exact, allocation-free policies apply to Apple and portable builds without sample-size or runtime thresholds; width-two regression CV, genuinely sparse, nearest-neighbour, non-compact, and unsupported owners retain their established routes.
Conditional-density native degree search now constructs its finite invalid- candidate penalty once from the same canonical baseline-and-retry rule as the ordinary bandwidth route, retains that value in the prepared context, and restores it before every candidate. This removes candidate-dependent penalty recomputation, preserves public evaluation accounting, and carries degree-search parameters through the retry workspace without quadratic sample storage.
options(np.macMseries.accelerate = FALSE) now
disables the Apple-qualified weighted-design and conditional LP
transpose-GEMV siblings consistently. Ordinary BLAS/LAPACK algebra
remains available independently of this option, and
TRUE/"auto" retain the qualified Apple-arm64
owners.
Generalized fixed-bandwidth local-polynomial CV objectives of basis width six now retain only the unique upper triangle of their symmetric weighted Gram rows and mirror it once before solving. Serial unordered-pair and MPI rank-owned rows share this arithmetic contract; the portable scalar and Apple-arm64 vector siblings avoid the packed-width regression when optional acceleration is disabled while preserving wider, tree, and nearest-neighbour owners and linear-in-sample auxiliary storage.
Fixed-bandwidth degree-zero conditional-density CVML with two or
three compact-support explanatory dimensions now retains sparse tree
traversal in the canonical scalar joint/marginal owner instead of
entering the dense LP block stream. The selector is based only on
prepared engine topology and preserves np.tree = "auto"
kernel eligibility, LC/raw-LP0/Bernstein-LP0 equivalence, linear
auxiliary storage, and existing wider, positive-degree,
nearest-neighbour, dense, and MPI owners.
npconmode() now evaluates categorical response
levels through one memory-bounded conditional-density batch instead of
rebuilding the same fit lifecycle for every level. Requested
class-probability gradients retain one singleton evaluation for their
selected level while all other levels share the batch. The canonical
npcdens() engine, probability repair, class selection, and
result arithmetic are unchanged; temporary evaluation rows are capped
independently of the number of response levels.
Eligible fixed-bandwidth local-polynomial CV objectives now apply the same basis-neutral owner rule to generalized, additive, and tensor bases: resident accumulation through basis width six, packed BLAS from width seven, and the independently qualified generic resident owner for sparse tree rows. The hoisted basis, canonical solve, deletion, projection, and loss arithmetic are shared; no basis-family or kernel-spelling fallback remains. Widths five and six retain only the unique symmetric Gram triangle during accumulation and mirror it once before solving.
Fixed-bandwidth compact-support npscoef objectives
now pack each sparse tree row’s active support into the existing BLAS
outer-product engine for moderate and wide local-polynomial moment
systems. Dense, degree-zero, nearest-neighbour, signed, derivative, and
permutation routes retain their existing arithmetic and storage
contracts; scratch is bounded by
support * (width_A + width_B) + width_A * width_B, never by
sample pairs.
Fixed-bandwidth degree-zero conditional-density CVLS now recognizes an all-categorical explanatory side at its constant upper kernel limit as the canonical global-X design. This restores the unconditional-density limit, including the ordered Li-Racine case, and avoids redundant conditional X weighting. Generalized/adaptive NN and response-side kernel limits are unchanged.
Degree-zero conditional-density and conditional-distribution CVLS objectives now enter the same canonical all-large explanatory-bandwidth context as positive-degree local polynomials. The width-one case uses its implicit unit basis and scalar Gram inverse, avoiding the dense locally weighted pass while preserving delete-one objective semantics and linear auxiliary storage. Conditional-distribution tree rows now translate their independent response permutation once at the shared indicator boundary.
Fixed-bandwidth two-predictor local-linear CV objectives now keep the sparse tree row resident and accumulate the same unique symmetric Gram triangle as the canonical dense width-three engine before using their shared mirror, solve, and uncentered projection. Compact-support tree support and kernel semantics are unchanged; the redundant lower-triangle pair updates are removed without additional sample-sized storage.
Bootstrap-intensive tests now reuse fixed kernel geometry in
bounded replication groups. npcmstest() and
npqcmstest() keep one model refit per draw but contract the
resulting residual or score columns through multi-response kernel sums;
fixed, unbounded npdeneqtest() routes process pooled
multiplicity columns while bounded and nearest-neighbour routes keep
literal duplicate resampling; and
npdeptest(method = "summation") uses a bounded native index
batch that shares only the invariant response-side marginal work. Draw
order, complete bootstrap payloads, bandwidth and model semantics, RNG
restoration, progress, and linear auxiliary-memory scaling are
preserved.
Fixed-bandwidth fourth- and sixth-order Gaussian convolution rows now hoist their invariant normalization scale out of the observation loop. Conditional CVLS objective values are unchanged while the affected higher-order kernel pass avoids two divisions per row element.
Gaussian entropy integration now hoists validated bandwidth
reciprocals out of its training-by-evaluation kernel loop and evaluates
its three exponentials in bounded vForce blocks on supported Apple
silicon. This accelerates npdeptest() and
npsdeptest(method = "integration") without changing
bandwidths, bootstrap decisions, accumulation order, or asymptotic
memory use; options(np.macMseries.accelerate = FALSE)
retains the scalar route.
Default fixed-Gaussian entropy summation now uses registered,
streamed native owners for npunitest(),
npsymtest(), npdeptest(), and
npsdeptest(). Univariate and symmetry bootstraps consume
bounded chunks of multiplicities while preserving the exact incumbent
sample.int() or boot::tsboot() draw plan and
RNG state; dependence statistics fuse their marginal and joint kernel
sums without an n-by-n cache. Explicit generalized- and
adaptive-nearest-neighbour requests remain on literal,
duplicate-preserving resample/refit routes so sample-owned radii and
ordered lag pairs are unchanged.
General bounded conditional-density CVLS now reuses each
response-side quadrature kernel tile across a memory-bounded group of
explanatory-row tiles. Ordinary and beta kernels share the same
canonical engine; objective arithmetic and accumulation order are
unchanged, and storage remains O(n B) under the existing
conditional-LP tile budget.
Eligible bivariate surface plots now share one base-perspective
frame owner, one viridis palette mapper, and one neutral-gray three-face
grid style across the base and rgl renderers. The shared
renderer is used by the regression, density, distribution, conditional,
semiparametric, conditional-mode, and copula plot families; estimator
and plot-data arithmetic are unchanged.
Uncertainty migration: npudens(),
npudist(), npcdens(), npcdist(),
npplreg(), npqreg(), npconmode(),
and npcopula() now default to se = FALSE,
joining the existing opt-in controls in npreg(),
npscoef(), and nplsqreg(). This is
intentionally backward-incompatible for scripts that assumed these
uncertainty fields were always populated in earlier releases or
candidate builds. The exception is npindex(): its default
se = TRUE includes asymptotic coefficient covariance;
explicit se = FALSE omits it. Gradients and uncertainty
remain separate requests where supported. For example,
npreg(bws = model$bws, gradients = TRUE, se = TRUE) adds
requested outputs without repeating bandwidth selection; supply the
original training data if it cannot be recovered from the bandwidth
object. Here model is an illustrative object name.
se(), vcov(),
coef(..., se = TRUE) and
gradients(..., se = TRUE), where supported, only extract
stored results and give a no-search refit message when those results are
absent. Explicit inference requests such as
predict(..., se.fit = TRUE) and
plot(..., errors = "asymptotic") request their needed
computation. Omitted internal uncertainty fields can be
NULL or length-zero vectors (for example,
derr = numeric(0)); use the public extractors rather than
relying on one internal empty-field shape. The former Boolean estimation
argument errors remains rejected; plot methods retain their
method-valued errors control. No bandwidth search is
repeated merely to extract stored results.
Conditional density and distribution kernel summaries now
identify explanatory and dependent kernels separately for continuous,
unordered, and ordered variables. Bandwidth-object print()
and summary() methods share one formatter, public output no
longer exposes internal cxker*/cyker* argument
mnemonics, and invalid categorical-kernel selections name the specific
uxkertype, uykertype, oxkertype,
or oykertype argument.
Interactive renderer = "rgl" surfaces now use a
high-DPI-aware widget canvas, a higher-resolution uncertainty legend,
and an initial camera more closely matched to the base perspective. The
renderer caps backing-store scaling at two device pixels per CSS pixel,
retains native rgl axis labels and interaction, and preserves all
existing rgl.* user overrides. Shared rgl setup and option
routing now have one internal owner across supported plot families.
Existing band = "all" legends now use the same
construction-aware quantile, rank, and normal-SE labels as the base
renderer, without adding an rgl subtitle or footer; estimator,
bootstrap, interval, and base-renderer arithmetic are
unchanged.
npindexbw() now canonicalizes its numeric design
matrix once at the public boundary and reuses that matrix during
internal index and coordinate setup. This removes redundant full-matrix
copies before objective evaluation while preserving estimator arithmetic
and conditions.
The integration routes for npunitest(),
npsymtest(), npdeptest(), and
npsdeptest() now use bounded deterministic
corrected-trapezoid quadrature for their default Gaussian statistics.
Univariate iid bootstraps reuse a fixed grid and evaluate bounded chunks
of resampling counts; symmetry bootstraps reuse reflected density
values; and bivariate quadrature calls the registered constant-storage
Gaussian evaluator in bounded tiles. This removes the
cubature dependency while preserving bootstrap sampling
laws, fixed bandwidth reuse, result shapes, seed restoration, and
nondefault kernel routes.
Removed the private, unexported package-local gsl.bs
bridge and its registered native wrappers. Public spline construction
remains owned by crs::gsl.bs(); the independent B-spline
primitives used by the canonical Bernstein local-polynomial engine
remain in place, with estimator arithmetic unchanged.
The canonical beta row engine now owns its malloc-backed route, categorical, derivative, and row workspaces behind one unwind-protected cleanup boundary. Nested derivative helpers borrow that invocation-scoped scratch rather than allocating it per call, so user interrupts and R errors cannot strand native storage. Successful PDF, CDF, convolution, derivative, powered-derivative, and regression arithmetic is unchanged.
Beta nearest-neighbour bandwidth preparation now calls the shared continuous-distance owner directly. It no longer temporarily rewrites unrelated package-global scaling and categorical factors, while retaining the same generalized- and adaptive-nearest-neighbour arithmetic.
Nearest-neighbour lookup and distance failures now leave both shared bandwidth owners through their normal cleanup exit. This removes retained standard-deviation and distance workspaces after recoverable failures while preserving successful fixed, generalized-nearest-neighbour, and adaptive- nearest-neighbour arithmetic and conditions.
Removed the unreachable conditional-bootstrap exact-state sidecar and its dead-state-only test assertions. Public conditional bootstrap routes retain their existing canonical refit, count, and fixed local-constant owners.
Removed the unregistered and callerless internal
beta_kernelsum facade. Beta bandwidth-mode ownership now
resides in the shared bandwidth contract; all estimator, kernel-sum, LP,
and optional-output routes continue to use the canonical continuous-row
engine.
Higher-order beta convolution now prepares each distinct side/component shape once per observation pair rather than rebuilding it for every opposing component. The stack-local decomposition retains the canonical centered gamma-ratio and signed component-pair accumulation order, changes no order-two arithmetic, and adds no dynamic or sample-sized storage.
Fixed-bandwidth beta CDF rows now prepare each coordinate/component concentration once per invocation rather than recomputing it for every evaluation-observation pair. The fixed-only sibling shares the canonical CDF arithmetic and failure statuses with scalar and nearest-neighbour rows, cannot fall back after selection, and adds only coordinate-by-component transient storage.
Beta CDF rows now prepare observation support coordinates and
higher-order coefficient state once per invocation rather than
rebuilding them for every evaluation-observation pair. Fixed,
generalized-nearest-neighbour, and adaptive-nearest-neighbour
distribution rows share the same canonical pbeta()
arithmetic and failure contract. The prepared route is selected outside
row traversal, cannot fall back to the scalar CDF evaluator, and uses
only beta-coordinate-linear transient storage; density-only routes
retain their existing prepared-PDF path unchanged.
Beta regression gradient rows now form the signed-log level and its regular/jump target derivative from one canonical component preparation. The level phase still completes before derivative work, preserving native failure precedence and exact fitted, gradient, and standard-error arithmetic while removing the duplicate beta shape and PDF pass. Fixed- and generalized-nearest-neighbour gradient rows additionally reuse their prepared evaluation-row components. Adaptive-nearest-neighbour gradient rows reuse invocation-owned observation transforms and coefficient state while retaining pair-owned bandwidth shapes and normalizers. Each bandwidth topology selects an isolated sibling before row traversal, with no inner-loop route branch or scalar fallback. Derivative-only fixed/GNN state is allocated lazily, so level-only fits retain their incumbent preparation cost.
Adaptive-nearest-neighbour beta PDF rows now prepare support-transformed observations and higher-order coefficient state once per invocation while retaining observation-owned bandwidth shapes and normalizers in the pairwise evaluator. This preserves exact kernel-weight, objective, fit, and prediction arithmetic, uses beta-coordinate-linear transient storage, and cannot fall back to the scalar row after the prepared route is selected.
Fixed- and generalized-nearest-neighbour beta PDF rows now prepare support- transformed observations, component normalizers, and higher-order coefficient logs at their invocation or evaluation-row lifetime instead of recomputing them for every observation pair. The shared row engine retains exact objective, fit, prediction, and kernel-weight arithmetic, has no runtime fallback after route selection, and uses only beta-coordinate-linear transient storage.
Hardened beta self-map layout validation at the registered
kernel-sum, nearest-neighbour bandwidth, and canonical continuous-row
boundaries. Internal calls that identify training and evaluation data
now require equal extents and a strict logical self-map flag, preventing
an inconsistent native invocation from aliasing a shorter training
buffer as a longer evaluation buffer. Valid estimator and
npksum() arithmetic is unchanged.
Corrected automatic-degree regression startup for beta kernels and local-polynomial engine transitions for every continuous kernel. Internal zero bandwidth placeholders are now owned by bandwidth selection rather than validated as manual beta bandwidths, and each evaluated degree selects the scalar width-one or general LP engine through the shared canonical rule. Returned objectives continue to replay exactly without fallback or post-search rewriting.
Derivative kernel-weight output now uses invocation-scoped
ownership and each derivative block’s canonical tree-support intervals.
This removes mutable native output state and corrects compact-support
adaptive-nearest- neighbour tree output while preserving exact dense,
tree, automatic, and repeated npksum() results, including
mixed score/OCG blocks.
Corrected positive-degree raw local-polynomial bandwidth
selection for conditional density and distribution estimators when
predictor units make the raw polynomial coordinates numerically ill
conditioned (for example, calendar years). The signed full-row influence
engine now selects one globally equivalent, conditioned coordinate
representation before row traversal and uses it across scalar, block,
tree, and all-large owners. The selection is basis-family neutral, does
not center at evaluation points, and retains only
O(n k + k^2) workspace for basis width k. The
scalar row owner also now reuses the hoisted LP basis for the whole
objective rather than rebuilding and clearing it for every evaluation
row.
Conditional count-bootstrap evaluation with a beta predictor or
response kernel now uses one family-neutral native ingress for
continuous and mixed categorical data, with strict
np.categorical.compress = TRUE/FALSE behavior.
Beta X or Y rows retain the canonical scaled-row owner, while the other
side uses the shared continuous/categorical scalar registry; the
implementation streams O(n + B) scratch and supports an
entirely categorical non-beta side. For generalized- and
adaptive-nearest-neighbour bandwidths, compressed multiplicities are
expanded before row evaluation so bandwidth radii belong to the realized
resample rather than the unreplicated source rows.
Corrected conditional plot/bootstrap dispatch so nonfixed local-polynomial beta fits retain the declared LP engine on every exact resample instead of being intercepted by the local-constant count evaluator.
Conditional count-bootstrap levels with a beta predictor or response kernel now reuse the canonical scaled conditional rows and contract all count columns through BLAS. The evaluator streams one observation-length row per side and retains no observation-by-evaluation matrix. This preserves the established weighted conditional ratio up to floating-point accumulation order while substantially reducing repeated count-evaluation time.
Conditional-distribution least-squares bandwidth selection with a
beta predictor or response kernel now uses the shared conditional
local-polynomial CVLS engine across scalar and positive degrees, raw and
Bernstein bases, fixed, generalized-nearest-neighbour, and
adaptive-nearest-neighbour bandwidths, and supported mixed
continuous/categorical data. Predictor rows use the canonical signed
delete-one influence solve, while response rows use the canonical CDF
operator on the actual evaluation plane. A bounded response-row
supertile retains O(n B + B^2) workspace and reuses each
CDF tile across small groups of predictor tiles; allocation failure
selects only the algebraically identical linear-memory row stream. The
former private beta conditional-distribution objective and its
caller-free cache helpers have been removed.
Conditional-density least-squares bandwidth selection with a beta predictor or response kernel now uses the shared conditional local-polynomial CVLS engine across scalar and positive degrees, raw and Bernstein bases, fixed, generalized-nearest-neighbour, and adaptive-nearest-neighbour bandwidths, and mixed continuous/categorical data. Predictor rows use the canonical signed full-row solve and exact delete-one identity; response rows retain the established bounded-quadrature or analytic-convolution owners. A bounded analytic-response supertile reuses convolution rows without retaining an observation-square matrix. Automatic Powell, MADS plus Powell, and degree search now accept these supported conditional-density configurations; conditional-distribution bandwidth activation remains separately gated.
Conditional density and distribution gradients with a beta response kernel now retain the same signed-infinite endpoint limits and explicit missing gradient standard errors as the canonical beta regression engine. Finite gradients still use the strict finite restoration path, and indeterminate extended-real scaling remains an error; plot geometry continues to omit non-finite coordinates without mutating returned estimator values.
Corrected internally computed generalized-nearest-neighbour convolution kernel sums so every continuous coordinate owns the required training-point companion bandwidths. The public route now uses the same unequal-bandwidth convolution contract as supplied-bandwidth consumers instead of dereferencing an absent companion matrix; fixed and adaptive bandwidth routes are unchanged.
Corrected conditional-density least-squares cross-validation so its integrated-square and fitted-value terms use the same signed delete-one X smoother in every analytic and categorical-profile route. Adaptive-nearest- neighbour conditional rows now apply their observation-specific X bandwidth divisors and pair response convolutions with the corresponding row bandwidth. A scalar response-row shortcut is now restricted to ordinary density evaluation rather than being reused for convolution. These changes intentionally correct affected CVLS objectives and adaptive-nearest- neighbour CVML and conditional-distribution objectives; bounded-quadrature routes and adjacent fixed/generalized-nearest-neighbour objectives are unchanged.
Beta density bandwidth selection now supports mixed continuous,
unordered, and ordered data for CVML and bounded target-quadrature CVLS,
across fixed, generalized-nearest-neighbour, and
adaptive-nearest-neighbour bandwidths and beta orders 2, 4, 6, and 8.
The continuous beta row and categorical kernels use the canonical
density objective owners, including strict
np.categorical.compress = TRUE/FALSE behavior;
no beta-specific objective or categorical fallback is used. Other
automatic beta bandwidth families retain their existing continuous-only
gates.
Corrected native automatic-degree search for conditional density and distribution bandwidths so every callback selects the canonical scalar degree-zero or general positive-degree local-polynomial engine from that callback’s degree. Returned bandwidth objects now reproduce their stored objectives at the selected degree. Least-squares quantile degree search now updates public and engine metadata atomically, including singleton and Powell-refinement routes, instead of producing an inadmissible first objective from mixed legacy state.
Conditional estimators and their gradient, hat, plotting, quantile, mode, and progress helpers now read canonical local-polynomial engine metadata by exact field name and validate the fields jointly. Malformed or mutated bandwidth objects fail with an error identifying the invalid field instead of reconstructing another engine from public display metadata. Derived least-squares quantile objects now retain the canonical engine state of their regression bandwidths.
np.categorical.compress now requires a single
non-missing logical value whenever categorical compression is
applicable. Invalid explicit values fail with a precise option error
instead of silently disabling the selected compression route; valid
TRUE/FALSE behavior and routes where the
option is inapplicable are unchanged.
Fixed-bandwidth categorical conditional-density CVLS now bounds its three predictor, response, and response-convolution profile matrices within one checked 64 MiB workspace. Above the ceiling, stable resident rows and dedicated scratch rows are filled through the shared categorical-profile kernel engine. A 32-profile convolution supertile preserves every scalar accumulation order while reusing each response-convolution row across the group, reducing representative objective time without changing objective bytes. Internal failure after route commitment is terminal rather than a silent fallback.
Fixed-bandwidth categorical conditional-distribution CVLS now bounds its aggregate predictor- and response-profile kernel workspace at 64 MiB. Problems that fit retain the established dense arithmetic exactly; larger profile topologies use stable reuse-priority resident rows plus one scratch row, filled through the shared categorical-profile kernel engine. Objective accumulation order and values are unchanged, and a failure after route commitment can no longer silently enter a different implementation.
Fixed-bandwidth ordered-categorical unconditional-distribution CVLS now consumes compressed kernel rows through a checked, caller-owned tile capped at 64 MiB instead of retaining the full evaluation-by-training profile matrix. The traversal and loss accumulation orders are unchanged, and objective values remain byte-identical; the general route remains canonical when a single row cannot fit the bounded workspace. Once the bounded route is selected, internal failure now fails cleanly rather than silently re-entering the general route.
Added a dormant, rank-local categorical-profile tile engine for subsequent migration of dense profile consumers. Its caller-owned output is bounded by a checked 64 MiB ceiling, immutable training profiles can be validated once per traversal, and no production estimator dispatch changes in this checkpoint. The same work corrects unordered derivative dispatch so score operators reach their canonical kernels instead of the historical normal- kernel fallback; ordinary objective, fit, and prediction results are unchanged.
Powell-side objective caches now use checked capacity, key-width,
load-factor, and rehash arithmetic under an independent 64 MiB peak
ceiling per native table. If a table cannot grow, its existing entries
remain available while the selected optimizer continues without further
insertion. Cache keys, objective values, optimizer behavior, and the
strict np.objective.cache option contract are
unchanged.
Smooth-coefficient local-polynomial cross-validation and fitting
now solve the common stable zero-ridge row systems through one
registered native entry, reusing a bounded O(p^2 + p)
LAPACK workspace instead of making one R-to-LAPACK transition per
evaluation row. Successful wider batches also project their hoisted
basis rows in ascending basis order through one register-local native
entry instead of slicing, reshaping, and dispatching every row in R.
Width-one and width-two explicit solvers are unchanged; if any wider row
is non-finite, singular, or ill-conditioned, the entire batch returns to
the established R ridge loop. Estimator formulas and ridge policy are
unchanged, although LAPACK workspace alignment and projection
reassociation can change last floating-point bits.
Completed the migration to one canonical, uncentered
local-polynomial compute engine across cross-validation, fitting,
prediction/evaluation, gradients, standard errors, and hat/apply
helpers. Raw and Bernstein bases now use the same basis-neutral solve
machinery; the obsolete centered and Numerical Recipes matrix engines,
including linalg.c, have been removed in favor of
bounded-workspace BLAS/LAPACK implementations.
Local-constant smoothing and explicit all-zero-degree
local-polynomial smoothing now share the canonical implicit width-one LP
engine throughout conditional objectives, fitting/evaluation,
derivatives, hats, and helper routes. The scalar specialization
constructs no unit basis and performs no BLAS/LAPACK solve;
categorical-only routes continue to honor
np.categorical.compress = TRUE and FALSE.
Public regression-type metadata and estimator definitions are unchanged.
This also corrects adaptive-nearest-neighbor conditional-density CVML
for explicit degree zero: its historical general-LP row omitted
observation-specific X-bandwidth divisors and could differ from the
equivalent local-constant objective.
Corrected conditional-density CVML workspace ownership for
categorical responses when the scalar streaming objective is selected
with multiple continuous predictors. Affected bandwidth searches,
including npconmode() workflows, could previously abort the
R process. Native MADS callbacks for the same scalar route also no
longer allocate or read a nonexistent local-polynomial degree
vector.
Generic local-polynomial CV objectives now pack their immutable response-plus-basis operand once per objective evaluation for eligible full drop-one rows, instead of repacking it for every observation. Adaptive-nearest-neighbour, tree, reduced-row, and specialized resident-row routes are unchanged, as are objective values.
Conditional-density and conditional-distribution local-polynomial cross-validation now retain signed higher-order predictor-kernel weights in every delete-one X row. The obsolete QR route silently discarded negative weights; it has been removed in favor of the canonical signed full-row solve and exact diagonal deletion, with a sign-preserving denominator. This intentionally corrects affected higher-order CVLS and CVML objectives; ordinary second-order results are unchanged.
Conditional local-polynomial full-row deletion now preserves
every finite, nonzero signed 1 - H_ii denominator exactly
rather than replacing sub-machine-epsilon values by a fixed floor.
Exactly zero or non-finite denominators fail through the existing clean
objective path because the corresponding deleted system has no valid
finite row. Ordinary non-singular objectives are unchanged.
Eligible fixed and generalized-nearest-neighbour conditional local-polynomial full-row blocks now reuse the bounded weighted-design BLAS assembly already used by conditional-density CVLS. This accelerates conditional-density likelihood cross-validation and conditional- distribution least-squares cross-validation without changing the scalar width-one, adaptive-nearest-neighbour, non-Accelerate, or allocation- fallback paths. The formulas are unchanged but BLAS reassociation can change last floating-point bits.
Adaptive-nearest-neighbour conditional local-polynomial objectives now reuse the same bounded weighted-design BLAS assembly when the basis has at least four terms. Widths one through three retain their established scalar transcript, as do small-sample, non-Accelerate, and allocation-fallback routes. This accelerates conditional-density likelihood and least-squares cross-validation and conditional-distribution least-squares cross-validation; the formulas are unchanged but BLAS reassociation can change last floating-point bits.
Eligible adaptive-nearest-neighbour conditional-density objectives now cache ordinary-Gaussian response-bandwidth reciprocals in their existing row context, replacing repeated vector divisions with multiplications. Non-Gaussian, higher-order, bounded, mixed-response, tree, non-Accelerate, and allocation-fallback routes retain the established implementation. The formulas are unchanged but reciprocal multiplication can change last floating-point bits.
On Apple ARM64, eligible fixed and generalized-nearest-neighbour products of two or more ordinary Gaussian continuous kernels now use one vector exponential of the summed squared standardized distances. Non-Apple, one-dimensional, tree, bounded, higher-order, adaptive-nearest-neighbour, convolution, score, permutation, and generalized-NN large-bandwidth shortcut routes retain the established implementation. The formulas are mathematically identical but can differ in their last floating-point bits.
Fixed-bandwidth fourth- and sixth-order Gaussian convolution rows now hoist bandwidth- and evaluation-point-invariant polynomial terms outside their observation loop. The isolated helper preserves the established formulas, dimension-product order, and objective bytes; ordinary Gaussian, nearest-neighbour, bounded, score, permutation, and non-convolution routes retain their existing direct implementations.
Corrected canonical local-polynomial CVAIC diagonal restoration and assembly for degrees greater than one, generalized-nearest-neighbor degree-one fitting and standard errors, and generalized-nearest-neighbor conditional-density CVLS convolution-bandwidth ownership. These are intentional numerical corrections and can change affected 0.70-6 results relative to 0.70-5.
Local-polynomial solve retries are now bounded across objective, fit, prediction/evaluation, and hat-matrix paths. Non-finite or unrecoverable systems fail instead of retrying indefinitely, and the fit route releases its native workspace before reporting failure; ordinary successful systems retain their established solve and ridge sequence.
Aligned the dedicated plot() methods for
npregiv and npregivderiv with the package-wide
regression plotting vocabulary. They now use gradients,
data_overlay, and data_rug;
npregiv defaults to its structural level with the training
response overlaid, while npregivderiv continues to default
to its derivative. Automatic limits include every active curve, response
overlay, and training-support rug, without replacing available fit-time
evaluation curves. The experimental plot-only controls
plot.data, deriv, and phi have
been removed and now fail with migration guidance. Estimator objects and
numerical results are unchanged.
Conditional density and distribution level plots now support bootstrap intervals when the continuous X and Y sides use different kernel families or orders, including beta on either side. Beta-containing bootstrap levels use the same signed log-domain numerator/denominator accumulation as the fitted estimator; this also corrects same-family higher-order beta bootstrap values when a finite negative or extremely small explanatory kernel sum was previously replaced by a positive machine-epsilon guard. Fixed, frozen generalized/adaptive nearest-neighbour, and exact nearest-neighbour refit semantics are covered. Matching legacy-kernel paths, estimator fits, gradients, bandwidth selection, and public defaults are unchanged.
Aligned npregiv() and npregivderiv()
summary output with npreg(). Fixed smoothing now uses the
canonical Kernel Regression Estimator: description
(Local-Constant, Local-Linear, or the
local-polynomial degree and basis details) instead of separately
printing the legacy p, regression type, and degree fields.
This is a reporting-only change; fitted objects, smoothing choices, and
numerical results are unchanged.
npksum() now validates its public logical controls
and kernel.pow before native dispatch. This prevents
malformed scalar controls from being masked by short-circuit evaluation
and prevents empty, missing, non-finite, or vector-valued kernel powers
from reaching C; an empty kernel power could previously terminate the R
process. Documented scalar inputs and valid integer powers retain their
established behavior.
Repaired npksum() score and OCG output for mixed
data. compute.score=TRUE now allocates its native result
buffer, and packed score, OCG, and continuous permutation blocks
(including derivative kernel weights) are returned in original
data-column order. Categorical base-kernel factors are now retained in
mixed-data continuous permutation blocks, and score-only ordered kernels
no longer dereference OCG-only state. The defects could previously cause
a process-level crash, fail during R reconstruction, or return an
incomplete mixed-data derivative.
Corrected Landweber–Fridman state coherence in
npregiv(): state N now means exactly
N completed updates, and phi.mat[, N],
norm.stop[N], norm.index, the returned curve,
derivatives, and optional weights refer to that same state. This can
change the selected iteration and returned estimate. Bandwidth replay is
now boundary-safe at norm.index = 1 and retains recomputed
stopping diagnostics. Documented numeric starting.values
now initialize a complete level-and-derivative state.
Corrected multivariate npregiv() derivatives to
return one named pure coordinate partial per continuous structural
coordinate. Local-constant Tikhonov derivative weights now use the
derivative operator and bandwidth for the requested coordinate instead
of combining coordinates or recycling bandwidth divisors. Univariate
Tikhonov results are unchanged.
Separated npregivderiv() training and evaluation
state. A fit-time zeval/formula newdata grid
now affects only phi.prime.eval and its path; training
operators, residuals, centering, stopping, selected state, fitted
values, and training gradients remain unchanged. Arbitrary positive grid
sizes are supported, while a different weval is rejected
because the inverse problem is defined on the training instruments. The
default Issue 57 local-linear training route is numerically
unchanged.
Hardened the IV public surface: ordinary IV regression stages now
own bandwidth.divide, ukertype, and
okertype without duplicate-argument failures and use
kernel-appropriate categorical search bounds;
npregivderiv(random.seed=) now controls its internal
bandwidth searches; scalar controls fail early; summaries report
continuous and categorical counts and derivative residual bandwidths;
and fitted(), residuals(),
gradients(), and plot methods consistently distinguish
training from evaluation fields. Post-fit predict() remains
deliberately unavailable.
The omitted regression-smoothing choice in
npregivderiv() is now local linear
(regtype = "ll", degree one), matching the longstanding
p = 1 default of npregiv(). Explicit
regtype = "lc" reproduces the former omitted-default
computation, while regtype = "lp", degree = ... remains
available. Local-polynomial order applies only to continuous predictors;
categorical-only internal stages use the equivalent local-constant
route. This intentional default change can alter derivative paths,
stopping states, and fitted structural functions for calls that
previously omitted regtype.
npregivderiv() now forwards user-supplied unordered
and ordered categorical regression kernels to its internal regression
stages without colliding with the private Equation (14) adjoint. The
adjoint continues to own its required Li–Racine categorical kernels and
ordinary-CDF normalization; previously successful calls and estimator
defaults are unchanged.
npregivderiv() progress now identifies the
mathematical object being computed, including E[y|w],
initialization derivatives, conditional residuals, and the derivative
adjoint T*{E[y-phi(z)|w]}. State-zero work is distinguished
from work at completed iteration N; estimator results,
stopping behavior, and smoothing choices are unchanged.
Modernized the public npregiv() and
npregivderiv() interfaces while preserving their
established numerical defaults. Both now support explicit IV formulas
(y ~ z | w, with optional | x where the
estimator supports it), data, subset,
na.action, fit-time newdata, fixed
regtype = "lc"/"ll"/"lp" and
scalar degree controls, structured summaries, and
fitted(), gradients(), and training-row
residuals(). Objects retain compact bandwidth, smoothing,
and stage metadata. Legacy p remains supported by
npregiv() with unchanged default behavior. Unsupported
post-fit prediction, derivative x, and automatic-degree
NOMAD routes are documented and fail explicitly instead of being
silently accepted or approximated.
Beta associated kernels now interpret using outer half-spacing bounds based on the two smallest and two largest distinct training values. This keeps every observation strictly inside the fitted support, removes empirical-extremum jumps and infinite raw-extremum derivatives, and preserves tied-extremum multiplicity. Explicit fixed beta bounds remain literal, while every non-beta range route continues to use exact sample minima and maxima.
Beta regression hat matrices, leverages, and matrix-free applications now use the same canonical common-scaled row and local-polynomial solve owners as fitted values. Orders 2/4/6/8, fixed and nearest-neighbour bandwidths, raw/Bernstein bases, derivatives, and mixed categorical predictors are supported without reconstructing underflowed absolute weights. Direct application retains only a bounded influence-row block rather than an evaluation-by-training matrix; a full matrix is allocated only when the caller explicitly requests one.
Beta range resolution now validates distinct-extrema metadata coordinate by coordinate. This fixes an unreleased 0.70-6 development defect in which two or more continuous beta coordinates failed during support resolution because vector and scalar logical operators were mixed.
Automatic univariate second-order beta range searches now certify fixed- bandwidth density CVLS and distribution CDF solutions against the double-precision uniform-limit objective. A material improvement triggers one deterministic Powell refinement from the resolved support width, and the best material candidate is retained. The user’s ordinary search and setting are unchanged, and cold starts and restarts from bandwidth objects share the same contract; summaries report the additional certification evaluations. Explicit fixed bounds, CVML, higher beta orders, nearest-neighbour modes, multivariate searches, and non-Powell solvers are unchanged.
Corrected recursive fitted-value centering in
npregivderiv() so both empirical terms of the Equation (14)
adjoint use the same fitted conditional-residual vector. The recursive
path had instead centered its second term on the raw residual even
though its first term used the fitted residual. This can change
derivative trajectories, stopping states, and fitted curves. The
npregiv() and npregivderiv() examples now both
use n = 500, for which the documented seed produces stable
estimates.
Corrected Landweber-Fridman state indexing in
npregivderiv(). Iteration N now consistently
denotes N completed derivative updates: column
N of phi.prime.mat and phi.mat,
norm.stop[N], num.iterations, and the returned
derivative/function now identify the same state. The initialization
remains state zero, and evaluated stopping-rule overshoots remain
available in the iteration matrices while num.iterations
identifies the selected state. This can change the selected iteration
and estimates because the stopping criterion is now evaluated as
N times the residual norm at state N, as
described by Florens, Centorrino, and Racine.
Corrected the empirical adjoint in npregivderiv() to
use the ordinary kernel CDF required by Equation (14) of Florens,
Centorrino, and Racine. The integral kernel sum had retained an extra
continuous-bandwidth factor, which could make the Landweber-Fridman
stopping norm increase and bias the recovered conditional mean. The
private adjoint now owns its required normalization, while public
npksum() defaults and regression argument forwarding remain
unchanged. The iteration guard also examines only the computed prefix of
the preallocated stopping vector. This resolves issue #57.
Retired the unused experimental truncated-Gaussian continuous
kernel and its nptgauss() configuration helper. The
supported continuous kernels are Gaussian, Epanechnikov, and uniform;
their public interfaces, native codes, and numerical behavior are
unchanged.
Corrected heterogeneous generalized local-polynomial (GLP)
construction to include every coordinate-capped term through the
declared total degree. For example, degree = c(2, 1) now
includes the x1*x2 term. Raw and
bernstein.basis = TRUE GLP fits now use exact
representations of the same complete polynomial space; the latter uses a
deterministic degree-graded, orthonormal shifted-Legendre
representation. Raw heterogeneous GLP results can therefore differ from
earlier versions when terms are restored; multivariate
bernstein.basis = TRUE GLP and automatic degree-search
results can also differ because the former fixed-degree Bernstein
columns did not span the corrected GLP space once interactions entered.
Univariate and maximum-degree-one GLP retain the same polynomial space,
although their floating-point paths can differ. Dimension guards,
higher-order derivatives, fitted values, standard errors, and the native
evaluator use the same term definition. Local constant, local linear,
univariate, additive, tensor, and non-local-polynomial semantics are
unchanged.
Hardened native NOMAD observer and interrupt handling. Explicit
user interruption is now reported as an R interrupt
condition only after native cleanup; local contained observers also
preserve and re-signal R errors after cleanup. Native callables are
resolved per solve rather than retained across package reloads, and the
declared R 3.5 compatibility floor is preserved.
Restored timely progress updates during native NOMAD bandwidth
and degree searches, including long compiled objective evaluations.
Iteration, current degree, and accepted-best details now follow the
package-wide progress interval without changing optimization results or
evaluation accounting. This requires crs 0.15-46 or
later.
Restored partial mixed-degree local-polynomial gradient
evaluation and plotting across regression, conditional
density/distribution, least-squares quantile regression, conditional
quantiles, and conditional modes. A continuous derivative requested
above that coordinate’s fitted degree is retained as NA and
shown as an empty panel while other supported derivatives and
categorical first-difference effects continue to plot. Requests with no
available component now fail early with the affected predictor orders
and degrees and actionable refitting guidance.
Corrected common-scale uncertainty-band rendering for partially
available gradient plots. Empty derivative panels now retain their list
positions and finite-range calculations no longer emit spurious
min/max warnings; supported estimates and
interval bands are unchanged.
Corrected the heteroskedasticity-robust Ichimura
index-coefficient covariance returned by
vcov(npindex(..., gradients = TRUE)) when the model has
more than one free index coefficient. Link-gradient and residual weights
are now applied observation by observation. Fits with one free
coefficient remain exactly unchanged, as do beta, bandwidth, objective,
fitted-value, residual, and gradient results.
Repaired finite-support bounded continuous-kernel normalization for all supported Gaussian, Epanechnikov, uniform, and truncated-Gaussian kernels. The centered normalization now avoids tail cancellation, uses the platform C99 error function where appropriate, and preserves the uniform-density limit as the bandwidth tends to infinity.
Replaced the bounded distribution operator with the mathematically correct observation-centered truncated-kernel CDF. Analytic centered interval primitives and hoisted invariant work preserve exact support endpoints, numerical accuracy, and the finite-support large-bandwidth uniform limit.
Corrected transform.bounds = TRUE initialization for
regression initial starts and multistarts and for later
conditional-distribution multistarts. External bandwidth starts are now
inverse-mapped before transformed Powell search; the public default
remains FALSE.
Clarified optimizer summaries so objective-cache lookups, NOMAD
point lookups, family-native R-optim refinement, and total
function-evaluation accounting are labelled consistently without
implying that their denominators are interchangeable.
Clarified bandwidth-object replay documentation across estimator families. Stored bandwidth objects retain search and fit metadata but do not silently materialize or expand training data; callers must provide data again where the documented replay route requires it.
Standardized the public nomad.opts contract across
supported bandwidth selectors and hardened native NOMAD callback
cleanup, nearest-neighbor cache release, and native allocation-dimension
guards.
Reworked npindexbw() / npindex()
internals after 0.70-4. Ichimura and Klein-Spady single-index objectives
now reuse the established npreg leave-one-out backend where
applicable, preserving the public estimator contract while materially
improving high-dimensional and local-polynomial objective evaluation.
The single-index formula/materialization routes were tightened so
formula-selected variables, explicit bandwidth objects, and direct
formula calls with explicit smoothing parameters reenter
consistently.
Added user documentation for npindex() optimizer
choice and beta interpretation. The documentation now gives practical
guidance on when derivative-free Nelder-Mead remains a reasonable
low-dimensional default and when BFGS is useful for higher-dimensional
index searches, and it explains the relative interpretation of
normalized single-index beta coefficients.
Hardened single-index fit, evaluation, plotting, and summary behavior. Bounded continuous-kernel options are now carried consistently through objective, fit, evaluation, variance, and bootstrap routes; Klein-Spady confusion-matrix output is guarded against out-of-range fitted values; and large-bandwidth shortcuts are restricted to kernel/order combinations whose constant-weight approximation was validated.
Repaired single-index plot bootstrap memory usage. Wild-bootstrap
self-maps now avoid public-facing O(n^2) kernel-weight
allocations for the ordinary large-sample plot route, while preserving
the public fitted and plotting contracts.
Repaired generalized-nearest-neighbor local-polynomial derivative
ownership across npreghat() and related public routes.
Mixed-degree local-polynomial fits now route available derivative
components through the correct owner, preserve
apply == H %*% y contracts, and report unavailable
derivative components consistently rather than silently applying the
wrong operator.
Repaired local-constant derivative ownership in
npreghat() so degree-zero local-polynomial derivative
requests use the analytic local-constant derivative contract only when
that contract is mathematically available. Scalar, matrix, and
multi-column apply routes were validated separately.
Improved conditional mixed-degree local-polynomial gradients for
npcdens() / npcdist() and public
conditional-gradient accessors. The partial-availability contract now
matches the regression-family policy: available components are returned,
unavailable components are represented as NA, and
incoherent metadata fails clearly.
Repaired formula/data reentry contracts across density,
distribution, conditional density, conditional distribution,
single-index, smooth coefficient, partially linear, quantile,
conditional-mode, copula, and significance-test routes. Explicit
estimator data= now overrides stored bandwidth-object data
where that public call shape is supported, formula newdata
is validated against fitted RHS variables, and direct formula calls with
numeric smoothing parameters no longer misroute formula objects as
native data.
Repaired unconditional density and distribution edge contracts. Ordered kernel-code selection is now consistent between conditional bandwidth selection and fitting where normalization is required, all-NA input is rejected before native calls, training and evaluation omission metadata are retained separately where needed, categorical zero-bandwidth standard-error handling is consistent across categorical configurations, and unsupported bandwidth-selection method codes fail clearly.
Clarified normal-reference bandwidth documentation for density and distribution routes. The rule-of-thumb formulas are documented as fast exploratory Silverman-style heuristics, not production substitutes for cross-validation or likelihood-based selection.
Hardened npcdistbw() normal-reference method
handling so the R method code and native C method code stay aligned,
avoiding accidental fall-through to an unintended bandwidth-selection
branch.
Repaired and hardened public estimator contracts found during
adversarial audits of npscoef, npplreg,
npqreg, nplsqreg, npconmode,
npcopula, npreg, npcdens,
npcdist, npudens, and npudist.
Repairs include npscoef iterated backfit behavior,
partially-linear fit reentry, quantile inversion/clamping contracts,
conditional-mode probability/tie handling, copula sample reentry,
regression tree/large-h predicate alignment, and density/distribution
formula/native argument consistency.
Plot-bootstrap memory hardening now covers single-index,
conditional-mode, and partially-linear plot routes. The default plot
evaluation grids remain linear in the training sample size, and explicit
neval == ntrain style requests remain
user-controlled.
Categorical-gradient and derivative workspace handling were repaired so no-gradient and gradient calls can be mixed safely in one session without stale native derivative workspace state affecting later calls.
Native shadow-object and cache lifecycles were hardened. Conditional-density shadow pointers, native objective-cache state, and regression large-h / large-lambda caches are cleared at the appropriate top-level lifecycle boundary so pointer-keyed helper state cannot leak across independent calls or datasets.
npksum() numeric-bandwidth dispatch now constructs
data-aware bandwidth objects for mixed continuous/categorical data
instead of falling back to a default-typed object. The serial and MPI
packages now share the same public behavior for numeric smoothing
parameters.
The local-polynomial regression CVKS low-support objective path now uses a named bandwidth-method code and aligns the R and C routing contracts, reducing the risk of drift between search metadata and native objective handling.
Expanded focused tests, demos, benchmarks, and release-protocol sentinels across the public exported surface. The release protocol now requires an explicit public-exported-surface inventory, estimator-family sentinels, documentation/demo/benchmark smoke coverage, and installed package proof before release-ready claims.
Hardened proactive C cleanup paths by clearing extended
nearest-neighbor alias state in the shared estimator cleanup helper,
routing selected bandwidth-constructor allocation and unsupported-method
failures through existing cleanup labels, and guarding large
np_kernelsum() allocation-size products before calling the
legacy alloc_vecd(int) allocator.
Added nomad = "auto" for local-polynomial degree
searches. The automatic policy uses exhaustive Powell-style degree
search for small one-dimensional degree lattices where evidence showed
it is more reliable than heuristic NOMAD restarts, while preserving
NOMAD for larger or explicitly requested search surfaces.
Bandwidth and fit summaries now report cumulative search diagnostics more clearly. NOMAD cache output distinguishes repeated point lookups avoided by NOMAD from true objective computations; Powell summaries expose repeated objective lookups avoided by the package-side cache; hybrid NOMAD+Powell and exhaustive Powell timing labels are reported consistently.
Base-graphics plot scaling and legends have been hardened for
multi-panel displays. Plots now honor active
mfrow/cex behavior more consistently, use
role-appropriate legend sizes, and draw factor legends with point glyphs
matching the plotted estimates.
Fixed-bandwidth bias-corrected bootstrap plot intervals have been reworked across the supported plot families. Bias-corrected centers and intervals now share a common centering contract for regression, unconditional density and distribution, conditional density and distribution, single-index, partially linear, and smooth-coefficient plots where supported.
Pair/block/geometric bootstrap intervals in regression-style
routes now use smooth-bootstrap bias correction when
center = "bias-corrected" is requested; wild-bootstrap
regression intervals retain the standard wild-bootstrap correction.
Density and distribution routes use perturbation-based smooth-bootstrap
bias correction. Gaussian, uniform, and second-order Epanechnikov
perturbation kernels are supported; higher-order signed perturbation
kernels fail closed.
Bias-corrected plot support now covers mixed-data unconditional
density and distribution, mixed-data conditional density and
distribution, and conditional gradient displays.
Non-fixed/adaptive/generalized bandwidth bias correction and empirically
unsupported npqreg bias correction remain fail-closed with
explicit messages.
Bias-corrected plot payloads returned by
output = "data" and output = "both" now
consistently expose fitted values, bias-corrected values, gradients,
gradient bias corrections, and interval payloads with the same centering
contract used for rendering.
Derivative-order validation has been tightened across plot/gradient routes so unsupported derivative requests fail early or are represented consistently rather than silently plotting a lower-order derivative.
Single-index formula dispatch with explicit bandwidths has been repaired, and single-index bias-corrected plot centers, output payloads, and legends have been tightened.
The native loadNamespace("crs") call construction
used by CRS-backed native search routes is now protected, resolving the
RCHK protection finding without changing the native NOMAD search
contract.
Added nplsqreg()/nplsqregbw() as a
location-scale quantile-regression front end with formula/data and
bandwidth-object workflows, scalar/vector tau, prediction,
residual extraction, summaries, and plot routes built on the shared
quantile plotting engine.
Supported MADS/NOMAD-backed bandwidth-search routes now use the
final native crs NOMAD C API rather than the retired legacy
snomadr() fallback. This covers the promoted regression,
density, distribution, conditional density, conditional distribution,
smooth-coefficient, single-index, partially linear, and location-scale
quantile search surfaces where those routes support native NOMAD/MADS.
The runtime dependency on crs is now declared in
Imports, while LinkingTo remains for the
native header.
Native NOMAD routes now preserve progress best-record reporting, expose cache/evaluation diagnostics, honor explicit start and option controls, and reject unsupported or indeterminate cache-off settings before solver entry. Inadmissible GLP degree candidates are guarded before expensive evaluator work.
npindexbw(..., method = "ichimura", regtype = c("ll", "lp"))
now reuses the established local-polynomial regression objective
evaluator for fixed-degree and NOMAD degree-search routes. Focused
sentinel runs preserved selected objective payloads while materially
reducing runtime for local-linear and local-polynomial Ichimura
single-index bandwidth searches.
options(np.tree = "auto") is now the default tree
mode. In auto mode, continuous kd-tree routes are enabled only for
bounded-support continuous kernels ("epanechnikov" and
"uniform"); np.tree = TRUE remains the
explicit force-on override and np.tree = FALSE remains the
force-off diagnostic path.
Powell bandwidth searches now expose package-side
repeated-candidate objective caching through
options(np.objective.cache = TRUE/FALSE). The cache remains
enabled by default and is scoped to one bandwidth solve, so it can reuse
exact candidates across Powell restarts without carrying state across
datasets or later calls. Continuous-only generalized/adaptive
nearest-neighbor routes also retain their integer nearest-neighbor
objective cache under the same switch; NOMAD solver caching and
extended-NN distance reuse remain separate mechanisms.
Continuous large-bandwidth shortcut evaluations can now be
disabled with options(np.largeh = FALSE), and discrete
near-upper-bandwidth shortcut evaluations can now be disabled with
options(np.largelambda = FALSE). Both remain enabled by
default. These switches are intended for diagnostic timing and
reproducibility studies that need to separate tree effects from
large-bandwidth and large-lambda fast paths without changing the
canonical dense/tree objective machinery.
Local-polynomial regression cross-validation now uses a leaner
hot symmetric weighted-sum loop. Fixed-bandwidth
npregbw(..., regtype = "lp", bwmethod = "cv.ls") objective
probes show substantially faster local-polynomial CV evaluation while
preserving objective values to numerical precision; adjacent density
bandwidth probes preserve their objective values as well.
Shared weighted outer-product accumulation in
npksum() now uses a guarded BLAS dgemm route
when the operation is dense, non-permuted, and memory-bounded. Focused
fixed-bandwidth probes preserve objective values to numerical precision
while substantially accelerating high-basis local-polynomial regression
and smooth-coefficient objective rows; small and scalar routes remain on
the established loop path.
Unconditional density least-squares cross-validation now uses a
leaner fixed-bandwidth Gaussian convolution loop. Fixed-bandwidth
npudensbw(..., bwmethod = "cv.ls") objective probes
preserve objective values exactly in the focused validation rows while
materially reducing the convolution portion of the objective
calculation. Conditional-density least-squares objective probes inherit
the same fixed-bandwidth Gaussian convolution improvement.
Non-Gaussian scalar-bandwidth convolution helpers now hoist the response bandwidth power outside the inner loop, improving fixed-bandwidth least-squares density cross-validation with compact-support kernels while preserving objective values exactly in focused probes.
Continuous-kernel vector helpers now reuse the loop-invariant signed inverse bandwidth scale inside their inner loops. Focused density, conditional density, and regression objective probes preserved objective values exactly while reducing repeated scaling work in shared C hot paths.
Conditional density and conditional distribution least-squares cross-validation now use a size-aware row-block policy for local-polynomial objective evaluation. The accepted route keeps the bounded-quadrature cap unchanged, bounds transient memory by sample size, and preserves objective values to numerical precision while materially reducing evaluator overhead for fixed-bandwidth CVLS probes.
Local-polynomial conditional density maximum-likelihood
cross-validation now uses the same bounded-memory block machinery for
fixed and generalized nearest-neighbor bandwidths. Focused
npcdensbw(..., bwmethod = "cv.ml", regtype = "lp") probes
preserve objective values and selected bandwidths to numerical precision
while reducing objective and full-search runtime.
Large-sample categorical-only regression now has a
profile-compressed execution route controlled by
options(np.categorical.compress = TRUE), which is enabled
by default. This categorical route is independent of
options(np.tree). For local constant categorical
regression, repeated predictor profiles are compressed before fitting,
prediction/evaluation, standard errors, gradients where meaningful,
bandwidth search, hat-helper use, and plot bootstrap helpers. This
preserves the established dense-route numerical contract while greatly
reducing work for large samples with many repeated factor/ordered
predictor combinations.
Categorical-only unconditional density routes now use the same
profile-compression idea when
options(np.categorical.compress = TRUE) is enabled. The
fixed-bandwidth fit/evaluation route preserves dense-route
fitted/evaluation values while avoiding repeated computation over
identical categorical profiles, and the bandwidth-search route now uses
the same compressed support representation for all-categorical data. As
with other flat categorical search surfaces, selected smoothing
parameters may drift by optimizer-path amounts while preserving the
objective scale.
Categorical-only conditional density and conditional distribution
bandwidth searches now honor
options(np.categorical.compress = TRUE). The promoted route
preserves the objective value to numerical precision while allowing
harmless optimizer-path drift in selected smoothing parameters,
especially near upper-bound or large-bandwidth regions where the
objective is flat.
Ordered-only unconditional distribution bandwidth search and
fit/evaluation routes also use profile compression when
options(np.categorical.compress = TRUE) is enabled. The
bandwidth-search route preserves the objective value to numerical
precision while allowing harmless optimizer-path drift in selected
smoothing parameters; fitted distribution values and standard errors are
preserved while avoiding repeated computation over identical ordered
profiles.
Fixed-bandwidth local-constant npscoef() fits now
use categorical-profile compression when all Z variables
are categorical and options(np.categorical.compress = TRUE)
is enabled. The route preserves fitted means, coefficient surfaces,
asymptotic mean standard errors, and coefficient/gradient standard
errors for training and evaluation fits while avoiding repeated work
over duplicate Z profiles. The corresponding
npscoefhat(output = "apply") path and count-based
plot-bootstrap helper use the same profile compression without changing
the explicit full-matrix output = "matrix"
contract.
Internal categorical-profile and large-bandwidth caches are now
cleared at the relevant top-level density, distribution,
conditional-density, conditional-distribution, and regression cleanup
points. These caches are keyed by call-local row pointers, so clearing
them per .Call prevents stale same-process state from
leaking across unrelated data sets.
Formula variables whose names contain dots, such as
y.irr ~ x, are no longer mistaken for the formula wildcard
. in conditional density and conditional distribution
bandwidth routes. The conditional-density bandwidth formula route also
now expands the actual wildcard form y ~ . using the
supplied data frame, matching the conditional-distribution
route.
npqreg() is now a fully fledged quantile-regression
front end. It supports the formula/data workflow, internally computes
npcdistbw() bandwidths when a bandwidth object is not
supplied, accepts scalar or vector tau, reuses selected
bandwidths for additional quantiles in plot(), and exposes
the usual S3 surface: fitted(), predict(),
predict(..., se.fit=TRUE), se(),
gradients(), summary(), print(),
quantile(), and plot().
npqreg() prediction now honors the standard
newdata workflow while preserving native exdat
precedence for compatibility with existing np call
surfaces. Formula-based prediction validates that new data contain the
required right-hand-side variables.
npqreg() plotting has been expanded for vector
quantiles, level/gradient displays, ordered predictors, user-specified
legends, and object-fed plotting of additional tau values
without recomputing cross-validation.
npconmode() is now a first-class conditional-mode
estimator. It supports formula/data and bandwidth-object workflows,
forwards bandwidth-selection options to npcdensbw(),
propagates local polynomial and NOMAD metadata, and exposes
fitted(), predict(), summary(),
print(), gradients(), and plot()
methods.
npconmode() now supports optional class-probability
matrices and level-specific probability gradients. For
non-local-constant fits, probabilities are normalized to be non-negative
and to sum to one across the discrete response support before modal
classification.
npconmode() now fails early for non-categorical
responses and validates formula-based newdata against the
original right-hand-side variables.
npconmode() plotting now supports object-fed
class-probability slices and two-dimensional probability surfaces,
optional rgl rendering, and probability-level asymptotic
intervals where defined. Surface bootstrap intervals for class
probabilities remain intentionally deferred.
npcopula() is now a first-class copula estimator. It
supports formula/data and bandwidth-object workflows, automatic
two-dimensional probability grids, explicit u evaluation
grids, and ordinary extractable object components including
$bws.
npcopula() now provides fitted(),
predict(), predict(..., se.fit=TRUE),
se(), summary(), print(),
as.data.frame(), and richer plot() methods.
Plotting supports base persp, image, and
optional rgl rendering, with asymptotic and bootstrap
intervals for copula surfaces where defined.
npcopula() explicit-grid evaluation now uses the
direct estimator route, preserving numerical results while avoiding the
severe runtime growth of the previous expanded-grid path when users
request larger probability grids.
The automatic local-polynomial NOMAD controls have been split
into explicit restart toggles: powell.remin for Powell
restarts and nomad.remin for the second NOMAD hot start.
This preserves the Powell Numerical Recipes restart default while
allowing NOMAD hot starts to be controlled separately.
Deprecated legacy remin remains accepted by
npregbw() and npreg() with a warning and is
mapped to the modern powell.remin/nomad.remin
controls where appropriate, preserving downstream compatibility while
documenting the new spelling.
Hat-operator helpers now support an additional constraint-oriented output route for objects needed by shape-constrained quadratic programming workflows, avoiding reimplementation of local-polynomial hat-matrix construction in user examples.
Local-polynomial derivative support has been broadened across the
conditional estimator family. npreg(),
npcdens(), and npcdist() now honor
gradient.order more consistently for fitted, evaluated,
predicted, and plotted objects when the selected polynomial degree is
high enough, including vector derivative orders over continuous
predictors and tensor/additive/Bernstein local-polynomial
bases.
Core and semiparametric S3 prediction paths have been hardened
around newdata, native evaluation-argument precedence,
formula RHS validation, and se.fit handling.
Front-end/bandwidth argument hygiene has been tightened so
estimator-only controls such as proper are not forwarded
into bandwidth selectors that do not accept them.
Documentation has been refreshed for the promoted
npqreg(), npconmode(), and
npcopula() workflows, including the local-polynomial NOMAD
route, probability/gradient outputs, plot controls, and examples that
use the streamlined interfaces.
The pre-release validation suite was expanded with focused hostile argument tests, S3 contract tests, installed/tarball proof scripts, and cross-package parity checks for the newly promoted estimator families.
The default multistart cap for bandwidth selection now follows
min(2, p) across the core estimator families, replacing the
older min(5, p) cap. This includes automatic LP
degree-search calls when search.engine="nomad" or
"nomad+powell" and nmulti is not supplied
explicitly.
The univariate boundary density helper
npuniden.boundary() now defaults to
nmulti=1.
The empirical studies supporting this change are documented under
benchmarks/validation/.
LP-capable front ends now accept nomad=TRUE as a
documented convenience preset for the recommended automatic NOMAD
local-polynomial route. Missing settings expand to the same long-form
LP/NOMAD defaults documented in the bandwidth help pages, and regression
formula calls such as npreg(y ~ x, nomad = TRUE) now carry
that shortcut through the internally computed bandwidth path.