Пример использования проблемы Kaggle

Обзор тематического исследования:

Шаг 1. Объяснение проблемы, которое включает подробности об источнике, постановке проблемы, объяснении соответствующих терминов и о том, как проблему можно рассматривать как бизнес-проблему.

шаг 2: преобразование бизнес-задачи в проблему машинного обучения. подробные сведения о существующих показателях производительности, предыдущих решениях, подходах и улучшениях.

Шаг 3: Завершите исследовательский анализ данных.

Шаг 4: Разработка функций с использованием различных методов.

Шаг 5. Испытание различных моделей машинного обучения, выбор лучшей модели и прогнозирование на основе тестового набора данных.

Шаг 6: Дальнейшие работы, которые могут быть выполнены для улучшения метрики производительности

Шаг 7: Ссылки

1. проблема бизнеса / реального мира:

1.1 Источник:

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

Источник: https://www.kaggle.com/c/vsb-power-line-fault-detection/overview

Данные: Энет Центр, VSB - T.U. Остравы

1.2 Что такое частичная разрядка?

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

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

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

1.3 Постановка проблемы

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

1.3. Реальные / бизнес-цели и ограничения.

1. Минимизируйте ошибку двоичного класса
2. Оценки вероятности
3. Нет ограничений по времени, поскольку неполадки частичного разряда наносят ущерб с течением времени, а не сразу, поэтому ограничение может быть в часах
4. Обнаружение частичная разрядка на ранней стадии может быть финансово полезной

2. Проблема машинного обучения

2.1. Обзор данных

  • Источник: https: //www.kaggle.com/c/vsb-power-line-fault-detection/data

Всего дано 4 файла, в которых 2 соответствуют данным поезда, а остальные соответствуют тестовым данным
1. Файл, содержащий данные сигнала
2. Файл, содержащий метаданные

Каждый сигнал содержит 800000 точек, всего на обучение было дано 8712 сигналов, а на тестирование - 20337 сигналов в виде паркетных данных.

Метаданные состоят из фазы сигнала и целевой метки
0 - если частичный разряд отсутствует
1 - если присутствует частичный разряд

2.2. Сопоставление реальной проблемы с проблемой машинного обучения

2.2.1. Тип задачи машинного обучения

Существует 2 различных класса вредоносных программ, которые нам нужны для классификации заданной точки данных = ›Проблема классификации двоичных классов

2.2.2. Показатель эффективности

Источник: https://www.kaggle.com/c/vsb-power-line-fault-detection/overview/evaluation

Показатели:
* Коэффициент корреляции Мэтьюза (MCC)
* Матрица неточностей

2.2.3. Цели и ограничения машинного обучения

Цель: спрогнозировать вероятность принадлежности каждой точки данных к каждому из 2 классов.

Ограничения:

* Требуются вероятности классов. * Наказывать ошибки в вероятностях класса = ›Метрика - это коэффициент корреляции Мэтьюса.
* Некоторые ограничения задержки.

2.3.1. Существующие подходы

В большинстве записных книжек, представленных в https://www.kaggle.com/c/vsb-power-line-fault-detection/notebooks, использовались методы глубокого обучения.

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

Некоторые подходы использовали методы шумоподавления сигналов, такие как DWT (дискретное вейвлет-преобразование), а некоторые другие решения основывались на поиске пиков в данных сигнала, а затем модели были построены с использованием методов глубокого обучения.

2.3.2. Улучшения

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

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

3.1.1. Изучение метаданных

8712 строк
Состоит из 4 столбцов:
signal_id - может использоваться как ключ для объединения данных цели и сигнала
id_measurement - разные фазы, принадлежащие одному и тому же сигналу, имеют одинаковый идентификатор
фаза - Каждый сигнал состоит из 3 фаз
цель - есть частичный разряд или нет

3.1.2. Фаза исследования и цель

Можно заметить, что данные сильно несбалансированы.

Давайте попробуем взглянуть на каждую фазу

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

3.2. Анализ данных сигнала

Давайте посмотрим на приведенные данные.

Для анализа я импортировал данные только по 9 сигналам.

Можно заметить, что каждый сигнал состоит из 800000 точек, и номер столбца здесь соответствует идентификатору сигнала в метаданных.

давайте посмотрим одну фазу трехфазного сигнала

Мы можем видеть, что сигнал колеблется со средним значением приблизительно 0. Можно также сказать, что значения сигнала лежат в диапазоне [-39,33], поскольку они являются минимальным и максимальным значениями.

давайте изобразим вышеупомянутый сигнал

50% точек меньше -1, а среднее -0,9.
Некоторые значения аномально высокие, а некоторые - аномально низкие.

Построение всех трех фаз сигнала

фаза 0 начинается с 20, фаза 1 начинается с 0, фаза 2 начинается с -20. Таким образом, можно видеть, что фаза 0 и фаза 1 имеют разность фаз 90, фаза 0 и фаза 2 имеют разность фаз 180, фаза 2 и фаза 1 имеют разность фаз 90.

Построение средних значений сигналов с положительными целевыми значениями и сигналов с отрицательными целевыми значениями

Я разделил сигналы с положительными целевыми значениями и взял среднее значение трех фаз по отдельности, что показано ниже. Аналогично и для сигналов с отрицательными целевыми значениями.

наблюдения за вышеуказанными 2 участками

