Соединенные Штаты имеют один из крупнейших автомобильных рынков мира, уступающий только Китаю. По состоянию на 2017 год на дорогах Америки было зарегистрировано 270,4 миллиона автомобилей, и каждый год происходят миллионы аварий. По данным Национальной службы безопасности дорожного движения, в 2016 году в США было зарегистрировано около 7 миллионов дорожно-транспортных происшествий, о которых полиция сообщила. Это привело к убыткам в результате столкновений в 2016 году на сумму около 207 миллионов долларов. претензия в ближайшие месяцы дает страховщику возможность корректировать премии и планировать резервы заранее.

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

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

Функциональная инженерия

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

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

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

Еще одна вещь, на которую стоит обратить внимание, - это покрытая площадь во время путешествий и расшифровать водителей, у которых много коротких местных поездок по сравнению с длинными многокилометровыми поездками по прямой. Это выходит за рамки обычного автоматического проектирования функций и требует концепций исследования мобильности, таких как радиус вращения, максимальная охватываемая площадь, предсказуемость мобильности на основе энтропии и другие. Конечно, все вышеуказанные величины затем просматриваются в различных масштабах периодов времени (например, неделя, дни, месяцы) и суммируются (среднее значение, стандартные отклонения, эксцесс степени 1,2,3 ..) для создания набора более 500 функций.

