Найти в Дзене

Матрицы связности (часть 2)

В этом посте я продолжаю писать про матрицы связности. Читая много последнее время про модели миграции и пространственного экономического анализа, я пришла к мысли, что, по сути своей, матрицы связности и матрицы корреспондеций (OD matrix) - это одно и то же.

Почему?

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

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

Получается, обе отображают связи между пространственными объектами. Разница лишь в том, что в одном случае связность определяется географической близостью, а в другой транспортной связностью и притяжением к рабочим местам.

Какой из типов связностей более сильный -  зависит от задачи. Ниже карта ежедневнего утреннего коммьюта в центральном регионе Израиля: круги - это города , линии - направления коммьюта. Самый большой из кругов - это Тель-Авив, на востоке от него, 2ой по величине, на востоке от него, - это Петах-Тиква. И вот вопрос: если бы Covid-19 начался бы в Петах-Тикве, куда бы он быстрее распространился: в ближайший к Петах-Тикве Кириьят Оно или в Тель-Авив?

Второй пример про рестораны быстрого питания. Как узнать, сколько посетителей может ожидать ресторан? Первое, что приходит в голову: столько же, сколько всреднем у прямых конкурентов в некотором радиусе.

А теперь посмотрим на такой пример: открылся новый McDonald's на трассе(синий), ближайший есть рядом внутри города(желтый). Верно ли считать, что у нового будет столько же клиентов сколько у ближайшего? Ответ нет, неверно, поскольку с точке зрения мобильности он больше связан с другим McDonald's на трассе, пусть и географически не ближайшим.

-2

Второй пример про рестораны быстрого питания. Как узнать, сколько посетителей может ожидать ресторан? Первое, что приходит в голову: столько же, сколько всреднем у прямых конкурентов в некотором радиусе.

А теперь посмотрим на такой пример: открылся новый McDonald's на трассе(синий), ближайший есть рядом внутри города(желтый). Верно ли считать, что у нового будет столько же клиентов сколько у ближайшего? Ответ нет, неверно, поскольку с точке зрения мобильности он больше связан с другим McDonald's на трассе, пусть и географически не ближайшим.

Надеюсь, аргументы получились достаточно убедительными, и мы пришли к соглашению, что в пространственных задачах близость необязательно должна быть географической. В качестве референса предложу почитать эту статью 

Теперь осталось научиться строить матрицы весов, не останавливаясь только на географической близости.  Ниже я приложу ноутбук, здесь "список ингредиентов" и результаты

Ингредиенты

1. В случае использования OD-матрицы веса - это размер потока

2. Для создания классической матрицы весов потребуется только геометрия, для создания ее на основе OD-матрицы потребуются данные о мобильности в формате: откуда, куда, сколько. При этом геометрия нужна только для визуализации.

3. В Python матрицы весов создаются автоматически с помощью методов библиотеки pysal, с ее же помощью считается пространственная автокорреляция

4. Матрица весов на основе OD создается вручную, используя словари весов и соседей. В нашем случае веса - это поток, соседи - это зоны между которыми этот поток существует.

Результаты

-3
-4

Как видите, далеко не все соседние районы связаны между собой с точки зрения мобильности. Еще потенциальный плюс 2-ой матрицы ее несимметричность - в случае матрицы Queen, мы всегда получаем, что если A сосед B, то и B сосед A.  В случае OD матрицы то, что люди ездят на работу из Петах-Тиква в Тель-Авив не означает обратного.

Код и данные для дальнейшего изучения можно найти тут.

Больше интересных задачек сможем решать вместе на курсе «Основы пространственного анализа в Python”. Проходите тест и присоединяйтесь!