У меня есть 2D-квадрат, и внутри него есть набор точек, скажем, 1000 точек. Мне нужен способ увидеть, распределено ли распределение точек внутри квадрата (или более или менее равномерно распределено) или они собираются вместе в каком-то месте внутри квадрата.
Мне нужен математический / статистический (не программирующий) способ определить это. Я гуглил, нашел что-то вроде бодрости, Колмогорова и т. Д., И просто удивляюсь, есть ли другие подходы для достижения этой цели. Нужно это для классной бумаги.
Входы: 2D квадрат и 1000 точек. Вывод: да / нет (да = равномерно распределены, нет = собираются вместе в некоторых местах).
R
, есть множество инструментов для этой задачи .Ответы:
Я думаю, что идея @John по критерию хи-квадрат - один из способов.
Вы хотели бы патчи на 2-й, но вы хотели бы проверить их, используя 1-х сторонний критерий хи-квадрат; то есть ожидаемые значения для ячеек будут где N - количество клеток.1000N
Но возможно, что разное количество клеток даст разные выводы.
Другая возможность состоит в том, чтобы вычислить среднее расстояние между точками, а затем сравнить его с результатами моделирования этого среднего. Это позволяет избежать проблемы произвольного количества ячеек.
РЕДАКТИРОВАТЬ (больше на среднем расстоянии)
С 1000 очков, есть попарных расстояния между точками. Каждый из них может быть вычислен (используя, скажем, евклидово расстояние). Эти расстояния могут быть усреднены.1000 * 9992
Затем вы можете сгенерировать N (большое количество) наборов из 1000 точек, которые распределены равномерно. Каждый из этих N наборов также имеет среднее расстояние между точками.
Сравните результаты для фактических точек с смоделированными точками, чтобы получить значение p или просто посмотреть, где они упали.
источник
Другая возможность - это тест хи-квадрат. Разделите квадрат на равные по размеру неперекрывающиеся патчи и проверьте количество точек, попадающих в патчи, по сравнению с их ожидаемыми значениями в соответствии с гипотезой однородности (ожидаемый патч будет total_points / total_patches, если все они одинакового размера) и применить тест хи-квадрат. Для 1000 очков 9 патчей должно быть достаточно, но вы можете использовать больше детализации в зависимости от того, как выглядят ваши данные.
источник
Почему бы не использовать тест Колмогорова-Смирнова? Я бы так и сделал, особенно учитывая, что размер вашей выборки достаточно велик, чтобы компенсировать недостаток энергии.
В качестве альтернативы, вы могли бы сделать некоторые моделирования. Это не является строгим, но оно предоставляет некоторые доказательства того, равномерно ли распределены данные.
@whuber Двумерное расширение KS хорошо известно (см. здесь ). В этом случае мы исследуем, могут ли эти 1000 ничьих (координаты (x, y)) быть взяты из двумерного совместно равномерного распределения - по крайней мере, так я прочитал «равномерно распределенный». @ Джон Я мог бы выразить себя неуклюже (ни математика, ни английский не являются моими первыми языками). Я имел в виду, что точное значение p можно вычислить с помощью теста, такого как KS, тогда как значение p (или как вы его называете эквивалентным) имеет тенденцию асимптотически проявляться только при симуляции.
источник