def test_kendall_tau_all(): assert abs(ccfcr.kendall_tau(prev_data, curr_data) - kmc.kendall_tau_all(prev_data, curr_data, sorted_prev_data)[0]) < epsilon # original assert abs(ccfcr.kendall_tau_w(prev_data, curr_data) - kmc.kendall_tau_all(prev_data, curr_data, sorted_prev_data)[1]) < epsilon # weighted assert abs(ccfcr.kendall_tau(sorted_prev_data, sorted_prev_data) - kmc.kendall_tau_all(prev_data, curr_data, sorted_prev_data)[2]) < epsilon # original for list_a assert abs(ccfcr.kendall_tau_w(sorted_prev_data, sorted_prev_data) - kmc.kendall_tau_all(prev_data, curr_data, sorted_prev_data)[3]) < epsilon # weighted for list_a assert abs(ccfcr.kendall_tau(curr_data, curr_data) - kmc.kendall_tau_all(prev_data, curr_data, sorted_prev_data)[4]) < epsilon # original for list_b assert abs(ccfcr.kendall_tau_w(curr_data, curr_data) - kmc.kendall_tau_all(prev_data, curr_data, sorted_prev_data)[5]) < epsilon # weighted for list_b
def compute_kendall(list_a, list_b): print(" [ kendall start ... ]") val = ccfcr.kendall_tau(list_a, list_b) w_val = ccfcr.kendall_tau_w(list_a, list_b) sorted_a = sorted(list_a, reverse=False) # due to position ranking ascending order is needed # list_b = sorted(list_b, reverse=False) val_a = ccfcr.kendall_tau(sorted_a, sorted_a) val_b = ccfcr.kendall_tau(list_b, list_b) w_val_a = ccfcr.kendall_tau_w(sorted_a, sorted_a) w_val_b = ccfcr.kendall_tau_w(list_b, list_b ) print(" [ kendall done ]") return [val/math.sqrt(val_a*val_b), w_val/ math.sqrt(w_val_a*w_val_b)]
def test_kendall_tau(): assert abs(ccfcr.kendall_tau(prev_data_with_centrality, curr_data_with_centrality) - ccfcr.kendall_tau(prev_data_with_position, curr_data_with_position)) < epsilon assert False == (abs(ccfcr.kendall_tau(prev_data_with_centrality, prev_data_with_centrality) - ccfcr.kendall_tau(prev_data_with_position, curr_data_with_position)) < epsilon)