Предсказать соседей ячейки в сотовой сети

  1. Бизнес Проблема
  2. Источник данных
  3. Существующие подходы
  4. Сопоставление с проблемой ML
  5. Исследовательский анализ данных
  6. Разработка функций
  7. Применение моделей
  8. Окончательная модель

8.1 Результаты

8.2 Важность функции

9 Производство

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

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

Обновление в списке соседей может потребоваться в

1) Добавление нового сайта в сеть

2) Физические изменения (изменение ориентации) на любом сайте для изменения схемы трафика

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

Предоставляются два источника данных

1) Данные о соседях

2) Сетевые данные

Данные о соседях имеют четыре (4) столбца исходный сайт/ячейка целевой сайт/ячейка.

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

Азимут – это направление ячейки.

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

Обычно в сетях есть команды, которые постоянно проверяют списки соседей.

Многие поставщики в настоящее время предоставляют функции ANR (Auto Neighbor Relation). Однако алгоритмы ANR основаны на измерениях трафика и обычно требуют от трех до пяти дней для сбора измерений и изменения списков соседей. Еще одним недостатком ANR является то, что он требует правильной «оптимизации» сети. Если некоторые ячейки перегружены (обслуживают за пределами расчетной области) или не спланированы наилучшим образом, это может привести к неправильному обновлению списка соседей.

4. Сопоставление с проблемой ML

Из известных данных у нас есть только существующие соседи, которые можно использовать как класс «1». Однако нам нужно сгенерировать собственные данные класса «0». Для этого мы сгенерируем номера кандидатов с определенным расстоянием. Мы можем получить это значение из существующих nbrs, а затем сгенерировать наши данные нулевого класса «0».

Когда у нас есть данные как для «1», так и для «0» класса. Это становится проблемой бинарной классификации.

Поскольку важны как точность, так и отзыв, мы будем использовать результат F1 в качестве эталона.

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

  1. Расстояние: расстояние между двумя nbrs рассчитывается с использованием библиотеки gpxpy. И мы сгенерировали наш «нулевой» класс, используя расстояние 3 км. Это будет включать более 75% соседей.

Как только мы сгенерировали нулевой класс, было отмечено, что ячейки с меньшим расстоянием, скорее всего, будут nbrs.

Количество выборок на класс: сгенерированные данные несбалансированы, так как 81,7% выборок относятся к классу 0.

Количество соседей: в основном ячейки имеют 10~20nbrs.

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

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

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

Угол: направление сайта от текущего сайта. Ячейки с нулевой (0) степенью, скорее всего, будут соседями.

7. Применение моделей

Поскольку наши данные несбалансированы, мы попробуем выполнить выборку для получения лучших результатов. Были использованы следующие модели, и было замечено, что XGBoost с выборкой sklearn up дает наилучший результат.

8. Окончательная модель

Мы будем использовать XGBoost с повышающей выборкой в ​​качестве окончательной модели, а ниже приведены результаты в виде матрицы путаницы.

8.1 Результаты

Как видно на рисунке ниже, у нас есть только 78 баллов, не классифицированных, значение отзыва для класса «1» немного ниже, и его можно обработать.

8.2 Важность функции

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

9. Производство

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