
Оглавление
- Обзор
- Бизнес-проблема
- Анализ набора данных
- Сопоставление проблемы реального мира с проблемой машинного обучения
- Показатель производительности
- Исследовательский анализ данных
- Функциональная инженерия
- Предварительная обработка данных
- Моделирование
- Будущие улучшения
- Результат
- использованная литература
Это был конкурс Kaggle, который организовывает компания Booz Allen Hamilton на Kaggle. Booz Allen Hamilton занимается решением для бизнеса, правительства и военных более 100 лет. Конкуренция заключается в снижении количества летальных исходов в авиации, мы должны прогнозировать состояние пилота на основе заданных физиологических данных во время соревнований. Итак, приступим к изучению проблемы!
Обзор
Большинство летальных исходов погибло из-за потери осведомленности самолета. Безопасность - это одна из самых важных задач для современных путешественников. В результате авиакатастрофы погибло несколько человек. Итак, наша задача - построить модель для обнаружения тревожных событий на основе физиологических данных экипажа.
К наиболее частым причинам этих авиационных происшествий относятся:
- Ошибка пилота
- Механическая ошибка
- Проблемы с взлетно-посадочной полосой
- Отказ воздушного движения
- Климатические проблемы
В этой проблеме мы в основном сосредотачиваемся на первой причине, то есть авиационных происшествиях, вызванных ошибкой пилота, как ее уменьшить.
Бизнес-проблема
Авиаперелет - один из важных способов путешествия. Поэтому безопасность пассажиров в первую очередь думает большинство авиакомпаний. В рамках этого пилоты прошли серьезную подготовку, чтобы справляться с различными ситуациями, важная способность, которую пилот должен развивать, - способность многозадачности.
Большинство летальных исходов или авиационных происшествий из-за ошибки пилота происходит из-за потери информации о состоянии самолета. Осведомленность о состоянии самолета (ASA) - это характеристика характеристик пилота, при которой пилот должен иметь возможность осознавать любое изменение состояния самолета и быстро реагировать на него. Потеря информации о состоянии самолета может привести к множеству опасных ситуаций и может привести к потере управления самолетом. Потеря ASA в основном связана с потерей внимания пилотов, которые могут быть отвлечены, сонливы или находятся в других опасных когнитивных состояниях. Из-за стрессовой обстановки во время полета вероятность потери сознания является обычным явлением.
В этом наборе данных вам предоставлены реальные физиологические данные восемнадцати пилотов, которые подверглись различным отвлекающим событиям. Набор эталонных тренировок состоит из набора контролируемых экспериментов, собранных в неполетной среде, за пределами летного тренажера. Набор тестов (сокращенно LOFT = Line Oriented Flight Training) состоит из полного полета (взлет, полет и посадка) в имитаторе полета.
Пилоты отвлекались, чтобы вызвать одно из следующих трех когнитивных состояний:
- Канализированное внимание (CA) - это, грубо говоря, состояние сосредоточенности на одной задаче, исключая все остальные. Это достигается при тестировании, когда испытуемые играют в увлекательную видеоигру, основанную на головоломке.
- Отвлеченное внимание (DA) - это состояние, при котором внимание человека отвлекается на действия или мыслительные процессы, связанные с принятием решения. Это вызвано тем, что субъекты выполняют задачу мониторинга дисплея. Периодически возникала математическая задача, которую нужно было решить, прежде чем вернуться к задаче мониторинга.
- Испуг / удивление (SS) вызывается тем, что испытуемые смотрят видеоклипы со страхом от прыжка.
Цель состоит в том, чтобы построить модель, которая может оценить душевное состояние пилота в режиме реального времени, используя предоставленные физиологические данные. Когда пилот входит в любое из вышеупомянутых опасных когнитивных состояний, он / она должен быть предупрежден, тем самым предотвращая любую возможную аварию.
Анализ набора данных
Набор данных предоставляется в файлах csv (как обучающий, так и тестовый набор данных).
Теперь давайте проанализируем каждый атрибут в наборе данных.
Основными датчиками, используемыми для сбора физиологических данных, являются ЭЭГ, ЭКГ, дыхание, кожно-гальванический ответ.
id- (только test.csv и sample_submission.csv) Уникальный идентификатор для комбинации команды + время. Вы должны предсказать вероятности для каждогоid.crew- уникальный id пары пилотов. В данных 9 экипажей.experiment- один изCA,DA,SSилиLOFT. Первые 3 составляют обучающую выборку. Последний - набор тестов (обучающие данные состоят из трех экспериментов: CA, DA и SS. Результатом является одна из четырех меток: Baseline (нет события), CA, DA или SS. Например, если эксперимент - CA, выходные данные - CA или Baseline (нет события). Данные испытаний взяты из полного имитатора полета. Здесь эксперимент называется LOFT или Line Oriented Flight Training, где обучение пилота проводится в имитаторе полета. , который искусственно создает среду реального полета. В тестовых данных эксперимент представлен как LOFT, и выход может быть одним из четырех состояний в данный момент времени.)time- секунд после начала экспериментаseat- пилот на левом (0) или правом (1) креслеeeg_fp1 ,eeg_f7 ,eeg_f8 ,eeg_t4 ,eeg_t6 ,eeg_t5 ,eeg_t3 ,eeg_fp2 ,eeg_o1 ,eeg_p3 ,eeg_pz ,eeg_f3 ,eeg_fz ,eeg_f4 ,eeg_c4 ,eeg_p4 ,eeg_poz eeg_c3 ,eeg_cz ,eeg_o2ecg- 3-точечный сигнал электрокардиограммы. Датчик имел разрешение / бит 0,012215 мкВ и диапазон от -100 мВ до + 100 мВ. Данные представлены в микровольтах.r- Дыхание, мера подъема и опускания груди. Датчик имел разрешение / бит 0,2384186 мкВ и диапазон от -2,0 В до + 2,0 В. Данные представлены в микровольтах.gsr- Кожно-гальваническая реакция, мера электродермальной активности. Датчик имел разрешение / бит 0,2384186 мкВ и диапазон от -2,0 В до + 2,0 В. Данные представлены в микровольтах.event- Состояние пилота в данный момент: одно из A = baseline, B = SS, C = CA, D = DA
Сопоставление проблемы реального мира с проблемой машинного обучения
Это проблема мультиклассовой классификации (A, B, C, D). Для каждого идентификатора нам нужно предсказать состояние пилота как принадлежащего к одному из четырех заданных классов.
Показатель производительности
Проблема, с которой мы работаем, - это задача мультиклассовой классификации, в которой количество классов равно 4.
- Матрица оценки, используемая в этом соревновании, - это многоклассовые потери журнала.

