issues: 1396969695
This data as json
id | node_id | number | title | user | state | locked | assignee | milestone | comments | created_at | updated_at | closed_at | author_association | active_lock_reason | draft | pull_request | body | reactions | performed_via_github_app | state_reason | repo | type |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1396969695 | I_kwDOAMm_X85TRBDf | 7128 | `rolling().sum()` is numerically unstable | 19997801 | closed | 0 | 4 | 2022-10-04T23:39:31Z | 2022-11-30T01:43:26Z | 2022-11-30T01:43:26Z | NONE | What happened?On an input array like
that has all positive values, and then zeros, computing the rolling sum (or mean) leads to negative values
Both arrays have dtype = float64. The issue aggravates as the rolling window increases. What did you expect to happen?the rolling calculation could be more numerically precise by keeping track for instance of the Kahan compensation term. https://en.wikipedia.org/wiki/Kahan_summation_algorithm MVCE confirmation
Environmentthis is reproducible across xarray versions, but mine is 2022.09.0. |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/7128/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | 13221727 | issue |