|
1 | 1 | from scipy.stats import norm |
2 | | -from scipy.optimize import root, fsolve |
| 2 | +from scipy.optimize import fsolve |
3 | 3 | from scipy import stats |
4 | 4 |
|
5 | 5 | import numpy as np |
@@ -199,13 +199,13 @@ def calc_confidence_level(data: pd.DataFrame) -> pd.DataFrame: |
199 | 199 | def _calc(v: pd.Series) -> pd.Series: |
200 | 200 | return 100 * ( |
201 | 201 | 1 - stats.t.sf( |
202 | | - (v.d / v['std'] - v['mean'] / v['std']) - stats.t.isf(0.05 / 2, |
203 | | - v.number - 1) / |
| 202 | + (v.d / v['std'] - v['mean'] / v['std']) - |
| 203 | + stats.t.isf(0.05 / 2, v.number - 1) / |
204 | 204 | np.sqrt(v.number), |
205 | 205 | v.number - 1 |
206 | 206 | ) - stats.t.sf( |
207 | | - (v.d / v['std'] + v['mean'] / v['std']) - stats.t.isf(0.05 / 2, |
208 | | - v.number - 1) / |
| 207 | + (v.d / v['std'] + v['mean'] / v['std']) - |
| 208 | + stats.t.isf(0.05 / 2, v.number - 1) / |
209 | 209 | np.sqrt(v.number), v.number - 1 |
210 | 210 | ) |
211 | 211 | ) |
@@ -271,13 +271,14 @@ def solver_min_tolerance(data: pd.DataFrame) -> pd.DataFrame: |
271 | 271 | _factor = stats.t.isf(0.05 / 2, _number - 1) / np.sqrt(_number) |
272 | 272 | _dof = _number - 1 |
273 | 273 |
|
274 | | - func = lambda _min_tolerance: _min_confidence - 100 * ( |
275 | | - 1 - |
276 | | - stats.t.sf( |
277 | | - (_min_tolerance / _std - _mean / _std) - _factor, _dof) - |
278 | | - stats.t.sf( |
279 | | - (_min_tolerance / _std + _mean / _std) - _factor, _dof) |
280 | | - ) |
| 274 | + def func(_min_tolerance): |
| 275 | + return _min_confidence - 100 * ( |
| 276 | + 1 - |
| 277 | + stats.t.sf( |
| 278 | + (_min_tolerance / _std - _mean / _std) - _factor, _dof) - |
| 279 | + stats.t.sf( |
| 280 | + (_min_tolerance / _std + _mean / _std) - _factor, _dof) |
| 281 | + ) |
281 | 282 |
|
282 | 283 | try: |
283 | 284 | data.loc[i, 'min_tolerance'] = fsolve(func, [1])[0] |
|
0 commit comments