Вопрос или проблема
Предположим, что результаты гонки следующие: ["a", "b", "c", "d", "e"]
, так что “a” – победитель. Перед гонкой человек X предсказал результаты как ["b", "a", "c", "d", "e"]
, а человек Y предсказал результаты как ["a", "b", "c", "e", "d"]
В настоящее время я использую (kendall_tau_statistics+1)/2 в качестве метрики точности предсказания. Однако я пытаюсь найти лучшую метрику, так как моя не учитывает, что предсказать 1-е место (победителя) важнее, чем предсказать 5-е.
Существует ли устоявшийся способ измерения этого?
Ответ или решение
Для оценки точности предсказания результатов гонки с учётом важности предсказания первых мест, вы можете рассмотреть применение взвешенной метрики ранговой дистанции. Ваша текущая метрика, основанная на коэффициенте Кендалла, действительно не учитывает различия в важности позиций. В этой ситуации можно использовать вариант, который включает в себя разные веса для различных позиций.
Самый распространенный способ решения этой проблемы – использование метода "Weighted Rank Correlation" (взвешенной корреляции рангов), в котором каждой позиции присваивается вес на основе её важности. Например, вы можете установить более высокий вес для выигрыша (1-е место), меньшее для 2-го и 3-го мест, и ещё меньший для 4-го и 5-го мест.
Вот пример того, как можно это реализовать:
-
Определите веса для каждой позиции:
- 1-е место: 5
- 2-е место: 4
- 3-е место: 3
- 4-е место: 2
- 5-е место: 1
-
Вычислите взвешенную метрику для каждого предсказания:
- Для каждого места подсчитайте разницу между предсказанным и истинным позициями, умножьте на соответствующий вес.
- Суммируйте эти значения для получения общего результата.
Таким образом, ваша формула для вычисления качества предсказания может выглядеть следующим образом:
[ \text{Weighted Score} = \sum_{i=1}^{n} (w_i \cdot d_i) ]
где ( w_i ) – вес позиции, а ( d_i ) – разница между предсказанным и истинным ранжированием для позиции ( i ).
Пример расчета для ваших случаев:
-
Для предсказания X:
["b", "a", "c", "d", "e"]
- Истинный результат:
["a", "b", "c", "d", "e"]
- Разности по позициям: [1 (b в 1-м), 0 (a в 2-м), 0 (c в 3-м), 0 (d в 4-м), 0 (e в 5-м)]
- Взвешенный балл: ( (4 \cdot 1) + (5 \cdot 0) + (3 \cdot 0) + (2 \cdot 0) + (1 \cdot 0) = 4 )
- Истинный результат:
-
Для предсказания Y:
["a", "b", "c", "e", "d"]
- Разности по позициям: [0 (a в 1-м), 0 (b в 2-м), 0 (c в 3-м), 1 (e в 4-м), -1 (d в 5-м)]
- Взвешенный балл: ( (5 \cdot 0) + (4 \cdot 0) + (3 \cdot 0) + (2 \cdot 1) + (1 \cdot (-1)) = 1 )
В итоге, вы можете получить взвешенные оценки для каждого предсказания, и эти оценки можно использовать для сравнения различных методов предсказания.
Это позволит вам более точно измерять качество предсказаний, учитывая важность рангов.