BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по MLOps и Data Science (ML, AI) » Обнаружение выбросов с помощью Python

Обнаружение выбросов с помощью Python

Обнаружение выбросов в машинном обучении с помощью проверки гипотез.

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

Проще говоря, обнаружение выброса – это наблюдение, которое выбивается из общей картины в выборке и расходится с ней.

 

Что такое выброс?

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

 

Данные без выбросов

Данные с выбросами

Данные

1, 2, 3, 3, 4, 5, 4

1, 2, 3, 3, 4, 5, 400

Среднее

3.142

59.714

Медиана

3

3

Стандартное отклонение

1.345185

150.057

 

 

 

 

Как видите, набор данных с выбросами имеет существенно отличающееся среднее значение и стандартное отклонение. В первом сценарии мы скажем, что среднее значение составляет 3,14. Но с выбросом среднее значение достигнет 59,71. Это полностью изменило бы оценку.

Возьмем конкретный пример выброса. В компании из 50 сотрудников 45 человек с ежемесячной зарплатой 6,000 рупий, 5 опытных специалистов с ежемесячной зарплатой 100,000 рупий каждый. Если посчитать среднее значение, то среднемесячная зарплата сотрудников компании составляет 14,500 рупий, и это даст нам искривленную общую картину.

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

А теперь давайте кратко рассмотрим основные причины выбросов, прежде чем приступить к задаче обнаружения выбросов:

  1. Ошибки ввода данных: человеческие ошибки, например, ошибки, вызванные во время сбора, записи или ввода данных, могут вызвать выбросы в данных.
  2. Ошибки измерения: самый частый источник выбросов. Это происходит, когда используемый измерительный прибор оказывается неисправным.
  3. Естественные выбросы: когда выброс не является искусственным (из-за ошибки), он является естественным. К этой категории относится большинство реальных данных.

 

Обнаружение выбросов в машинном обучении с помощью проверки гипотез

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

Выбросы могут быть двух типов: одномерные и многомерные. Выше мы обсуждали пример с одномерным выбросом. Эти выбросы можно найти, когда мы посмотрим на распределение одной переменной. Многомерные выбросы – это выбросы в n-мерном пространстве.

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

Цель проверки гипотезы – определить вероятность того, что параметр совокупности, такой как среднее значение, вероятно, будет истинным. Проверка гипотез состоит из четырех этапов:

  1. Формулировка предположения.
  2. Определение критериев для принятия решения.
  3. Расчет статистики теста.
  4. Принятие решения.

 

Теперь давайте посмотрим, как использовать язык программирования Python для реализации проверки гипотез для задачи обнаружения выбросов в машинном обучении:

 

import numpy as np
import scipy.stats as stats
x = np.array([12,13,14,19,21,23])
y = np.array([12,13,14,19,21,23,45])
def grubbs_test(x):
    n = len(x)
    mean_x = np.mean(x)
    sd_x = np.std(x)
    numerator = max(abs(x-mean_x))
    g_calculated = numerator/sd_x
    print("Grubbs Calculated Value:",g_calculated)
    t_value = stats.t.ppf(1 - 0.05 / (2 * n), n - 2)
    g_critical = ((n - 1) * np.sqrt(np.square(t_value))) / (np.sqrt(n) * np.sqrt(n - 2 + np.square(t_value)))
    print("Grubbs Critical Value:",g_critical)
    if g_critical > g_calculated:
        print("From grubbs_test we observe that calculated value is lesser than critical value, Accept null hypothesis and conclude that there is no outliers\n")
    else:
        print("From grubbs_test we observe that calculated value is greater than critical value, Reject null hypothesis and conclude that there is an outliers\n")
grubbs_test(x)
grubbs_test(y)

 

Результат:

Вычисленное значение Grubbs: 1.4274928542926593

Критическое значение Grubbs: 1.887145117792422

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

 

Вычисленное значение Grubbs: 2.2765147221587774

Критическое значение Grubbs: 2,019968507680656

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

 

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

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

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
SMOTE для устранения дисбаланса классов с Python
Следующая статья →
Контентная фильтрация в машинном обучении

 

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

Подробнее об AI-решениях

 

Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • KERAMA MARAZZI — международный бренд, входящий в число лидеров глобального рынка керамики. Бизнес компании охватывает весь процесс создания керамических изделий, от глиняных карьеров до фирменной розницы во всех крупных городах РФ и за рубежом.

  • СберКорус (Группа компаний Сбербанка) – это ИТ‑компания, ИТ‑интегратор, SaaS-провайдер. Является разработчиком цифровых сервисов и услуг для автоматизации широкого диапазона бизнес-процессов юридических лиц. В 2004 году компания стала первым в России оператором электронного документооборота, а в 2012 году вошла в экосистему Сбера. 

  • Банк "Санкт-Петербург" - это универсальный коммерческий банк, предоставляющий полный спектр финансовых услуг для частных и корпоративных клиентов. Банк основан в 1990 году и имеет генеральную лицензию Банка России на осуществление банковских операций. Сеть банка включает более 170 офисов и отделений, а также свыше 1000 банкоматов и терминалов в Санкт-Петербурге, Москве и других регионах.

  • Группа компаний «Невский кондитер» основана в 1996 году в Санкт-Петербурге и на сегодняшний день является одним из крупнейших производителей кондитерских изделий в России.

     

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.