Чтобы уточнить наше моделирование, мы также воспользовались преимуществами многих внешних источников данных, доступных в Интернете, с помощью общедоступных API. Например, мы включили информацию о часах восхода / захода солнца для определения ночного вождения. Государственные метеорологические учреждения предоставляют (в Испании, где проводилось исследование, можно получить доступ к этой информации по адресу http://www.aemet.es/es/datos_abiertos/AEMET_OpenData) доступ к историческим данным о дождях, ветре и температуре на различные точки в географии, которые мы также включили для моделирования условий вождения.

Openstreetmaps предоставляет, среди многих других данных, ограничения скорости для некоторых дорог в разных точках (хотя следует проявлять определенную осторожность, поскольку это общедоступная база данных и, следовательно, целостность данных необходимо проверять). Используемый вместе с данными, предоставленными Google Maps Geocoding API и Википедией, он позволяет определять название дорог и определять, являются ли они автомагистралями или городскими районами. Все эти данные помогают построить более подробный профиль водителя независимо от данных, которые может предоставить автомобиль. В конце концов, включая функции, полученные на основе измерений самих автомобилей, и функции, построенные на основе общедоступных данных, мы создали набор из 1200 функций, которые были переданы в наши модели машинного обучения.

Энтропия

Один из способов выйти за рамки прямых измерений мобильности (расстояние, скорость…) - это мыслить категориями повседневного поведения людей. Иными словами, переход от подхода физической области (сколько километров вы путешествуете, с какой скоростью) к подходу символической области (какие места вы посещаете, как часто…). Например, два человека могут преодолевать 10 км в день, демонстрируя при этом совершенно разное поведение; например, один из них может ездить из дома на работу и обратно, тогда как другой ходит в спортзал, потом на работу, затем в школу своих детей, а затем снова домой. Следовательно, эти два человека, несмотря на одинаковый профиль физического домена, демонстрируют совершенно разные символьные профили домена. Другим примером может быть случай, когда два человека путешествуют в 5 разных мест в день, один из них путешествует в одни и те же 5 мест, а другой будет посещать одни и те же два места каждый день и изо дня в день чередовать три других.

Ключевым понятием здесь является индивидуальная предсказуемость или способ обойти его случайность. Если один человек посещает 5 разных мест за один день, тогда как второй человек посещает только 2 места, первый человек является более случайным, поскольку его история перемещений включает в себя более высокую неопределенность (если нужно угадать, где находится первый человек, вероятность получение правильного значения - 1/5 = 0,2, а для другого - 1/2 = 0,5).

Теперь вопрос в том, как мы суммируем эти измерения мобильности человека? Одна концепция, которая прекрасно отражает уровень случайности в последовательности событий, находится в области теории информации и известна как энтропия. Энтропия Шеннона учитывает распределение событий в последовательности и предоставляет значение, представляющее «ожидаемую неожиданность» или неопределенность, заключенную в случайной величине (в нашем случае последовательность посещенных мест). Когда все значения случайной величины имеют одинаковую вероятность появления, энтропия Шеннона достигает своего максимального значения, также известного как энтропия Хартли.

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

Иерархическая кластеризация

В этой конкретной проблеме одним из ключевых моментов в возможности расширения набора данных с помощью внешних источников является возможность фильтровать количество точек данных. Действительно, как упоминалось ранее, журналы в среднем охватывают более года, а точки данных записываются примерно каждые 30 секунд (в лучшем случае), что приводит к миллионам точек данных для каждого драйвера. Из-за ограничений на количество вызовов различных API и времени, необходимого для обработки HTTP-запроса, невозможно получить информацию для каждой отдельной точки в наборе данных. Тогда возникает вопрос, как выбрать лучшие точки, для которых можно получить эту информацию?

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

Излишне говорить, что наличие 2000 различных драйверов, разбросанных по территории Испании и несущих разные устройства для сбора данных, приводит к разным историям местоположений, где кластеризация должна иметь смысл. По этой причине было сложно работать с алгоритмами, зависящими от предопределенных параметров, поскольку их нужно было настраивать для каждого отдельного случая. По этой причине мы отказались от простых методов кластеризации, таких как k-NN, потому что мы не можем знать окончательное количество кластеров. Алгоритмы кластеризации на основе плотности также были отброшены, потому что они оказались весьма чувствительными к гиперпараметрам. Чтобы проиллюстрировать это, мы провели несколько тестов, результаты которых показаны на изображениях ниже. На левом изображении мы видим результат кластеризации поездок пользователя с использованием HDBSCAN, алгоритма, основанного на плотности, с минимальным количеством точек на кластер, равным 2, и минимальным расстоянием, равным 10, тогда как на правом изображении параметры изменяются на 10 и 10 соответственно. Как видно, существует огромная разница между результатами только для этого конкретного водителя и района города. Таким образом, от алгоритмов, основанных на плотности, отказались, поскольку для этого потребовалась бы настройка различных наборов параметров для каждого драйвера в каждом сценарии.

Наконец, вместо этого мы обратились к иерархической кластеризации. Этому семейству алгоритмов требуется только максимальное расстояние между точками кластера для выполнения своей задачи, которое мы установили равным 100 м для всех водителей, поскольку именно с такой степенью детализации мы хотели отразить поездку водителей. Никаких других параметров устанавливать не нужно, ни окончательное количество кластеров, ни количество точек на кластер. Среди различных алгоритмов иерархической кластеризации мы сосредоточились только на двух из них из-за ограничений памяти: CLINK и SLINK. Основное различие между ними заключается в том, как рассчитать расстояние между кластерами: SLINK измеряет расстояние между ближайшими точками двух бывших кластеров, чтобы решить, объединять их или нет, тогда как CLINK измеряет расстояние между самыми удаленными точками. Таким образом, CLINK лучше подходит для наших целей, поэтому мы уверены, что никакие две точки не находятся дальше порогового значения (при использовании SLINK ближайшие точки двух объединенных кластеров находятся ниже порогового значения 100 м, но мы не имеем ни малейшего представления о том, как это сделать. что происходит с остальными точками обоих кластеров, которые могут быть намного дальше, таким образом охватывая разные улицы или дороги с разными ограничениями скорости или типом дороги).

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

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

Заключение

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

Эту работу выполнили Алисия Родригес, старший научный сотрудник, и Флориан Лионнет, главный специалист по анализу данных в GDSLINK.