-
Notifications
You must be signed in to change notification settings - Fork 17
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
leading eigenvectors are very dependent on seed when there are many small eigenvals #41
Comments
Sorry, can you give a code example and I will investigate? Thanks. |
code is from here: https://bwlewis.github.io/irlba/comparison.html |
Sorry I should be more specific, I don't follow which example you're referring to. There are several examples there and none of them have exactly 200 singular values (some many more, some far less). Can you point me to a specific example? Sorry to be so confused.Thanks... |
Sorry, it's from example 1. Use the above set for d and the run the rest twice with 2 different seeds. The 1st eigenvalues from the 2 runs will have low correlation. I know this is probably an edge case, but it might point out some underflow or something in the algo. |
Hmmmm. I wrote this test:
and on my laptop I get for 100 seed values from 1...100:
Note that singular vectors are unique only up to sign, so perhaps the difference you're seeing is a sign difference? The comparison above takes the sign difference into account. I do know of other pathologies with irlba, but I'm not sure that this example fits into those cases, unless maybe I missed something... |
Hi,
Using your code from your RSPectra comparison with eigenvalues like these:
for example gives very different leading eigenvectors depending on the random seed. svd and RSpectra seem mostly stable using this.
best,
michael
The text was updated successfully, but these errors were encountered: