Skip to content

Commit

Permalink
feat: _calculate_sigma() explicitly handles series with 1 data point …
Browse files Browse the repository at this point in the history
…(n=0) (#699)
  • Loading branch information
cparmet authored Nov 14, 2023
1 parent 69d1648 commit 18f2acd
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
9 changes: 6 additions & 3 deletions nbs/src/utils.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -391,9 +391,12 @@
" return pred_int\n",
"\n",
"def _calculate_sigma(residuals, n): \n",
" sigma = np.nansum(residuals ** 2) \n",
" sigma = sigma / n\n",
" sigma = np.sqrt(sigma)\n",
" if n>0:\n",
" sigma = np.nansum(residuals ** 2) \n",
" sigma = sigma / n\n",
" sigma = np.sqrt(sigma)\n",
" else:\n",
" sigma = 0\n",
" return sigma"
]
},
Expand Down
11 changes: 7 additions & 4 deletions statsforecast/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -313,12 +313,15 @@ def _calculate_intervals(out, level, h, sigmah):


def _calculate_sigma(residuals, n):
sigma = np.nansum(residuals**2)
sigma = sigma / n
sigma = np.sqrt(sigma)
if n > 0:
sigma = np.nansum(residuals**2)
sigma = sigma / n
sigma = np.sqrt(sigma)
else:
sigma = 0
return sigma

# %% ../nbs/src/utils.ipynb 19
# %% ../nbs/src/utils.ipynb 20
class ConformalIntervals:
"""Class for storing conformal intervals metadata information."""

Expand Down

0 comments on commit 18f2acd

Please sign in to comment.