|
67 | 67 | # fix_gamma : Callable |
68 | 68 | # A function used for discret methods to force the index to a specific value. |
69 | 69 | _QuantileInterpolation = dict( |
70 | | - # --- HYNDMAN and FAN methods |
| 70 | + # --- HYNDMAN AND FAN METHODS |
71 | 71 | # Discrete methods |
72 | 72 | inverted_cdf=dict( |
73 | 73 | get_virtual_index=lambda n, quantiles: _inverted_cdf(n, quantiles), |
|
102 | 102 | _compute_virtual_index(n, quantiles, 0, 0), |
103 | 103 | fix_gamma=lambda gamma, _: gamma, |
104 | 104 | ), |
105 | | - # Default value |
| 105 | + # Default method. |
| 106 | + # To avoid some rounding issues, `(n-1) * quantiles` is preferred to |
| 107 | + # `_compute_virtual_index(n, quantiles, 1, 1)`. |
| 108 | + # They are mathematically equivalent. |
106 | 109 | linear=dict( |
107 | | - get_virtual_index=lambda n, quantiles: |
108 | | - _compute_virtual_index(n, quantiles, 1, 1), |
| 110 | + get_virtual_index=lambda n, quantiles: (n - 1) * quantiles, |
109 | 111 | fix_gamma=lambda gamma, _: gamma, |
110 | 112 | ), |
111 | 113 | median_unbiased=dict( |
|
118 | 120 | _compute_virtual_index(n, quantiles, 3 / 8.0, 3 / 8.0), |
119 | 121 | fix_gamma=lambda gamma, _: gamma, |
120 | 122 | ), |
121 | | - # --- OTHER METHODS fixme add deprecated ? |
| 123 | + # --- OTHER METHODS |
122 | 124 | lower=dict( |
123 | 125 | get_virtual_index=lambda n, quantiles: np.floor( |
124 | 126 | (n - 1) * quantiles).astype(np.intp), |
|
0 commit comments