Какой хороший способ сравнить сходство между наборами данных с небольшой разницей? - PullRequest
1 голос
/ 16 января 2012

Допустим, у меня есть список из 100 кувшинов MLB и 5 статистических данных для каждого из них.Разница между, например, ERA 3,5 и 3,1 может показаться не слишком похожей на алгоритм наивного сходства, но в бейсболе очень большая.Учитывая, что многие статистические данные об игроках, на которые я смотрю, имеют эту небольшую дисперсию, такую ​​небольшую дисперсию, как лучше всего рассчитать сходство между двумя игроками?

Примерданные могут выглядеть следующим образом:

Player | ERA | Wins | Strikeouts
--------------------------------
A      | 3.5 | 15   | 180
B      | 3.1 | 12   | 210
C      | 3.4 | 13   | 150

Я использовал косинусное сходство, и результаты слишком похожи, вплоть до тысячной доли знака после запятой.

Ответы [ 2 ]

3 голосов
/ 17 января 2012

Нормализуйте каждый объект перед сравнением примеров.

Поэтому для каждого столбца в вашем наборе данных рассчитайте среднее значение и диапазон (ширину).Затем вычтите среднее значение и разделите на диапазон.Если у вас много выбросов, вместо этого разделите на стандартное отклонение.

1 голос
/ 17 января 2012

Я бы использовал некоторую статистику, основанную на вероятности, для сравнения.Лучшие места для начала:

http://en.wikipedia.org/wiki/Analysis_of_variance: большинство методов здесь являются параметрическими.

http://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test: пример непараметрического метода

...