Теперь можно найти большую разницу между сигналами с частичным разрядом (цель = 1) и сигналами без (цель = 0). Можно наблюдать следующее:
1. В случае целевого значения 0 (без частичного разряда) значения лежат в интервале 0,2 или 0,3, но в случае целевого значения 1 значения лежат в интервале приблизительно 1,5.
2. На первом графике сигналы с разными фазами разделены на определенное расстояние, но на втором графике сигналы с разными фазами почти перекрываются.
Указанные выше 2 различия могут быть добавлены в качестве признаков для нашей модели

Глядя на графики KDE статистических характеристик наших данных сигнала по отношению к целевому значению.

красный: цель 0, синий: цель 1

Иметь в виду:

Если среднее значение сигнала меньше -2 или больше 0,5, более вероятно, что нет частичного разряда.

Среднеквадратичное отклонение:

Более вероятно, что std больше 15, если нет частичного разряда. Как по среднему, так и по стандартному значению можно сказать, что сигнал распространяется сильнее, если нет частичного разряда.

Минимум сигнала:

если минимум сигнала больше -50, вероятность частичного разряда больше.

Максимум сигнала:

Если максимум сигнала меньше 50, вероятность частичного разряда больше.

Полоса пропускания сигнала (среднее стандартное отклонение):

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

Ссылка: https://www.kaggle.com/junkoda/handmade-features

3.3.1. Спектры сигнала:

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

Интервал пика:

Затем, в пределах 800 фрагментов спектров, интервал пиков шириной = 150, который содержит максимальное отклонение в максимальном среднем спектре.

фрагмент кода взят из: https://www.kaggle.com/junkoda/handmade-features

  1. Из рассчитанного выше пикового интервала мы извлекаем такие характеристики, как среднее и максимальное.
  2. Вместо того, чтобы рассматривать каждую фазу по отдельности, мы объединяем все 3 фазы сигнала.

3.3.2. Быстрое преобразование Фурье:

ссылка на обработку сигналов: http://ataspinar.com/2018/04/04/machine-learning-with-signal-processing-techniques/

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

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

3.3.3. Спектральная плотность мощности:

Подобно fft, но также учитывает распределение мощности на каждой частоте.

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

мы извлекаем указанные выше функции из нашего набора данных о поездах вместе с некоторыми статистическими функциями.

мы объединяем фазы, беря среднее значение функций, которые мы вычисляем по каждой фазе.

Из характеристик Фурье мы рассматриваем только 10 верхних пиков, и аналогично из характеристик PSD мы рассматриваем только 10 верхних пиков.

После извлечения всех характеристик из данных поезда мы получаем массив элементов формы (2904, 76), а извлекая из тестовых данных - массив форм (6779,76).

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

4. Моделирование

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

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

Результат вычисления среднего балла MCC для вышеуказанных 5 моделей составляет 0,668 ± 0,031.

4.2. Классификатор случайного леса:

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

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

мы можем использовать лучшую модель и использовать stratifiedKfold для расчета среднего балла MCC, который составляет 0,701 ± 0,028.

Затем мы можем использовать модели повышения, такие как классификатор catboost и классификатор LightGBM, чтобы улучшить оценку MCC.

4.3. Классификатор LightGBM:

Как и выше для классификатора случайных лесов, мы повторяем тот же процесс. Сначала мы выполняем Randomsearchcv и находим лучшие гиперпараметры.

Мы находим лучшую модель, которая

Если мы воспользуемся вышеприведенной моделью, мы получим средний балл MCC 0,714 ± 0,070.

4.4. Классификатор Catboost:

Применение Randomsearchcv для поиска лучших гиперпараметров.

Наилучшие найденные параметры:

{«Глубина»: 9, «итераций»: 400, «l2_leaf_reg»: 4, «скорость обучения»: 0,01}

Используя эти параметры, мы можем обучить нашу модель. После обучения мы получаем средний балл MCC 0,724 ± 0,056 по набору перекрестной проверки.

Это наивысший результат перекрестной проверки MCC, который мы получили на данный момент:

4.4. Сравнение всех 4-х моделей:

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

4.5 Прогноз на тестовом наборе данных

Мы повторяем целевое значение 3 раза для каждого сигнала, так как есть 3 фазы. Затем мы можем создать фрейм данных и отправить результаты.

4.6 Результат:

Я получил частную оценку 0,641 и публичную оценку 0,63813

5. Будущие работы

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

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

Поскольку это похоже на аудиоданные, мы также можем попробовать такие методы, как MFCC (коэффициенты мелкого частотного кепстра).

Для улучшения оценки также могут быть рассчитаны различные типы функций из массива пиков, такие как среднее, максимальное, процентили, пиковое_count, sawtooth_rmse_mean и https://www.kaggle.com/junkoda/handmade-features.com.

6. Ссылки

Http://ataspinar.com/2018/04/04/machine-learning-with-signal-processing-techniques/

Https://www.kaggle.com/junkoda/handmade-features

Https://www.kaggle.com/braquino/5-fold-lstm-attention-fully-commented-0-694



Https://www.appliedaicourse.com/

Код для вышеупомянутого тематического исследования можно найти по адресу:

Https://github.com/JoyMichael7842/VSB-Power-Line-Fault-Detection

Профиль Linkedin:

Https://www.linkedin.com/in/joy-michael/