Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fast integration #42

Merged
merged 18 commits into from
Nov 14, 2019
Merged

Fast integration #42

merged 18 commits into from
Nov 14, 2019

Conversation

tnagler
Copy link
Owner

@tnagler tnagler commented Nov 13, 2019

  • Faster integration by sorting input.
  • For k internal grid points and n evaluation points, the complexity went from O(nk) to O(n log n + k).
  • benchmark

@tnagler tnagler marked this pull request as ready for review November 13, 2019 13:29
@tnagler tnagler merged commit 010f24f into dev Nov 14, 2019
@tnagler tnagler deleted the fast-integration branch November 14, 2019 12:13
tnagler added a commit that referenced this pull request Nov 15, 2019
* bump version

* add weights argument (#29)

* remove unused variable (#26)

* fix edf computation for deg = 2

* bump version + update docs

* remove package cache on appveyor

* weighted bandwidth selection

* weighted fitting

* adjust R interface

* add unit tests

* a few more sanity checks

* update docs

* update docs

* fix devtools install link

* stabilize weighted quantiles

* ensure scale != 0 in case of too many ties

* remove stripping of debug symbols

* prepare release

* update docs

* allow already jittered input to be treated as continuous

* some improvements to interpolation (#32)

* use sample quantiles as grid points

* fix unweighted quantile computation

* improve safety of integral computations.

* make sure that weighted version is consistent

* improve grid extensions

* fix boundary handling for bounded domain

* fix interpolation bug when grid distance is small

* install gsl

* extend grid a bit further

* fix bug for  weighted quantile with zero weight

* decrease lower bound for interpolation, related to vinecopulib/rvinecopulib#157

* More numerical stability (#35)

* hybrid quantile/equidist grid

* normalize weights

* fix weighted influence and use it as safeguard

* avoid double computation of influence fot deg = 0

* interpolant positivity and smooth extrapolation (#37)

* switch to linear interpolation if result is negative

* use positive constraints for spline coefficients

* Gaussian tail for extrapolation

* optimal bandwidths for all degrees (#38)

* missing inline

* fix levels in pkde1d

* stabilize edf computation

* tabs = 2 spaces (#39)

* simplified, deterministic jittering (#40)

* tabs = 2 spaces

* simplified, deterministic jittering

* prepare standalone c++ version with interface (#41)

* rename lpdens -> kde1d

* use namespaces

* bw selection in Kde1d class

* jittering + nan handling in cpp

* statistical functions

* constructor from interpolation grid

* all discrete functionality in cpp

* kde1d dir structure

* seperate wrappers from interface

* adapt R code

* go to office

* fix nans in grid

* fix boundary transform order

* refactor unit tests

* Fast integration (#42)

* rename lpdens -> kde1d

* use namespaces

* bw selection in Kde1d class

* jittering + nan handling in cpp

* statistical functions

* constructor from interpolation grid

* all discrete functionality in cpp

* kde1d dir structure

* seperate wrappers from interface

* adapt R code

* go to office

* fix nans in grid

* fix boundary transform order

* refactor unit tests

* unnormalized algorithm

* faster integration by sorting input

* Fit models with the fast fourier transform (#43)

* isolate KdeFFT class

* almost done with fft

* proper weights in edf calculation

* fix grid related issues

* eliminate dead code

* safer integration

* reorder arguments for the feels

* prepare release (#44)

* Release 0.4.0 (#31)

* bump version

* add weights argument (#29)

* remove unused variable (#26)

* fix edf computation for deg = 2

* bump version + update docs

* remove package cache on appveyor

* weighted bandwidth selection

* weighted fitting

* adjust R interface

* add unit tests

* a few more sanity checks

* update docs

* update docs

* fix devtools install link

* stabilize weighted quantiles

* ensure scale != 0 in case of too many ties

* remove stripping of debug symbols

* prepare release

* update docs

* bump version

* update NEWS

* update docs

* update NEWS and DESCRIPTION

* update API docs

* backwards compatibility with bad code in rvineocpulib *sigh*

* initialization order warning

* typo in API doc

* CRAN comments

* API docs one more time
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant