Что значит нормировать данные

Что значит нормировать данные

Нормализация данных – это одна из операций преобразования признаков (Feature Transformation), которая выполняется при их генерации (Feature Engineering) на этапе подготовки данных (Data Preparation). В этой статье мы расскажем, почему необходимо нормализовать значения переменных перед тем, как запустить моделирование для интеллектуального анализа данных (Data Mining).

Что такое нормализация данных и чем она отличается от нормировки и нормирования

В случае машинного обучения (Machine Learning), нормализация – это процедура предобработки входной информации (обучающих, тестовых и валидационных выборок, а также реальных данных), при которой значения признаков во входном векторе приводятся к некоторому заданному диапазону, например, [0…1] или [-1…1] [1].

Следует отличать понятия нормализации, нормировки и нормирования.

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

Нормировка данных требуется, когда несовместимость единиц измерений переменных может отразиться на результатах и рекомендуется, когда итоговые отчеты могут быть улучшены, если выразить результаты в определенных понятных/совместимых единицах. Например, время реакции, записанное в миллисекундах, легче интерпретировать, чем число тактов процессора, в которых были получены данные эксперимента [2].

Нормирование – это процесс установления предельно допустимых или оптимальных нормативных значений в прикладных сферах деятельности, например, нормирование труда. Как правило, нормы разрабатываются по результатам исследовательских, проектных или научных работ, а также на основе экспертных оценок [3].

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данныеНормализация, нормировка и нормирование – это разные понятия

Зачем нормализовать датасет для Data Mining и Machine Learning

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

Будучи разными по физическому смыслу, данные сильно различаются между собой по абсолютным величинам [4]. Работа аналитических моделей машинного обучения (нейронных сетей, карт Кохонена и т.д.) с такими показателями окажется некорректной: дисбаланс между значениями признаков может вызвать неустойчивость работы модели, ухудшить результаты обучения и замедлить процесс моделирования. В частности, параметрические методы машинного обучения (нейронные сети, растущие деревья) обычно требуют симметричного и унимодального распределения данных. Популярный метод ближайших соседей, часто используемый в задачах классификации и иногда в регрессионном анализе, также чувствителен к диапазону изменений входных переменных [5].

После нормализации все числовые значения входных признаков будут приведены к одинаковой области их изменения – некоторому узкому диапазону. Это позволит свести их вместе в одной модели Machine Learning [4] и обеспечит корректную работу вычислительных алгоритмов [1].

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данныеНормализованные данные в диапазоне [0..1]

Практическим приемам Feature Transformation посвящена наша следующая статья, где мы рассказываем, как именно выполняется нормализация данных: формулы, методы и средства. Все эти и другие вопросы Data Preparation рассматриваются в нашем новом курсе обучения для аналитиков Big Data: подготовка данных для Data Mining. Оставайтесь с нами!

Источник

Умная нормализация данных

Эта статья появилась по нескольким причинам.

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

Во-вторых, имеет место «слепое» использование, например, стандартизации для наборов с большим количеством признаков — “чтобы для всех одинаково”. Особенно у новичков (сам был таким же). На первый взгляд ничего страшного. Но при детальном рассмотрении может выясниться, что какие-то признаки были неосознанно поставлены в привилегированное положение и стали влиять на результат значительно сильнее, чем должны.

И, в-третьих, мне всегда хотелось получить универсальный метод учитывающий проблемные места.

Повторение — мать учения

Нормализация — это преобразование данных к неким безразмерным единицам. Иногда — в рамках заданного диапазона, например, [0..1] или [-1..1]. Иногда — с какими-то заданным свойством, как, например, стандартным отклонением равным 1.

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

Аналитически любая нормализация сводится к формуле

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

где Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные— текущее значение,
Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные— величина смещения значений,
Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные— величина интервала, который будет преобразован к “единице”

По сути всё сводится к тому, что исходный набор значений сперва смещается, а потом масштабируется.

Минимакс (MinMax). Цель — преобразовать исходный набор в диапазон [0..1]. Для него:
Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные= Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные, минимальное значение исходных данных.
Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные= Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данныеЧто значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные, т.е. за “единичный” интервал берется исходный диапазон значений.

Стандартизация. Цель — преобразовать исходный набор в новый со средним значением равным 0 и стандартным отклонением равным 1.
Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные= Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные, среднее значение исходных данных.
Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные— равен стандартному отклонению исходного набора.

