Городской пейзаж и тепловая карта с шестигранной сеткой, Сан-Франциско.

Моделирование рисков пеших прогулок в городских условиях с использованием пространственно-временного машинного обучения.

Оценка риска для пешеходов на уровне микрорайона на основе данных о реальных инцидентах.

Делиться

9819a08c9859aaa19d6dde5716f29622

Мотивация

После ужина в центре Сан-Франциско я попрощался с друзьями и достал телефон, чтобы придумать, как добраться домой. Было около 23:30, и расчетное время в пути на Uber было необычно долгим. Я открыл Google Maps и посмотрел пешеходные маршруты. Маршруты были похожи по расстоянию, но я засомневался — не из-за того, сколько времени займет прогулка, а потому что не был уверен, как будут ощущаться разные участки маршрута в это время суток. Google Maps мог показать мне самый быстрый путь домой, но он не мог помочь ответить на мой главный вопрос: как отфильтровать маршрут, чтобы он проходил через более безопасные кварталы, а не был самым быстрым?

393f4911c84d8f9b5a15de93df6829e9

Определение формулировки проблемы

Имея начальное и конечное местоположение, день недели и время, как можно предсказать ожидаемый риск на данном пешеходном маршруте? Например, если я хочу пройти пешком от паромного терминала до Нижнего Ноб-Хилла, Google Maps покажет мне следующий маршрут(ы):

2a0658bde59771c21daea33672cfab0b

В общих чертах, задача, которую я хотел решить, заключалась в следующем: имея начальное и конечное местоположение, время суток и день недели, как можно оценить ожидаемый риск на пешеходном маршруте?

Например, если я хочу пройти пешком от Чайнатауна до пересечения улиц Маркет и Ван Несс, Google Maps предлагает несколько вариантов маршрута, каждый из которых занимает примерно 40 минут. Хотя сравнение расстояния и продолжительности полезно, оно не помогает ответить на более контекстный вопрос: какие участки этих маршрутов выглядят по-разному в зависимости от времени прогулки? Как один и тот же маршрут выглядит в 9 утра во вторник и в 11 вечера в субботу?

По мере того как прогулки становятся длиннее — или проходят через районы с совершенно иными историческими моделями активности — на эти вопросы становится сложнее ответить интуитивно. Хотя Сан-Франциско не является уникально опасным городом по сравнению с другими крупными городами, общественная безопасность по-прежнему остается важным фактором, особенно при прогулках по незнакомым районам или в непривычное время. Моя цель состояла в том, чтобы создать инструмент для местных жителей и туристов, который бы добавлял контекст к этим решениям — используя исторические данные и машинное обучение, чтобы показать, как риск меняется в пространстве и времени, не сводя город к упрощенным ярлыкам.

Получение данных + предварительная обработка

Получение исходного набора данных

Департаменты города и округа Сан-Франциско ежедневно публикуют отчеты о происшествиях, связанных с действиями полиции, через портал открытых данных Сан-Франциско. Набор данных охватывает период с 1 января 2018 года по настоящее время и включает структурированную информацию, такую как категория происшествия, подкатегория, описание, время и местоположение (широта и долгота).

Предоставляет краткий обзор того, как выполнять запросы к базе данных открытых данных Сан-Франциско.

Классификация зарегистрированных инцидентов

Одна из непосредственных проблем с этими данными заключается в том, что не все инциденты представляют одинаковый уровень или тип риска. Равномерное отношение ко всем сообщениям размыло бы значимые различия — например, сообщение о незначительном вандализме не должно иметь тот же вес, что и сообщение о насильственном инциденте. Чтобы решить эту проблему, я сначала извлек все уникальные комбинации категории инцидента, подкатегории и описания, в результате чего получил чуть более 800 различных троек инцидентов.

