1. Введение

1.1. Общие сведения

По данным WSDOT за 2017 год, каждые 4 минуты происходит автомобильная авария, а каждые 20 часов в результате автокатастрофы погибает человек. Количество ДТП со смертельным исходом увеличилось с 508 в 2016 году до 525 в 2017 году, в результате чего погибло 555 человек. Это число оставалось относительно стабильным в течение последнего десятилетия. (https://www.injurytriallawyer.com/library/car-accident-statistics-seattle-washington-state.cfm) Поскольку использование автомобилей продолжает расти, лучше понимать данные об авариях и находить устойчивые решения для решить этот вопрос.

1.2. Проблема

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

1.3. Заинтересованные стороны

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

2. Понимание данных

2.1. Источники данных

Я получил набор данных о столкновении автомобилей из IBM Cloud здесь, который содержит данные о столкновении, адрес и другие различные условия. Набор данных включает 38 столбцов и 194673 наблюдения.

2.2. Очистка данных

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

Во-вторых, основная задача состоит в том, чтобы предсказать тяжесть автомобильной аварии, и целевой переменной должен быть SEVERITYCODE, который был равен 1 (только повреждение) и 2 (травма). И количество записей 2 в два раза больше, чем записи 1. Поэтому я использовал повторную выборку, чтобы уменьшить большинство 2 до того же количества, что и 1, чтобы устранить дисбаланс.

В-третьих, для построения модели классификации мне нужно будет преобразовать категориальные значения в числовые. Я кодирую ADDRTYPE, COLLISIONTYPE, WEATHER, ROADCOND, LIGHTCOND в числовые значения. Среди WEATHER, ROADCOND, LIGHTCOND, которые имеют как значения «Другое», так и «неизвестно», я группирую эти два значения в одно значение.

2.3. Выбор функций

В качестве функций я выбрал ADDRTYPE, COLLISIONTYPE, WEATHER, ROADCOND, LIGHTCOND. Я намеревался использовать SPEEDING, UNDERINFL (под воздействием наркотиков или алкоголя во время вождения) и INATTENTIONAND (не обращая внимания во время вождения), потому что существует высокая корреляция между ними и автомобильными авариями, но данные недостаточно репрезентативны. Они содержат только значение «Y» и «Неизвестно». Поэтому я не выбрал их в качестве своих функций.

3. Методология

3.1. Исследовательский анализ данных

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

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

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

3.2. Прогнозное моделирование

Используемые модели машинного обучения: логистическая регрессия, K-ближайший сосед (KNN) и машина опорных векторов (SVM). Модель логистической регрессии является базовой для прогнозирования бинарного результата с использованием логистической функции. KNN использует непараметрический метод для классификации новых элементов на основе показателей сходства (расстояния). C-Support Vector Classification в линейном ядре помогает классифицировать новые данные с бинарными результатами и более эффективно использовать память, используя подмножество обучающих точек.

4. Результат —Отчет о классификации и ROC

4.1. Логистическая регрессия

4.2. K-ближайший сосед

Сравнивая разные показатели с использованием разных k, мы получаем правильную диаграмму и лучший k = 3. Затем мы подгоняем модель к нашему поезду, мы получаем следующую матрицу путаницы:

4.3. Машина опорных векторов

Чтобы лучше сравнить эти три модели, я вычислил оценку ROC для каждой модели.

5. Заключение

Судя по кривой ROC, модель KNN работает немного лучше, чем две другие. И по сравнению с оценкой F1, точностью и отзывом для каждой модели, KNN все еще лучше. Модель KNN достигает 0,76 AUC и 0,68 среднего балла F1.

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

6. Будущее направление

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

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

7. Ссылки

https://towardsdatascience.com/predicting-crash-severity-for-nz-road-accidents-6214117e73fb

https://medium.com/@somayyeh_gh/seattle-car-accident-severity-f8a06299c460

https://medium.com/@rajivranjansingh_77828/project-for-applied-data-science-capstone-on-coursera-95ba3b39a6ca