BUG: Fix polluted window in rolling var #63048
Merged
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
doc/source/whatsnew/vX.X.X.rstfile if fixing a bug or adding a new feature.I took the tests from #62514.
The solution here is similar to the one in #62863, where I recompute the window if it detects numerical instability due to catastrophic cancellation.
Another point, is that I removed the consecutive value counts, because, for me, it's unnecessary, since I will recompute the window anyway if it detects severe loss of significant digits. Variance dropping to 0, or very close to, is a severe loss in significant digits which will trigger the recomputation.
The performance increase seen here must be because it is no longer counting consecutive values.
Benchmarks
asv continuous -f 1.1 -E virtualenv:3.13 upstream/main HEAD -b rolling.MethodsASV Compare