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

Floating point error in variance-combining #101

Open
olorin opened this issue Apr 2, 2016 · 5 comments
Open

Floating point error in variance-combining #101

olorin opened this issue Apr 2, 2016 · 5 comments

Comments

@olorin
Copy link
Contributor

olorin commented Apr 2, 2016

Current implementation is not associative, and I'm not sure if it can be made associative. However, error might be minimised by delaying combination until the end (memory permitting, need to work out if feasible) and then sorting the accumulators.

@olorin
Copy link
Contributor Author

olorin commented Apr 4, 2016

@adefazio suggested doing the combination in log space, which I think is a good idea.

@olorin
Copy link
Contributor Author

olorin commented Apr 6, 2016

Sidenote: this would be a lot easier without the need to combine partial results - if all else fails, consider doing numerics with a channel and some worker threads.

@olorin
Copy link
Contributor Author

olorin commented Apr 7, 2016

@olorin
Copy link
Contributor Author

olorin commented Apr 7, 2016

@olorin
Copy link
Contributor Author

olorin commented May 18, 2016

I'm now almost happy that this is as good as it's going to get. I've consulted a statistician who specialises in numerical analysis, assorted Ambiata data scientists, sundry papers and textbooks and Herbie and nothing's been better than my implementation as measured by relative error from the arbitrary-precision computation. Going to leave this open until I've derived the actual error bounds for the current version and its competitors, but I'm no longer assuming a better version exists.

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

No branches or pull requests

1 participant