-
Notifications
You must be signed in to change notification settings - Fork 104
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
Robustness of move_std
#99
Comments
Sounds like a good idea to me. But I'd like to hear what others think. Anyone? bn.nanstd uses a two-pass algorithm. If the bottleneck is memory access, which I believe it is, then perhaps the one-pass algorithm you are proposing is faster. If so, assuming comparable stability, then maybe the place to start is with bn.nanstd? |
If you are not frontally opposed to it I'll put a PR together, and we can discuss its merits after it is up and running. |
That's great. Is this for |
I think it is only clearly advantageous in |
Indeed, this seems like a nice improvement 👍. |
What should go into the PR? Just the |
The algorithm used by
move_std
is prone to numerical errors. A while back I rewrote the implementation of the equivalent function in Pandas to use what some call Welford's method, a one pass stable algorithm, see here for the relevant PR. I took some timings on the Pandas code, and it resulted in a 25% slowdown.Would you like to see something like that implemented for bottleneck?
The text was updated successfully, but these errors were encountered: