У меня есть два массива, содержащих одинаковые элементы, но в разных порядках, и я хочу знать, в какой степени их порядки различаются.
Метод, который я попробовал, не сработал. это было так:
Для каждого списка я построил матрицу, которая записывала для каждой пары элементов, были ли они выше или ниже друг друга в списке. Затем я вычислил коэффициент корреляции Пирсона для этих двух матриц. Это сработало крайне плохо. Вот тривиальный пример:
list 1:
1
2
3
4
list 2:
1
3
2
4
Метод, который я описал выше, производил матрицы, подобные этой (где 1 означает, что номер строки больше, чем столбец, а 0 наоборот):
list 1:
1 2 3 4
1 1 1 1
2 1 1
3 1
4
list 2:
1 2 3 4
1 1 1 1
2 0 1
3 1
4
Поскольку единственным отличием является порядок элементов 2 и 3, их следует считать очень похожими. Коэффициент корреляции Пирсона для этих двух матриц равен 0, что позволяет предположить, что они вообще не коррелированы. Я предполагаю, что проблема в том, что я ищу не коэффициент корреляции, а какой-то другой вид меры сходства. Редактировать расстояние, возможно?
Кто-нибудь может предложить что-нибудь лучше?