Вместо прямой оценки отдельных инцидентов, я использовал LLM для присвоения баллов тяжести каждому уникальному типу инцидента. Это позволило мне нормализовать семантические различия в данных, сохраняя при этом согласованность и интерпретируемость оценок. Каждый тип инцидента оценивался по трем отдельным параметрам, каждый по шкале от 0 до 10:

  • Оценка вреда : потенциальный риск для безопасности людей и прохожих.
  • Оценка имущества : потенциальный риск повреждения или утраты имущества.
  • Показатель нарушения общественного порядка : степень, в которой инцидент нарушает нормальную общественную жизнь.

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

Геопространственное представление

Предоставление необработанных данных о широте и долготе не принесет большой пользы модели машинного обучения, поскольку мне необходимо группировать агрегированный контекст инцидентов на уровне квартала и района. Мне нужен был метод сопоставления квартала или района с фиксированным индексом, чтобы упростить разработку признаков и построить согласованное пространственное отображение. Перейдем к основополагающему инженерному блогу, опубликованному Uber — H3 .

В блоге H3 компании Uber описывается, как проецирование икосаэдра (20-гранного многогранника) на поверхность Земли и иерархическое разбиение его на шестиугольные фигуры (и 12 стратегически расположенных пятиугольников) может помочь создать мозаику на всей карте. Шестиугольники особенны тем, что являются одним из немногих правильных многоугольников, образующих правильные мозаики, и их центр находится на равном расстоянии от центров соседних многоугольников, что упрощает сглаживание градиентов.

Демонстрирует, как центры точек на гексагональной сетке расположены на равном расстоянии друг от друга, тогда как на квадратной сетке это расстояние неодинаково.

Сайт https://clupasq.github.io/h3-viewer/ — это интересный эксперимент, позволяющий узнать, какой H3-индекс характерен для вашего местоположения!

Краткий обзор, позволяющий читателю понять, как строятся гексагональные сетки H3 на карте Сан-Франциско.

Временное представление

Время так же важно, как и местоположение, при моделировании риска, связанного с ходьбой. Однако наивное кодирование часа и дня целыми числами приводит к разрывам — 23:59 и 00:00 численно сильно отличаются друг от друга, хотя в реальности разница составляет всего одну минуту.

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

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

727e169a55ca2a4ddda17347608f7c9e

Итоговое представление характеристик

После предварительной обработки каждая точка данных состояла из:

  • Индекс H3, обозначающий местоположение.
  • Циклически закодированные характеристики часа и дня
  • Сводная информация о степени серьезности инцидентов, полученная на основе данных о произошедших событиях.

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

Обучение модели с использованием XGBoost

Почему именно XGBoost?

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

  • Модели на основе деревьев решений обладают естественной устойчивостью к моделированию гетерогенных данных — категориальные пространственные индексы, циклические временные характеристики и разреженные входные данные могут сосуществовать без значительного масштабирования или нормализации признаков.
  • Влияние признаков лучше поддается интерпретации, чем в глубоких нейронных сетях, которые, как правило, вносят излишнюю непрозрачность в табличные данные.
  • Гибкость в целях и регуляризация позволили моделировать риски таким образом, чтобы это соответствовало структуре проблемы.

Хотя я рассматривал альтернативы, такие как линейные модели, случайные леса и нейронные сети, они оказались неудовлетворительными из-за неспособности улавливать нюансы данных, высокой задержки во время вывода или чрезмерной сложности для табличных данных. XGBoost обеспечивает наилучший баланс между производительностью и практичностью.

Моделирование ожидаемого риска

Прежде чем двигаться дальше, важно уточнить, что моделирование ожидаемого риска не является задачей Гаусса. При моделировании частоты инцидентов в городе я заметил, что для каждой ячейки [H3, время]:

  • В нескольких ячейках количество инцидентов равно 0 и/или общий риск равен 0.
  • В нескольких клетках зафиксировано всего 1–2 инцидента.
  • небольшое количество клеток имеет инциденты много инцидентов (> 1000)
  • Экстремальные события случаются, но редко.

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

