Идентификация центра с функцией квадрата расстояния в простом JavaScript - PullRequest
0 голосов
/ 24 сентября 2019

Я не могу понять, как решить следующую проблему в простом JavaScript.

У меня есть набор чисел (например, 5, 10, 35, -30, 3), и я ищудля «центра» этих чисел.Предполагается, что моим центром является точка, в которой сумма квадратов расстояний до всех остальных точек минимальна.Я думаю, что это одномерная версия проблемы наименьших квадратов.

Любая помощь будет оценена.Мне не нужны точные результаты, так что эвристический подход может сработать.Он должен работать с отрицательными значениями.

1 Ответ

0 голосов
/ 24 сентября 2019

Если вам разрешено выбирать любое действительное число, то искомое число является средним числом ваших чисел.

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

Оба эти утверждения следуют из:

Let Q(y) = Sum{ 1<=i<=N | (X[i]-y)*(X[i]-y}
If m = Sum{ 1<=i<=N | X[i]}/N (ie the mean)
then for any d
Q(m+d) = Q(m) + N*d*d
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...