Я пытаюсь найти способ найти сходство в двух массивах разных точек. Я нарисовал круги вокруг точек, которые имеют похожие шаблоны, и я хотел бы сделать какое-то автоматическое сравнение в интервалах, скажем, 100 баллов, и рассказать, какой коэффициент подобия для этого интервала. Как вы можете видеть, это может быть не совсем правильно, так что сравнение «точка-точка» также не будет хорошим решением (я полагаю). Шаблоны, которые слегка смещены, могут также означать, что они соответствуют шаблону (но, очевидно, с меньшим коэффициентом)Сравните два массива точек
То, что могло бы означать (1 коэффициент - идеальное совпадение, 0 или меньше - совсем не соответствует):
- Очки 640 до 660 - Очень похожие (коэффициент ~ 0,8)
- Пункты 670 до 690 - совершенно аналогичные (коэффициент составляет ~ 0,5- ~ 0,6)
- Очки 720 до 780 - Скажем, очень похожи (коэффициент составляет ~ 0,5- ~ 0,6)
- Баллы 790 к 810 - Perf (коэффициент равен 1)
Коэффициент - это только мои мысли о том, как конечный расчетный результат функции сравнения может выглядеть с данными.
Я прочитал много сообщений о SO, но, похоже, это не помогло решить мою проблему. Буду признателен за вашу помощь. Спасибо
P.S. Идеальный ответ - это тот, который обеспечивает псевдокод для функции, который может принимать два массива данных в качестве аргументов (интервалы данных) и коэффициент возврата подобия.
Click here to see original size of image
Не могли бы вы рассказать о каких типах данных ваша «точка»? И что он представляет? (Эта графика, которую вы предоставили, слишком мала, чтобы видеть это) –
Я думаю, что вы ищете некоторую меру * корреляции * или * кросс-корреляцию *. Слишком сложно для меня попытаться объяснить или предложить псевдокод * ab initio *. Предложите вам проверить темы (возможно, в Википедии) и вернуться с острым вопросом. –
@Eugene point - это просто целое число: arrayA = [0,1,2,0] и arrayB = [0,1,2,0] - идеальное совпадение. Но arrayA = [0,1,2,0] и arrayB = [0,0,1,2] были бы очень похожими, но потребовали бы выравнивания. А arrayA = [0,1,2,0] с arrayB = [0,2,3,0] будет означать также очень похожий или довольно похожий матч, потому что шаблоны похожи. –