|
6 | 6 | __all__ = ['create_jackknife_indexes', 'create_repeated_indexes', 'compute_meandiff_jackknife', 'bootstrap_indices', |
7 | 7 | 'compute_bootstrapped_diff', 'delta2_bootstrap_loop', 'compute_delta2_bootstrapped_diff', |
8 | 8 | 'compute_meandiff_bias_correction', 'compute_interval_limits', 'calculate_group_var', |
9 | | - 'calculate_weighted_delta'] |
| 9 | + 'calculate_bootstraps_var', 'calculate_weighted_delta'] |
10 | 10 |
|
11 | 11 | # %% ../../nbs/API/confint_2group_diff.ipynb 4 |
12 | 12 | import numpy as np |
@@ -319,15 +319,23 @@ def calculate_group_var(control_var, control_N, test_var, test_N): |
319 | 319 |
|
320 | 320 | return pooled_var |
321 | 321 |
|
| 322 | +def calculate_bootstraps_var(bootstraps): |
322 | 323 |
|
323 | | -def calculate_weighted_delta(group_var, differences): |
| 324 | + bootstraps_var_list = [np.var(x, ddof=1) for x in bootstraps] |
| 325 | + bootstraps_var_array = np.array(bootstraps_var_list) |
| 326 | + |
| 327 | + return bootstraps_var_array |
| 328 | + |
| 329 | + |
| 330 | + |
| 331 | +def calculate_weighted_delta(bootstrap_dist_var, differences): |
324 | 332 | """ |
325 | 333 | Compute the weighted deltas. |
326 | 334 | """ |
327 | 335 |
|
328 | | - weight = 1 / group_var |
| 336 | + weight = np.true_divide(1, bootstrap_dist_var) |
329 | 337 | denom = np.sum(weight) |
330 | 338 | num = 0.0 |
331 | 339 | for i in range(len(weight)): |
332 | 340 | num += weight[i] * differences[i] |
333 | | - return num / denom |
| 341 | + return np.true_divide(num, denom) |
0 commit comments