Бизнес-проблема

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

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

Использование глубокого обучения

Использование алгоритма Long Short-Term Memory (LSTM) в наборе данных Telstra может предоставить ценную информацию и прогнозы, связанные с сбоями в работе сети и ее производительностью. LSTM — это тип алгоритма глубокого обучения, специально разработанный для данных последовательности, что делает его подходящим для анализа данных временных рядов, таких как набор данных о нарушениях сети Telstra.

Дальнейшее использование LSTM: -

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

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

Набор данных был собран с Kaggle. Данные можно скачать здесь.

Набор данных содержит несколько таблиц, а не только наборы Train и Test.

Train .csv: тренировочный набор для серьезности ошибки.

test.csv: Набор тестов для серьезности ошибки.

sample_submission.csv: Образец файла отправки в правильном формате.

event_type.csv: типы событий, относящиеся к основному набору данных.

log_feature.csv: функции, извлеченные из файлов журналов.

resource_type.csv: типы ресурсов, относящиеся к основному набору данных.

серьезность_типа.csv: типы серьезности предупреждающих сообщений из журнала.

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

  1. https://www.analyticsvidhya.com/blog/2016/03/complete-solution-top-11-telstra-network-disruptions-kaggle-competition/

Этап предварительной обработки включает в себя преобразование информационных файлов (event_type.csv, resource_type.csv, log_feature.csv) и обработку функции «местоположение» в наборе данных. Цель состоит в том, чтобы создать значимые функции и уменьшить размерность данных, сохраняя при этом важную информацию.

Для достижения этой цели:

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

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

Обрабатывайте дополнительную информацию, учитывая количество вхождений, а не количество в файле log_feature.csv. Создайте разреженные функции для всех уникальных сущностей в файлах resource_type.csv и серьезности_type.csv.

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

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

  1. https://chrisbronner.com/2018/12/12/predicting-severity-of-service-disruptions-in-telstra-network/

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

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

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

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

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

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

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

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

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

Метрика производительности

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

Точность = количество правильных классификаций для метки/общее количество классификаций, для несбалансированных случаев метки с второстепенными данными также будут классифицироваться как метки с основными данными. Таким образом, это приводит к неправильной точности.

Макроусредненная оценка F1 (или макрооценка F1) вычисляется с использованием среднего арифметического (также известного как невзвешенное среднее) всех оценок F1 для каждого класса.

Этот метод одинаково обрабатывает все классы, независимо от их поддержки значений.

Исследовательский анализ данных (EDA)

Загрузка данных:

Первым шагом была загрузка файлов данных в среду анализа. Обычно это связано с использованием таких библиотек, как Pandas в Python, для чтения CSV-файлов и их сохранения в виде фреймов данных.

Исследование исходных данных:

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

Тренировочные и тестовые данные:

Файл train.csv представлял собой обучающий набор для серьезности неисправности, а файл test.csv использовался для оценки. Было важно понять формат и структуру этих файлов, включая уникальные идентификаторы (ID), местоположения и переменную результата серьезности ошибки.

Дополнительные файлы данных:

Остальные файлы данных (тип_события.csv, log_feature.csv, тип_ресурса.csv, тип_серьезности.csv) содержали дополнительную информацию, относящуюся к событиям, функциям журнала, типам ресурсов и типам серьезности. Эти файлы были исследованы, чтобы понять их размеры, уникальные значения и то, как их можно связать с основным набором данных с помощью столбца ID.

Тип события:-

Начальное наблюдение-

  • 18552 уникальных идентификатора (то же самое, что поезд и тест вместе взятые)
  • 53 уникальных события

Выводы:

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

Log_feature:-

  • 18552 уникальных идентификатора (то же самое, что поезд и тест вместе взятые)
  • 386 уникальных событий
  • Дополнительный столбец объема указывает количество, связанное с каждой переменной.

Выводы:

  • Как и в случае с event_type, мы должны объединить эти данные на уровне «id» перед объединением с исходным фреймом данных.
  • Существует 386 уникальных значений, и нам следует подумать о том, какие значения включить в модель.