Именно здесь на помощь приходит регрессия Твиди .

Что такое регрессия Твиди?

Этот график показывает, что моделирование риска, как правило, представляет собой распределение с правосторонней асимметрией при построении логарифмического графика.

Проще говоря, регрессия Твиди гласит: «Ваше значение — это сумма случайных событий , где количество событий является случайным , а каждое событие имеет положительный случайный размер». Это идеально подходит для модели анализа преступных инцидентов.

Регрессия Твиди объединяет процессы распределения Пуассона и гамма-распределения для моделирования количества инцидентов и величины (оценки риска) каждого инцидента. В качестве примера:

  • Пуассоновский процесс: сколько инцидентов произошло в интервале с 18:00 до 21:00 10 декабря 2025 года в индексе H3 89283082873ffff ?
  • Гамма-распределение: насколько серьёзным было каждое событие, произошедшее в интервале с 18:00 до 21:00 10 декабря 2025 года в индексе H3 89283082873ffff ?

Почему это важно?

Конкретный пример из имеющихся данных иллюстрирует важность такой формулировки.
В Пресидио произошёл один редкий инцидент высокой степени тяжести, который получил оценку около 9/10. В отличие от этого, на квартале возле дома 300 по Хайд-стрит в районе Тендерлойн за всё время произошли тысячи инцидентов, но со средней степенью тяжести. Твиди объясняет это так:

Ожидаемый риск = E[количество инцидентов] × E[тяжесть] # Пресидио E[количество] ≈ ~0 E[тяжесть] = высокий → Ожидаемый риск ≈ все еще ~0 # Тендерлойн E[количество] = высокий E[тяжесть] = средний → Ожидаемый риск = высокий

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

Формулирование результата

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

Заключительные этапы + Развертывание

Чтобы воплотить модель в жизнь, я использовал API Google Maps для создания веб-сайта, который интегрирует карты, маршруты и пользовательский интерфейс для навигации, на который я могу накладывать цвета в зависимости от оценок риска. Я раскрасил сегменты, взяв процентное распределение в моих данных, то есть оценка ≤ P50 = зеленый (безопасно), оценка ≤ P75 = желтый (умеренно безопасно), оценка ≤ P90 = оранжевый (умеренно рискованно), иначе красный (рискованно). Я также добавил логику для перенаправления пользователя по более безопасному маршруту, если отклонение не превышает 15% от первоначальной продолжительности. Это можно доработать, но пока я оставил как есть, поскольку в случае с холмами Сан-Франциско отклонение на 15% может быть очень значительным.

501b7fb33ada5e0b3dec6fe5ed8edef1

Я также развернул бэкенд на Render и фронтенд на Vercel.

Применяем принципы StreetSense на практике!

А теперь вернемся к первому примеру, который мы рассматривали — пути из Чайнатауна в район Маркет-стрит и Ван-Несс-стрит, но теперь с нашей новой моделью и приложением, которые мы разработали!

Вот как выглядит прогулка в 9 утра во вторник и в 11 вечера в субботу:

Скриншот моего приложения для иллюстрации пользовательского интерфейса и удобства использования, а также навигации по сайту.
533a602543958c9bf2dfd0dbbebfa11a

На первом изображении участки Чайнатауна, отмеченные зеленым цветом, имеют меньшее количество инцидентов и тяжесть последствий по сравнению с участками, отмеченными красным, и данные это подтверждают. Интересно, что на втором изображении пользователь автоматически перенаправляется по более безопасному маршруту в 23:00 в субботу вечером. Именно такой контекстный подход к принятию решений я изначально и хотел использовать — и именно это послужило мотивацией для создания StreetSense.

Заключительные мысли и возможные улучшения

