Comments (1)
I'll give some general comments which I hope can be helpful. Honestly you are kind of on your own here, since (1) I don't have time to work on this and (2) your requirements are a bit exotic, so you'll have to think it through.
If the restriction is removed, the user could unintentionally get bad results. In theory I think it could be removed, but it would make the library less "safe". I think the feature has saved many more users than it has annoyed, so I am in favor of keeping it.
As per your specific problem, I see two solutions:
- If the bandwidth is small compared to the data (e.g. data on [0, 1] and bw = 0.01), then you don't have to mirror all of the data. If you mirror e.g. 3*bw, then you might get away with much less computation. This might be the simplest solution.
- If you want mirroring across each low/high threshold in each dimension, then you could fork the library and adapt it to your specific needs. If you (1) set up a grid that is barely outside of the data and (2) use a convolution that wraps around the boundaries, you should be able to accomplish what you want in a computationally efficient way. After all convolutions wrap around by default, which is exactly what you want. You will have to look at grid validation/creation, and make sure that the convolution wraps around. Try this: create a grid, perform linear binning, adapt this code to convolve a kernel with the binned data.
Best of luck to you! I'll close this issue, since I will not work on it. Let me know if you have questions. If someone else wants to implement a MirroredFFTKDE
let me know, and I'll re-open the issue.
from kdepy.
Related Issues (20)
- python3.11 compatibility
- Citation for your implementation HOT 2
- Add a JIT compiler? (feature request) HOT 1
- Including KDEpy in BSD licensed project HOT 4
- Some problems HOT 1
- Is it possible to fit and save the state of the FFTKDE? HOT 4
- Can `bw_selection.py` return a value when root finding did not converge? HOT 1
- Installing CytoPy HOT 1
- how to get pseudo-uniform samples HOT 1
- Unable to solve for support numerically. HOT 2
- cutils compiles to package parent directory HOT 2
- Remove matplotlib dependency HOT 1
- Change build action to not automatically publish to PyPI? HOT 12
- Docs failing HOT 1
- Using bandwidth matrices for bivariate FFTKDE HOT 1
- SPherical KDE HOT 1
- kde.evaluate for density plot HOT 1
- Calculate corresponding quantities HOT 1
- Add a new rule of thumb HOT 2
- FutureWarning HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kdepy.