|
1 | | -from jmetal.lab.experiment import generate_boxplot, generate_latex_tables, compute_mean_indicator, compute_wilcoxon |
| 1 | +from jmetal.lab.experiment import ( |
| 2 | + compute_mean_indicator, |
| 3 | + compute_wilcoxon, |
| 4 | + generate_boxplot, |
| 5 | + generate_latex_tables, |
| 6 | +) |
2 | 7 | from jmetal.lab.statistical_test.bayesian import * |
3 | 8 | from jmetal.lab.statistical_test.functions import * |
4 | 9 | from jmetal.lab.visualization import CDplot, plot_posterior |
5 | 10 |
|
6 | | -if __name__ == '__main__': |
| 11 | +if __name__ == "__main__": |
7 | 12 | # Generate Median & IQR tables |
8 | | - generate_latex_tables(filename='QualityIndicatorSummary.csv') |
| 13 | + generate_latex_tables(filename="QualityIndicatorSummary.csv") |
9 | 14 |
|
10 | 15 | # Generate boxplots |
11 | | - generate_boxplot(filename='QualityIndicatorSummary.csv') |
| 16 | + generate_boxplot(filename="QualityIndicatorSummary.csv") |
12 | 17 |
|
13 | 18 | # Wilcoxon |
14 | | - compute_wilcoxon(filename='QualityIndicatorSummary.csv') |
| 19 | + compute_wilcoxon(filename="QualityIndicatorSummary.csv") |
15 | 20 |
|
16 | 21 | # Statistical lab |
17 | 22 |
|
18 | | - avg = compute_mean_indicator(filename='QualityIndicatorSummary.csv', indicator_name='HV') |
| 23 | + avg = compute_mean_indicator(filename="QualityIndicatorSummary.csv", indicator_name="HV") |
19 | 24 | print(avg) |
20 | 25 |
|
21 | 26 | # Non-parametric test |
22 | | - print('-------- Sign Test --------') |
23 | | - print(sign_test(avg[['NSGAII', 'SMPSO']])) |
24 | | - print('-------- Friedman Test --------') |
| 27 | + print("-------- Sign Test --------") |
| 28 | + print(sign_test(avg[["NSGAII", "SMPSO"]])) |
| 29 | + print("-------- Friedman Test --------") |
25 | 30 | print(friedman_test(avg)) |
26 | | - print('-------- Friedman Aligned Rank Test --------') |
| 31 | + print("-------- Friedman Aligned Rank Test --------") |
27 | 32 | print(friedman_aligned_rank_test(avg)) |
28 | | - print('-------- Quade Test --------') |
| 33 | + print("-------- Quade Test --------") |
29 | 34 | print(quade_test(avg)) |
30 | 35 |
|
31 | 36 | # Post-hoc tests |
32 | | - print('-------- Friedman Post-Hoc Test --------') |
33 | | - z, p_val, adj_pval = friedman_ph_test(avg, control=0, apv_procedure='Bonferroni') |
34 | | - print('z values \n', z) |
35 | | - print('p-values \n', p_val) |
36 | | - print('adjusted p-values \n', adj_pval) |
37 | | - print('-------- Friedman Aligned Rank Post-Hoc Test --------') |
38 | | - z, p_val, adj_pval = friedman_aligned_ph_test(avg, apv_procedure='Shaffer') |
39 | | - print('z values \n', z) |
40 | | - print('p-values \n', p_val) |
41 | | - print('adjusted p-values \n', adj_pval) |
42 | | - print('-------- QuadeTest Post-Hoc Test --------') |
43 | | - z, p_val, adj_pval = quade_ph_test(avg, apv_procedure='Holm') |
44 | | - print('z values \n', z) |
45 | | - print('p-values \n', p_val) |
46 | | - print('adjusted p-values \n', adj_pval) |
| 37 | + print("-------- Friedman Post-Hoc Test --------") |
| 38 | + z, p_val, adj_pval = friedman_ph_test(avg, control=0, apv_procedure="Bonferroni") |
| 39 | + print("z values \n", z) |
| 40 | + print("p-values \n", p_val) |
| 41 | + print("adjusted p-values \n", adj_pval) |
| 42 | + print("-------- Friedman Aligned Rank Post-Hoc Test --------") |
| 43 | + z, p_val, adj_pval = friedman_aligned_ph_test(avg, apv_procedure="Shaffer") |
| 44 | + print("z values \n", z) |
| 45 | + print("p-values \n", p_val) |
| 46 | + print("adjusted p-values \n", adj_pval) |
| 47 | + print("-------- QuadeTest Post-Hoc Test --------") |
| 48 | + z, p_val, adj_pval = quade_ph_test(avg, apv_procedure="Holm") |
| 49 | + print("z values \n", z) |
| 50 | + print("p-values \n", p_val) |
| 51 | + print("adjusted p-values \n", adj_pval) |
47 | 52 |
|
48 | 53 | # Plot critical distance |
49 | 54 |
|
50 | 55 | CDplot(avg.T, alpha=0.15, higher_is_better=True) |
51 | 56 |
|
52 | | - print('-------- Bayesian Sign Test --------') |
53 | | - bst, DProcess = bayesian_sign_test(avg[['NSGAII', 'SMPSO']], rope_limits=[-0.002, 0.002], |
54 | | - prior_strength=0.5, return_sample=True) |
55 | | - plot_posterior(DProcess, higher_is_better=True, alg_names=['NSGAII', 'SMPSO']) |
| 57 | + print("-------- Bayesian Sign Test --------") |
| 58 | + bst, DProcess = bayesian_sign_test( |
| 59 | + avg[["NSGAII", "SMPSO"]], rope_limits=[-0.002, 0.002], prior_strength=0.5, return_sample=True |
| 60 | + ) |
| 61 | + plot_posterior(DProcess, higher_is_better=True, alg_names=["NSGAII", "SMPSO"]) |
56 | 62 |
|
57 | | - print('Pr(NSGAII < SMPSO) = %.3f' % bst[0]) |
58 | | - print('Pr(NSGAII ~= SMPSO) = %.3f' % bst[1]) |
59 | | - print('Pr(NSGAII > SMPSO) = %.3f' % bst[2]) |
| 63 | + print("Pr(NSGAII < SMPSO) = %.3f" % bst[0]) |
| 64 | + print("Pr(NSGAII ~= SMPSO) = %.3f" % bst[1]) |
| 65 | + print("Pr(NSGAII > SMPSO) = %.3f" % bst[2]) |
60 | 66 |
|
61 | | - print('-------- Bayesian Signed Rank Test --------') |
62 | | - bst, DProcess = bayesian_signed_rank_test(avg[['NSGAII', 'SMPSO']], rope_limits=[-0.002, 0.002], |
63 | | - prior_strength=0.5, return_sample=True) |
64 | | - plot_posterior(DProcess, higher_is_better=True, alg_names=['NSGAII', 'SMPSO']) |
| 67 | + print("-------- Bayesian Signed Rank Test --------") |
| 68 | + bst, DProcess = bayesian_signed_rank_test( |
| 69 | + avg[["NSGAII", "SMPSO"]], rope_limits=[-0.002, 0.002], prior_strength=0.5, return_sample=True |
| 70 | + ) |
| 71 | + plot_posterior(DProcess, higher_is_better=True, alg_names=["NSGAII", "SMPSO"]) |
65 | 72 |
|
66 | | - print('Pr(NSGAII < SMPSO) = %.3f' % bst[0]) |
67 | | - print('Pr(NSGAII ~= SMPSO) = %.3f' % bst[1]) |
68 | | - print('Pr(NSGAII > SMPSO) = %.3f' % bst[2]) |
| 73 | + print("Pr(NSGAII < SMPSO) = %.3f" % bst[0]) |
| 74 | + print("Pr(NSGAII ~= SMPSO) = %.3f" % bst[1]) |
| 75 | + print("Pr(NSGAII > SMPSO) = %.3f" % bst[2]) |
0 commit comments