Для других методов всё аналогично, но со своими особенностями.

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

Представим, что у Вас есть какой-то набор данных с несколькими признаками. Признаки отличаются и по типу распределения, и по диапазону. Чтобы можно было с ними работать, сравнивать, их нужно нормализовать. Причём так, чтобы ни у какого из них не было преимуществ перед другими. По крайней мере, по умолчанию — любые такие предпочтения Вы должны задавать сами и осознанно. Не должно быть ситуации, когда алгоритм втайне от Вас сделал, например, цвет глаз менее важным, чем размер ушей*

* нужно сделать небольшое примечание — здесь речь идёт не о важности признака для, например, результата классификации (это определяется на основе самих данных при обучении модели), а о том, чтобы до начала обучения все признаки были равны по своему возможному влиянию.

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

Шаг 1 — определяем смещение

Чаще всего данные центрируют — т.е. определяют, значение, которое станет новым 0 и “сдвигают” данные относительно него.

Что лучше взять за центр? Некоего «типичного представителя» Ваших данных. Так при использовании стандартизации используется среднее арифметическое значение.

Здесь проявляется проблема № 1 — различные типы распределений не позволяют применять к ним методы, созданные для нормального распределения.

Если Вы спросите любого специалиста по статистике, какое значение лучше всего показывает “типичного представителя” совокупности, то он скажет, что это — медиана, а не среднее арифметическое. Последнее хорошо работает только в случае нормального распределения и совпадает с медианой (алгоритм стандартизации вообще оптимален именно для нормального распределения). А у Вас распределения разных признаков могут (и скорее всего будут) кардинально разные.

Вот, например, различия между медианой и средним арифметическим значением для экспоненциального распределения.

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

А вот так выглядят эти различия при добавлении выброса:

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

В отличии от среднего значения медиана практически не чувствительна к выбросам и асимметрии распределения. Поэтому её оптимально использовать как “нулевое” значение при центрировании.

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

Шаг 2 — масштабируем

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

Степень возможного влияния признаков определяется величиной их диапазонов после масштабирования. Если оба признака распределены в одинаковых интервалах, например, [-1..1], то и влиять они могут одинаково. Если же изначально один из признаков лежит в диапазоне [-1..1], а второй — в [-1..100], то очевидно, что изменения второго могут оказывать существенно большее влияние. А значит он будет в привилегированном положении по сравнению с первым.

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

Вернёмся к примеру стандартизации. В её случае новый диапазон определяется величиной стандартного отклонения. Чем оно меньше, тем диапазон станет “шире”.

Посмотрим на гипотетические распределения различных признаков с одинаковыми начальными диапазонами (так будет нагляднее):

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Для второго признака (бимодальное распределение) стандартное отклонение будет больше, чем у первого.

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

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

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Итог — стандартное отклонение не удовлетворяет начальным требованиям по одинаковому влиянию признаков (величине интервала). Даже не говоря о том, что и наличие выбросов может исказить “истинную” величину стандартного отклонения.

Межквартильный интервал

Другим часто используемым кандидатом является разница между 75-м и 25-м процентилями данных — межквартильный интервал. Т.е. интервал, в котором находятся “центральные” 50% данных набора. Эта величина уже устойчива к выбросам и не зависит от “нормальности” распределения наличия/отсутствия асимметрии.

Но и у неё есть свой серьезный недостаток — если у распределения признака есть значимый “хвост”, то после нормализации с использованием межквартильного интервала он добавит “значимости” этому признаку в сравнении с остальными.

Проблема № 2 — большие “хвосты” распределений признаков.

Пример — два признака с нормальным и экспоненциальным распределениями. Интервалы значений одинаковы

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

После нормализации с использованием межквартильного интервала (для наглядности оба интервала смещены к минимальным значениям равным нулю).

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

В итоге интервал у признака с экспоненциальным распределением из-за большого “хвоста” стал больше. А, следовательно, и сам признак стал “влиятельнее”.

Размах значений

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

И здесь максимально проявляется, наверное, самая частая проблема в подготовке данных, проблема № 3 — выбросы. Присутствие одного или нескольких аномальных (существенно удалённых) значений за пределами диапазона основных элементов набора может ощутимо повлиять на его среднее арифметическое значение и фиктивно увеличить его размах.

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

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