где N - общее количество точек данных, M - количество классов.
yij равен 1, если прогнозируется, что точка данных i относится к классу j, и 0 в противном случае.
pij - вероятность того, что точка данных i принадлежит классу j
Исследовательский анализ данных (EDA)

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

Из графика мы можем понять, что данные поезда несбалансированы.
Время


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


- Из прямоугольной диаграммы видно, что данные ЭКГ имеют некоторые выбросы. Но мы не можем просто удалить их, потому что эти экстремальные значения могут быть полезны при прогнозировании события. Когда значение ЭКГ высокое (более 10000 микровольт), пилот с большей вероятностью войдет в состояние DA. Точно так же, когда значение слишком отрицательное, пилот, вероятно, находится в состоянии CA.
- Из PDF-файла ЭКГ мы видим, что диапазон значений ЭКГ находится в диапазоне от -20 кОм до +35 кВ (приблизительно). Мы можем видеть, что существует очень мало значений в диапазоне от 20 до 25 кВ по сравнению с другими значениями мкВ на ЭКГ.
GSR (кожно-гальваническая реакция)


- PDF GSR имеет диапазон примерно от 0 до 2000 мкВ.
- GSR играет определенную роль в определении события. Например, если значение gsr слишком велико, пилот, скорее всего, находится в состоянии SS. Также, если выходной сигнал датчика очень низкий, пилот, вероятно, находится в состоянии DA.
Дыхание


- То же самое мы видим для pdf сигнала дыхания, и диапазон сигнала дыхания обычно составляет от 400 до 850.
- Этот выходной сигнал датчика вовсе не разделяет события. Это может быть из-за шума в данных
ЭЭГ (электроэнцефалограмма)


- Мы также можем наблюдать, что в основном все события лежат в одном и том же диапазоне, поэтому мы не можем просто установить какое-то значение в качестве порога и использовать его для классификации событий.
- Из коробчатой диаграммы большинство функций сильно пересекаются
- Выше видно, что данные EEG для обучения и тестирования соответствуют нормальному распределению, но тестовые данные имеют больший пик при нуле (0) и большую дисперсию в тестовых данных.
Функциональная инженерия
Теперь давайте извлечем некоторые функции из существующих.
Получение информации о сердечных сокращениях по ЭКГ
В данном наборе данных ЭКГ записывается в микровольтах. Если мы можем извлечь частоту сердечных сокращений из этих данных ЭКГ, это должно быть для моделирования. Для этой цели Python предоставляет мощный инструмент под названием Biosppy, который может обрабатывать биосигналы.

- Частота пульса на выходе модуля биосппи имеет определенные временные интервалы. Частота пульса, соответствующая всем отметкам времени в нашем наборе данных, недоступна. Итак, нам нужно узнать эти значения. Для этого используется Интерполяция.
Получение информации о частоте дыхания по респ ирации (‘r’)
Это подъем и опускание груди. Он представляет мышечную активность живота и диафрагмы. поэтому, когда человек находится в состоянии стресса, частота дыхания (частота дыхания) будет высокой. Для получения частоты дыхания мы используем тот же модуль биосппи.

