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

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

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

Делиться

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

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

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

галерея

Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.
dummy-img
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.
dummy-img
dummy-img
Взаимодействие человека и машины погружается под воду.
Взаимодействие человека и машины погружается под воду.
Дифференциально приватное машинное обучение в масштабе с использованием JAX-Privacy
Image Not Found
Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.

Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.

Вкратце Опубликовано: Изображение предоставлено: Thos Robinson/Getty Images для The New York Times (откроется в новом окне) Джули Борт Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.…

Апр 21, 2026
dummy-img

Как почистить виниловые пластинки (2026): пылесос, ультразвук, чистящий раствор, щетка.

Эти щелчки и треск недопустимы. Приведите свою музыку в порядок с помощью этого удобного руководства. Источник: www.wired.com

Апр 21, 2026
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Это сегодняшний выпуск The Download, нашей ежедневной новостной рассылки, которая предоставляет вам ежедневную порцию событий в мире технологий. Кибермошенники обходят системы безопасности банков с помощью незаконных инструментов, продаваемых в Telegram. В центре по отмыванию денег в Камбодже…

Апр 21, 2026
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Это сегодняшний выпуск The Download, нашей ежедневной новостной рассылки, которая предоставляет вам ежедневную порцию событий в мире технологий. Кибермошенники обходят системы безопасности банков с помощью незаконных инструментов, продаваемых в Telegram. В центре по отмыванию денег в Камбодже…

Апр 21, 2026

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