После нормализации по размаху

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

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

Работаем с выбросами

Решением проблемы влияния выбросов при использовании размаха является его замена на интервал, в котором будут располагаться “не-выбросы”. И дальше — масштабировать по этому интервалу.

Искать и удалять выбросы вручную — неблагодарное дело, особенно когда количество признаков ощутимо велико. А иногда выбросы и вовсе нельзя удалять, поскольку это приведёт к потере информации об исследуемых объектах. Вдруг, это не ошибка в данных, а некое аномальное явление, которое нужно зафиксировать на будущее, а не отбрасывать без изучения? Такая ситуация может возникнуть при кластеризации.

Пожалуй, самым массово применяемым методом автоматического определения выбросов является межквартильный метод. Его суть заключается в том, что выбросами “назначаются” данные, которые более чем в 1,5 межквартильных диапазонах (IQR) ниже первого квартиля или выше третьего квартиля.*

* — в некоторых случаях (очень большие выборки и др.) вместо 1,5 используют значение 3 — для определения только экстремальных выбросов.

Схематично метод изображен на рисунке снизу.

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Вроде бы все отлично — наконец-то есть инструмент, и можно приступать к работе.

Но и здесь есть своя ложка дёгтя. В случае наличия длинных хвостов (как, например, при экспоненциальном распределении) слишком много данных попадают в такие “выбросы” — иногда достигая значений более 7%. Избирательное использование других коэффициентов (3 * IQR) опять приводит к необходимости ручного вмешательства — не для каждого признака есть такая необходимость. Их потребуется по отдельности изучать и подбирать коэффициенты. Т.е. универсальный инструмент опять не получается.

Ещё одной существенной проблемой является то, что этот метод симметричный. Полученный “интервал доверия” (1,5 * IQR) одинаков как для малых, так и для больших значений признака. Если распределение не симметричное, то многие аномалии-выбросы с “короткой” стороны просто будут скрыты этим интервалом.

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Скорректированный интервал

Красивое решение этих проблем предложили Миа Хаберт и Елена Вандервирен (Mia Hubert and Ellen Vandervieren) в 2007 г. в статье “An Adjusted Boxplot for Skewed Distributions”.

Их идея заключается в вычислении границ “интервал доверия” с учетом асимметрии распределения, но чтобы для симметричного случая он был равен всё тому же 1,5 * IQR.

Для определения некоего “коэффициента асимметрии” они использовали функцию medcouple (MC), которая определяется так:

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Поиск подходящей формулы для определения границ “интервала доверия” производился с целью сделать долю, приходящуюся на выбросы, не превышающей такую же, как у нормального распределения и 1,5 * IQR — приблизительно 0,7%

В конечном итоге они получили такой результат:

Для Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные= 0$» data-tex=»inline»/>:

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Для Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные:

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Более подробно про этот метод и его эффективность лучше прочитать в самой статье. Найти ее по названию не составляет труда.

Универсальный инструмент

Теперь, объединяя все найденные плюсы и учитывая проблемы, мы получаем оптимальное решение:

Назовем его методом… скорректированного интервала — по названию статьи Mia Hubert и Ellen Vandervieren

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

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Сравнивать новый инструмент будем с методами стандартизации, робастной нормализации (межквартильный интервал) и минимакса (MinMax — с помощью размаха).

Ситуация № 1 — данные необходимо центрировать. Это используется в кластеризации и многих методах машинного обучения. Особенно, когда необходимо определять меру “близости” объектов.

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Робастная нормализация (по межквартильному интервалу):

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

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

Ситуация № 2 — данные необходимо вписать в заданный интервал. Обычно это [0..1]. Это используется, например, при подготовке данных для входов нейронной сети.

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

В этом случае метод скорректированного интервала вписал в нужный диапазон только значения без выбросов. Значения-выбросы, выходящие за границы этого диапазона, в зависимости от постановки задачи можно удалить или принудительно приравнять ближайшей границе нужного диапазона — т.е. 0 или 1.

То, что только “нормальные” данные попадают в единичный диапазон [0..1], а выбросы не удаляются, но пропорционально выносятся за его пределы — это крайне полезное свойство, которое сильно поможет при кластеризации объектов со смешанными признаками, как числовыми, так и категорийными. Подробно об этом я напишу в другой статье.