Здесь также нам нужно использовать метод интерполяции, чтобы получить частоту дыхания во всех временных метках.
Получение частотных диапазонов из данных ЭЭГ
Электроэнцефалограмма (ЭЭГ) - это запись электрической активности головного мозга на коже черепа. Записанные формы волны отражают электрическую активность коры головного мозга.
Интенсивность сигнала: активность ЭЭГ довольно мала, измеряется в микровольтах (мВ).
Частота сигнала: основными частотами волн ЭЭГ человека являются:
- Дельта: частота ниже 3 Гц. Обычно это самые высокие по амплитуде и самые медленные волны. Это нормально, поскольку является доминирующим ритмом у младенцев до одного года и на 3-й и 4-й стадиях сна. Это может происходить локально с подкорковыми поражениями и в общем случае с диффузными поражениями, метаболической энцефалопатией, гидроцефалией или глубокими поражениями средней линии. Обычно он наиболее выражен спереди у взрослых (например, FIRDA - Frontal Intermittent Rhythmic Delta) и сзади у детей, например. OIRDA - затылочная прерывистая ритмическая дельта).
- Тета: имеет частоту от 4 до 8 Гц и классифицируется как «медленная» активность. Это совершенно нормально для детей до 13 лет и во сне, но ненормально для бодрствующих взрослых. Его можно рассматривать как проявление очаговых подкорковых поражений; его также можно увидеть в генерализованном распределении при диффузных расстройствах, таких как метаболическая энцефалопатия или некоторые случаи гидроцефалии.
- Альфа: частота от 8 до 13 Гц. Обычно лучше всего виден в задних отделах головы с каждой стороны, а на доминирующей стороне амплитуда выше. Он появляется при закрытии глаз и расслаблении и исчезает при открытии глаз или предупреждении каким-либо механизмом (мышлением, расчетом). Это основной ритм, наблюдаемый у нормальных расслабленных взрослых. Он присутствует в течение большей части жизни, особенно после тринадцатого года.
- Бета: бета-активность - это «быстрая» активность. Имеет частоту 14 и более Гц. Обычно он симметрично расположен с обеих сторон и наиболее заметен спереди. Он усиливается седативно-снотворными препаратами, особенно бензодиазепинами и барбитуратами. На участках коркового поражения он может отсутствовать или уменьшаться. Обычно это считается нормальным ритмом. Это доминирующий ритм у пациентов, которые бдительны, тревожны или с открытыми глазами.
- Гамма (›25 Гц): высокое значение указывает на тревогу, сильное возбуждение, стресс и т. д. Очень низкое значение указывает на СДВГ, депрессию, неспособность к обучению и т. д.


Здесь также используется модуль biosppy и интерполяция.
Получение разности потенциалов от электродов
В этом эксперименте они использовали 20 электродов, подходящих к человеческому мозгу. Существуют различные формы (монтажы) для размещения электрода в головном мозге. Разность потенциалов между двумя электродами дает умственную активность в этой области.

Существуют разные системы монтажа, но обычно используемая система монтажа является второй на рисунке выше.

Матрица корреляции: удаление неважных функций из набора данных
На заключительном этапе этапа разработки функций я обнаружил функции матрицы корреляции с событиями. Из корреляционной матрицы найдите это.
- Влияние экипажа и ЭКГ на прогнозирование события велико.
- Место для функции меньше связано с событием, поэтому мы можем удалить эту функцию.
- Потенциальные различия оказывают большее влияние на прогнозирование событий по сравнению с простыми данными электрода ЭЭГ.
- Тета-функция оказывает значительное влияние на события. Корреляция значительная. Так что эта функция будет полезна при прогнозировании события.
- Альфа-диапазоны низких частот, полученные из этого eeg, имеют большее влияние на определение событий.
- Полосы бета-частот, полученные из этого eeg, оказали некоторое влияние на определение событий. Но корреляция не очень высокая. Его эффект может быть аналогичен эффекту данных электрода 20 eeg при определении событий.
Прежде всего, мы удаляем неважные функции, такие как «место», «эксперимент» (мы хотим предсказать событие, не зная об эксперименте). После этого мы удаляем производные функции, такие как диапазоны частот «бета» и «гамма», поскольку они меньше коррелируют с событием, поэтому мы удаляем и эти функции.
Предварительная обработка
Здесь я выполнил стандартизацию преобразования числовых функций. Для этого использовали StandardScaler.
Моделирование
На первом этапе моделирования просто подберите случайную модель и запишите потери журнала после тренировки данных, используя линейную модель, такую как логистическая регрессия. Я получил значительное сокращение потерь журнала по сравнению со случайной моделью. Поскольку набор данных содержит около 105 объектов, ожидается, что модели ансамблей будут работать лучше. Итак, я обучил данные с помощью LightGBM.

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

Вы можете найти мое полное решение в моем Github Repositor y, и если у вас есть какие-либо предложения, свяжитесь со мной через Linkedin