import math def calculate_correlation(list1, list2): if not list1 or not list2: print("Ошибка: Один или оба списка пусты.") return None n = min(len(list1), len(list2)) # Используем меньшую длину sum_x = sum(list1[:n]) sum_y = sum(list2[:n]) sum_x_squared = sum(x**2 for x in list1[:n]) sum_y_squared = sum(y**2 for y in list2[:n]) sum_xy = sum(list1[i] * list2[i] for i in range(n)) numerator = n * sum_xy - sum_x * sum_y denominator = math.sqrt((n * sum_x_squared - sum_x**2) * (n * sum_y_squared - sum_y**2)) if denominator == 0: print("Предупреждение: Деление на ноль при вычислении корреляции.") return None return numerator / denominator