Напоследок, для возможности пощупать руками этот метод, Вы можете попробовать демонстрационный класс AdjustedScaler из моей библиотеки AdjDataTools.

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

Источник

Умная нормализация данных: категориальные и порядковые данные, “парные” признаки

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

Нормализация категориальных данных

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

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

С категориальными данными всё просто. Если целью является не просто кодировка (шифровка) значений какими-то числами, то единственный доступный вариант — это представить их в виде значений “1” — “0” (ДА — НЕТ) для каждой возможной категории. Это так называемое one-hot-кодирование. Когда вместо одного категориального признака появится столько новых “булевых” признаков, сколько существует возможных категорий.

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Никаких вычислений медиан или средних арифметических, никаких смещений.

Если Вы подготавливаете данные для входа нейронной сети, это именно то, что нужно.

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

К тому же, если Вы хотите получить результат, основанный на данных, а не на внутренних особенностях алгоритмов, то даже после преобразования в числовую форму категориальные признаки нельзя использовать как обычные числовые для вычисления “расстояний” между объектами или их “схожести”. Если два объекта отличаются только “наличием черного цвета”, это не значит, что между ними “расстояние” равное некому безразмерному единичному интервалу. Это значит именно то, что у одного есть чёрный цвет, а у другого его нет — и не более того.

Конечно, какой-то результат Вы получите всегда, даже при подходе «не хочу мудрить, пусть будут просто числа 0 и 1». Сомнительный, но получите. Как корректно работать с такими данными, я подробно напишу в следующей статье.

Нормализация порядковых данных

С порядковыми данными немного сложнее. Они занимают “промежуточное” положение между категориальным и относительным (обычными числами) типами данных. И при работе с ними необходимо сделать выбор, к какому из соседних типов их преобразовывать. Без Вашего осознанного решения здесь никак.

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

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Вариант 2. Преобразование в интервальный тип (обычные числа). В этом случае сохраняется порядок значений, но “добавляется” необоснованная информация о величине разницы между двумя значениями.

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

Дальше работаем как с обычными значениями — нормируем и т.д.

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

“Парные” признаки

Формально такого понятия, конечно, не существует. Я так обозначаю редкую, но заслуживающую внимания ситуацию.

Для начала определение. “Парными” признаками я называю признаки, которые измеряются в одинаковых единицах и вместе описывают единый комбинированный признак. Причем изменения по любому из таких “напарников” равнозначны.

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

“Парными” признаками здесь являются широта и долгота, которые вместе составляют единый признак “координаты”. Временно забудем про остальные признаки и присмотримся к координатам.

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Для кластеризации важно определять расстояние между двумя объектами. В нашем случае расстояние рассчитывается по их координатам. И совершенно одинаково, например, отстоит детский садик от стадиона на 100 м вдоль по улице, или он в тех же 100 м через дорогу. Это одинаковые 100 м.

Если на этот нюанс не обращать внимания, то после нормализации ситуация станет такой

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Изначальный смысл совершенно исказился. “Расстояние” между зданиями, расположенными через дорогу стало практически таким же большим, как и между домами в начале и конце улицы. Это произошло из-за того, что значения широты и долготы были нормализированы независимо друг от друга.

Решение этой проблемы лежит в определении параметров масштабирования самого “протяженного” признака (в нашем случае долготы) и применения его к всем “парным” признакам.

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Да, формально, мы снизили влияние признака “широта”. Но это было обусловлено его реальным физическим смыслом.

Правила безопасности

“Назначать” признаки в “парные” нужно очень осторожно и с четким пониманием исследуемой области.

Возьмем другой пример. Вы анализируете колебания некоего узла/датчика, закрепленного на вертикальном элементе в большом механизме. У Вас есть величины колебаний как “вправо-влево” (синие стрелки), так и “вперёд-назад” (оранжевые стрелки). Еще, из-за конструктивных особенностей механизма, колебания “вправо-влево” могут быть в несколько раз больше, чем “вперёд-назад”.

Что значит нормировать данные. Смотреть фото Что значит нормировать данные. Смотреть картинку Что значит нормировать данные. Картинка про Что значит нормировать данные. Фото Что значит нормировать данные

Вроде бы ситуация схожая с прошлой. Оба признака измеряются в миллиметрах. И вместе они составляют условные “координаты” узла при его колебаниях.

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *