This release improves how the frequency window for smoothness estimation is chosen. By default the confidence bands are now narrower, and regression bands are always finite. The previous behaviour is still available (see the note below).
A new default window rule (methods_get_xi = "snr"). The upper cutoff
frequency is now chosen from the signal-to-noise ratio of the empirical Fourier
transform. The original rule of Schennach (2020) relies on a worst-case bound that
selects no frequency at realistic sample sizes, so the package used to fall back to
a wide window that gave a flat smoothness envelope and very wide bands. The new
rule always returns a usable window and produces confidence intervals roughly 0.4
times as wide.
More accurate regression bias bounds. Two corrections are now on by default.
noise_floor = "auto" uses the noise floor appropriate for a general response, and
envelope_use_Y = TRUE fits the smoothness envelope to the joint spectrum of Y
and X rather than the marginal spectrum of X, which had under-estimated the bias.
Finite bands for difficult cases (integer_r = TRUE). When the data do not show
a clear power-law decay, the fitted slope can fall below the minimum the method
assumes. It is now raised to that minimum and the amplitude refit, which keeps the
bias bound finite. This avoids the very wide bands that could otherwise appear for
very smooth densities or polynomial conditional means. A warning is shown when this
adjustment is made.
Refreshed plots. Density, regression, and Fourier-transform plots now use a
cleaner theme with a colorblind-friendly palette and a legend. The Fourier-transform
plot shows a wider frequency range with the selected window shaded, so you can see
where the signal gives way to noise; the new xi_range and expand arguments
control the displayed range. Custom colors through fill_ci and fill_bias still work.
methods_get_xi = "Schennach_loose",
noise_floor = "compact", and envelope_use_Y = FALSE.First stable release with a modern S3 interface, performance improvements, and expanded documentation.
bbnp_density, bbnp_regression).This release focuses on modernizing the package interface and improving performance.
Modern S3 interface: biasBound_density() and biasBound_condExpectation() now return S3 objects
(bbnp_density, bbnp_regression) with standard methods: print(), summary(), plot(), coef(),
confint(), and fitted() (regression).
More faithful implementation of Schennach (2020):
Performance improvements:
Docs & usability: