В этом посте я продолжаю писать про матрицы связности. Читая много последнее время про модели миграции и пространственного экономического анализа, я пришла к мысли, что, по сути своей, матрицы связности и матрицы корреспондеций (OD matrix) - это одно и то же.
Почему?
Матрицы связности отвечают на вопрос "кто на кого влияет и в какой степени", например как взаимосвязаны между собой экономки городов Московской области.
OD матрица используется для отображения потока перемещений между двумя локациями, например, размер коммьюта из Раменок в центр Москвы.
Получается, обе отображают связи между пространственными объектами. Разница лишь в том, что в одном случае связность определяется географической близостью, а в другой транспортной связностью и притяжением к рабочим местам.
Какой из типов связностей более сильный - зависит от задачи. Ниже карта ежедневнего утреннего коммьюта в центральном регионе Израиля: круги - это города , линии - направления коммьюта. Самый большой из кругов - это Тель-Авив, на востоке от него, 2ой по величине, на востоке от него, - это Петах-Тиква. И вот вопрос: если бы Covid-19 начался бы в Петах-Тикве, куда бы он быстрее распространился: в ближайший к Петах-Тикве Кириьят Оно или в Тель-Авив?
Второй пример про рестораны быстрого питания. Как узнать, сколько посетителей может ожидать ресторан? Первое, что приходит в голову: столько же, сколько всреднем у прямых конкурентов в некотором радиусе.
А теперь посмотрим на такой пример: открылся новый McDonald's на трассе(синий), ближайший есть рядом внутри города(желтый). Верно ли считать, что у нового будет столько же клиентов сколько у ближайшего? Ответ нет, неверно, поскольку с точке зрения мобильности он больше связан с другим McDonald's на трассе, пусть и географически не ближайшим.
Второй пример про рестораны быстрого питания. Как узнать, сколько посетителей может ожидать ресторан? Первое, что приходит в голову: столько же, сколько всреднем у прямых конкурентов в некотором радиусе.
А теперь посмотрим на такой пример: открылся новый McDonald's на трассе(синий), ближайший есть рядом внутри города(желтый). Верно ли считать, что у нового будет столько же клиентов сколько у ближайшего? Ответ нет, неверно, поскольку с точке зрения мобильности он больше связан с другим McDonald's на трассе, пусть и географически не ближайшим.
Надеюсь, аргументы получились достаточно убедительными, и мы пришли к соглашению, что в пространственных задачах близость необязательно должна быть географической. В качестве референса предложу почитать эту статью
Теперь осталось научиться строить матрицы весов, не останавливаясь только на географической близости. Ниже я приложу ноутбук, здесь "список ингредиентов" и результаты
Ингредиенты
1. В случае использования OD-матрицы веса - это размер потока
2. Для создания классической матрицы весов потребуется только геометрия, для создания ее на основе OD-матрицы потребуются данные о мобильности в формате: откуда, куда, сколько. При этом геометрия нужна только для визуализации.
3. В Python матрицы весов создаются автоматически с помощью методов библиотеки pysal, с ее же помощью считается пространственная автокорреляция
4. Матрица весов на основе OD создается вручную, используя словари весов и соседей. В нашем случае веса - это поток, соседи - это зоны между которыми этот поток существует.
Результаты
Как видите, далеко не все соседние районы связаны между собой с точки зрения мобильности. Еще потенциальный плюс 2-ой матрицы ее несимметричность - в случае матрицы Queen, мы всегда получаем, что если A сосед B, то и B сосед A. В случае OD матрицы то, что люди ездят на работу из Петах-Тиква в Тель-Авив не означает обратного.
Код и данные для дальнейшего изучения можно найти тут.
Больше интересных задачек сможем решать вместе на курсе «Основы пространственного анализа в Python”. Проходите тест и присоединяйтесь!