Хотя существующая система фиксирует пространственные и временные закономерности исторических событий, есть очевидные области для улучшения:

  • включение сигналов в реальном времени
  • использование дополнительных данных для проверки и обучения
    (а) если инцидент был оценен как кража с риском 4/10, и мы можем узнать из базы данных Сан-Франциско, что был произведен арест, мы можем повысить оценку до 5/10.
  • Сделайте индекс H3 чувствительным к соседним ячейкам — Внешний Ричмонд ~ Центральный Ричмонд, чтобы модель могла определять близость, а контекстная информация частично передавалась.
  • Расширьте набор пространственных характеристик за пределы идентификатора H3 (агрегирование соседей, расстояние до горячих точек, характеристики землепользования).
  • Более глубокое изучение различных методов обработки данных об инцидентах и их оценки.
    (а) проведите эксперимент с различными целевыми функциями XGBoost, такими как псевдо-функция потерь Хубера.
    (b) Используйте методы оптимизации гиперпараметров и оцените различные комбинации значений.
    (c) эксперимент с нейронными сетями
  • Расширение модели за пределы одного города сделало бы её более надёжной.

Как и любая модель, построенная на исторических данных, StreetSense отражает прошлые закономерности, а не предсказывает индивидуальные результаты, и её следует использовать как инструмент для понимания контекста, а не для получения полной уверенности. В конечном итоге, цель состоит не в том, чтобы навешивать ярлыки «безопасные» или «небезопасные» на какие-либо места, а в том, чтобы помочь людям принимать более обоснованные и учитывающие ситуацию решения при перемещении по городу.

Источник: towardsdatascience.com

✅ Найденные теги: Городские Условия, машинное обучение, Моделирование, новости, Пешие Прогулки, Риски

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Фото сгенерированных лиц: исследование показывает, что люди не могут отличить настоящие лица от сгенерированных
Нейросети построили капитализм за трое суток: 100 агентов Claude заперли…
Скетч: цифровой осьминог и виртуальный мир внутри компьютера с человечком.
Сцена с жестами пальцами, где один жест символизирует "VPN", а другой "KHP".
‼️Paramount купила Warner Bros. Discovery — сумма сделки составила безумные…
Скриншот репозитория GitHub "Claude Scientific Skills" AI для научных исследований.
Структура эффективного запроса Claude с элементами задачи, контекста и референса.
Эскиз и готовая веб-страница платформы для AI-дизайна в современном темном режиме.
ideipro logotyp
Image Not Found
Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.

Система оповещения обсерватории Рубина отправила 800 000 сигналов в первую ночь наблюдений.

Астрономы будут получать оповещения о небесных явлениях в течение нескольких минут после их обнаружения. Теренс О'Брайен, редактор раздела «Выходные». Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной…

Мар 2, 2026
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.

Расследование в отношении 61-фунтовой машины, которая «пожирает» пластик и выплевывает кирпичи.

Обзор компактного пресса для мягкого пластика Clear Drop — и что будет дальше. Шон Холлистер, старший редактор Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего…

Мар 2, 2026
Черный углеродное волокно с текстурой плетения, отражающий свет.

Материал будущего: как работает «бессмертный» композит

Учёные из Университета штата Северная Каролина представили композит нового поколения, способный самостоятельно восстанавливаться после серьёзных повреждений.  Речь идёт о модифицированном армированном волокном полимере (FRP), который не просто сохраняет прочность при малом весе, но и способен «залечивать» внутренние…

Мар 2, 2026
Круглый экран с изображением замка и горы, рядом электронная плата.

Круглый дисплей Waveshare для креативных проектов

Круглый 7-дюймовый сенсорный дисплей от Waveshare создан для разработчиков и дизайнеров, которым нужен нестандартный экран.  Это IPS-панель с разрешением 1 080×1 080 пикселей, поддержкой 10-точечного ёмкостного сенсора, оптической склейкой и защитным закалённым стеклом, выполненная в круглом форм-факторе.…

Мар 2, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых