У меня есть 2000 наборов данных, каждый из которых содержит чуть более 1000 2D-переменных.Я рассчитываю на кластеризацию этих наборов данных в 20-100 кластеров на основе сходства.Однако у меня возникли проблемы с поиском надежного метода сравнения наборов данных.Я испробовал несколько (довольно примитивных) подходов и провел множество исследований, но, похоже, не могу найти ничего подходящего для того, что мне нужно делать.
Я разместил изображение ниже из 3 комплектовиз моих данных, построенных.Данные ограничены 0-1 по оси y и находятся в диапазоне ~ 0-0.10 по оси x (на практике, но теоретически могут быть больше 0,10).
Форма и относительные пропорциииз данных, вероятно, самые важные вещи для сравнения.Однако, абсолютные местоположения каждого набора данных также важны.Другими словами, чем ближе относительное положение каждой отдельной точки к отдельным точкам другого набора данных, тем больше они будут похожи, и тогда необходимо будет учитывать их абсолютные позиции.
Зеленый и красный должны бытьсчитается очень разным, но толчок приходит к толчку, они должны быть больше похожи, чем синий и красный.
![http://img153.imageshack.us/img153/6730/screenshot20110204at004.png](https://i.stack.imgur.com/QOLKh.png)
Я пытался:
- сравнивать на основе общего среднего и отклонения
- разбивать переменные на координатные области (т.е.(0–0,10, 0–0,10), (0,10–0,20, 0,10–0,20) ... (0,9–1,0, 0,9–1,0)) и сравнивайте сходство на основе общих точек в регионах
- попытался измерить среднее евклидово расстояние до ближайших соседей среди наборов данных
Все они дали ошибочные результаты.Самый близкий ответ, который я мог найти в своем исследовании, был « Подходящие метрики подобия для множества наборов 2D координат ».Тем не менее, ответ, данный там, предлагает сравнить среднее расстояние между ближайшими соседями от центроида, которое, я не думаю, будет работать для меня как направление, так же важно, как расстояние для моих целей.
Я мог быдобавим, что это будет использоваться для генерации данных для ввода другой программы и будет использоваться только спорадически (в основном для генерации разных наборов данных с разным количеством кластеров), поэтому алгоритмы, отнимающие много времени, не обсуждаются.