Тип_ресурса: -

Первоначальное наблюдение: -

  • 18552 уникальных идентификатора (то же самое, что поезд и тест вместе взятые)
  • 10 уникальных событий

Выводы:

  • Как и в случае с event_type, мы должны объединить эти данные на уровне «id» перед объединением с исходным фреймом данных.
  • Здесь меньше уникальных значений

Severity_type:-

Первоначальное наблюдение:

  • 18552 уникальных идентификатора (то же самое, что поезд и тест вместе взятые)
  • 5 уникальных событий

Выводы:

  • Он имеет только 1 значение для каждого идентификатора
  • Мы можем либо сохранить его как единый массив, либо создать фиктивные переменные.

Дисбаланс классов:

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

Разработка функций:

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

Решение для первого разреза

  1. Первоначальный подход к предварительной обработке набора данных Telstra включает объединение различных кадров данных и их передачу в модель LSTM (долговременная кратковременная память). Этот подход фокусируется на базовой технике предварительной обработки для быстрого анализа данных и создания прогнозов с использованием модели LSTM. Вот схема необходимых шагов:
  2. Объединение данных: набор данных Telstra состоит из нескольких файлов данных, таких как event_type.csv, log_feature.csv, resource_type.csv и серьезность_type.csv. Первым шагом является объединение этих разных фреймов данных на основе общего идентификатора, такого как столбец «id», для создания единого консолидированного набора данных. Эта консолидация гарантирует, что вся необходимая информация будет доступна в одном месте для анализа.
  3. Подготовка данных: после объединения данных применяются основные этапы подготовки данных. Это включает в себя обработку отсутствующих значений и выбросов, если таковые имеются, и обеспечение того, чтобы данные были в подходящем формате для модели LSTM. Например, числовые признаки могут нуждаться в нормализации или масштабировании, а категориальные признаки могут нуждаться в кодировании.
  4. Настройка модели LSTM: с объединенным и подготовленным набором данных следующим шагом будет настройка модели LSTM для обучения и прогнозирования. LSTM — это тип рекуррентной нейронной сети (RNN), которая может эффективно моделировать данные последовательности, что делает ее пригодной для анализа временных рядов.
  5. Обучение и проверка модели: набор данных разделен на наборы для обучения и проверки. Модель LSTM обучается на обучающем наборе, который включает в себя входные последовательности и соответствующие целевые метки (в данном случае серьезность ошибки). Модель изучает закономерности и отношения в данных, чтобы делать прогнозы. Набор проверки используется для оценки производительности модели и тонкой настройки гиперпараметров, если это необходимо.
  6. Прогнозирование и оценка: после обучения модели LSTM ее можно использовать для прогнозирования новых, невидимых данных. Модель принимает входные последовательности в качестве входных данных и генерирует прогнозы серьезности неисправности. Эти прогнозы можно оценить с помощью соответствующих показателей, таких как точность или оценка F1, для оценки производительности модели.
  7. Важно отметить, что этот первоначальный подход фокусируется на базовой технике предварительной обработки путем слияния кадров данных и использования модели LSTM. Хотя этот подход обеспечивает отправную точку для анализа и прогнозирования, можно изучить более продвинутые методы предварительной обработки и оптимизации модели, чтобы потенциально улучшить производительность прогнозной модели.

Примеры кодов

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

Код для модели

Модели Пояснение

Оценка F1, оценка точности и оценка отзыва дают представление о производительности модели LSTM на основе заданного вывода.

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

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

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

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

Проблемы, с которыми столкнулись / уроки

Природа и поведение проблем с высокой оперативной памятью

Проблемы несбалансированных данных

Передискретизация несбалансированных данных

При использовании Google Colab ограничения на использование оперативной памяти (очистка переменных, которые не нужны позже в процессе) и методы мониторинга использования оперативной памяти.

Классификация с использованием моделей глубокого обучения