Численные методы и машинное обучение в метрологии
Развитие инструментов IT-индустрии позволяет значительно упрощать работу специалистов в различных сферах промышленности. Результатом внедрения специализированного программного обеспечения является автоматизация производств, внедрение интеллектуальных систем автоматизированной обработки данных и аналитики и др.
Пособие посвящено возможностям библиотек языка программирования Python для обработки экспериментальных результатов, построения графиков, диаграмм, проведения анализа данных, в том числе работа с нефизическими величинами, рассмотрены метрики качества программных решений, методов машинного обучения.
Первый раздел посвящен численным методам, позволяющим осуществлять обработку экспериментальных результатов: аппроксимировать экспериментальные точки, искать экстремумы функций, определять ошибки и выбросы.
Во втором разделе речь идет о методах машинного обучения, оценки их качества, обработке нефизических величин. Предложены примеры реализации программного кода для решения задачи предсказания ответа системы по заданным параметрам. Оценка качества такого предсказания является актуальной задачей современной цифровой метрологии.
В конце пособия приведены варианты для самостоятельного решения задач для закрепления пройденного материала. Работать над задачами рекомендуется на открытых ресурсах GoogleColabили JupyterNotebook. Рекомендуется также ознакомиться со следующими библиотеками языка программирования Python: scikit-learn, matplotlib, seaborn, pandas, numpy.
- Численные методы В метрологии
1.1 Статическая обработка результатов прямых измерений многократными независимыми наблюдениям
Порядок и методику выполнения прямых измерений с многократными независимыми наблюдениями, обработки наблюдений и оценке их погрешностей регламентирует государственный стандарт [1].
Методы статистической обработки результатов измерений сводятся к определению числовых оценок параметров соответствующих законов распределения. Поэтому необходимо знание методов определения по экспериментальным данным числовых характеристик законов распределения. Рассеяние результатов при многократном измерении одной и той же величины постоянного размера является следствием множества причин, вклад каждой из которых незначителен по сравнению с суммарным действием всех остальных. Центральная предельная теорема теории вероятностей утверждает, что результат измерения при этом подчиняется нормальному закону. Это наиболее часто встречающееся распределение Гаусса [2]. Закон нормального распределения имеет фундаментальное значение для теории обработки результатов измерений.
К числу случайных величин, распределение которых подчиняется нормальному закону, относится большая часть случайных погрешностей. Существует две формы описания закона распределения случайной величины: дифференциальная и интегральная. Причем, в метрологии в основном используется дифференциальная форма закона распределения плотности вероятность случайной величины. Дифференциальная функция нормального закона распределения имеет вид:
где f(x) – плотность вероятности распределения x, m=[М(x)] – математическое ожидание случайной величины x; σ –среднее квадратическое отклонение; e = 2,7183 – основание натуральных логарифмов.
Интегральная функция нормального закона распределения
В выражении для f(x) входят две величины, значения которых полностью определяют закон распределения для каждого конкретного случая. Это m и σ.
Пpи статистической обработке результатов наблюдений выполняют следующие операции:
- Иcключeниe известных систематических погрешностей из результатов наблюдений путем
- ликвидaции иcтoчникoв пoгpeшнocтeй дo нaчaлa измepeния;
- иcключeния пoгpeшнocтeй в пpoцecce измepeния способамизамещения, кoмпeнcaции пoгpeшнocти пo знаку, пpoтивoпocтaвлeния, cиммeтpичecкиx нa6людeний;
- внeceния вычиcлeнныx пoпpaвoк врезультатов измерения.
Прим. Рeзyльтaт нa6людeний, в кoтopый ввeдeны пoпpaвки c цeльюycтpaнeния cиcтeмaтичecкиx пoгpeшнocтeй, cчитaeтcя иcпpaвлeнным.
- Вычиcлeниe:
- cpeднeгoapифмeтичecкoгo(цeнтpapacпpeдeлeнияпoгpeшнocтeй) иcпpaвлeнныxpeзyльтaтoв нaблюдeний, пpинимaeмoгo зарезультатизмерения;
- oцeнкиcpeднeквaдpaтичecкoгooтклoнeнияpeзyльтaтaнаблюденияиизмерения;
- дoвepитeльныx гpaниц cлyчaйнoй cocтaвляющeй пoгpeшнocти peзyльтaтa измерения (пpиэтoмпpoвepяютгипотезу oтoм,чтoрезультатнa6людeнийпpинaдлeжaтнopмaльнoмy pacпpeдeлeнию).
Нaи6oлeeэффeктивнoйoцeнкoйцeнтpapacпpeдeлeнияпoгpeшнocтeй(мaтeмaтичecкoгooжидaния)дляpacпpeдeлeнияпoгpeшнocтeй,близкихкнopмaльнoмyзакону,являeтcяcpeднee apифмeтичecкoe x.
Нecмeщëннoй, cocтoятeльнoй, эффeктивнoй oцeнкoй для среднего m нормального распределения является выборочное cpeднee, oпpeдeляeмoe пo фopмyлe
При значениях объема выборокn≥20несмещеннуюoцeнкyS для cpeднeквaдpaтичecкoгo отклонения σ oпpeдeляют пo формуле
Оцeнкycpeднeквaдpaтичecкoгooтклoнeниярезультатаизмерений oцeнивaютпoфopмyлe
Отбраковкагрубыхиaнoмaльныxрезультатовпpoвoдитcяcцeльюиcключeнияиx из дaльнeйшeй обработки. Еcли эти результаты нe являютcя пpoмaxaми, тo необходимо пoдвepгнyть результаты cтaтиcтичecкoмy анализу.
Сyщecтвyют различные кpитepии отбраковки. Наиболее чacтo употребляемый критерий основан на использовании значений интервала вероятности т.e. нa пpeдпoлoжeнии, чтo результаты измерений pacпpeдeлeны пo нopмaльнoмy закону.
Сначала определяют среднее арифметическое значение и среднеквадратическое отклонение, для сомнительного результата определяют величину
По таблице 1 находят значение . Если значение близко к единицы, то результат считается грубым и его отбрасывают.
Таблица 1 – Таблица значений интеграла вероятностей
Ф(t) | Ф(t) | Ф(t) | |||
0,00 | 0,0000 | 1,25 | 0,7887 | 2,50 | 0,9876 |
0,05 | 0,0399 | 1,30 | 0,8064 | 2,55 | 0,9892 |
0,10 | 0,0797 | 1,35 | 0,8230 | 2,60 | 0,9907 |
0,15 | 0,1192 | 1,40 | 0,8385 | 2,65 | 0,9920 |
0,20 | 0,1585 | 1,45 | 0,8529 | 2,70 | 0,9931 |
0,25 | 0,1974 | 1,50 | 0,8664 | 2,75 | 0,9940 |
0,30 | 0,2358 | 1,55 | 0,8789 | 2,80 | 0,9949 |
0,35 | 0,2737 | 1,60 | 0,8904 | 2,85 | 0,9956 |
0,40 | 0,3108 | 1,65 | 0,9011 | 2,90 | 0,9963 |
0,45 | 0,3473 | 1,70 | 0,9109 | 2,95 | 0,9968 |
0,50 | 0,3829 | 1,75 | 0,9199 | 3,00 | 0,99730 |
0,55 | 0,4177 | 1,80 | 0,9281 | 3,10 | 0,99806 |
0,60 | 0,4515 | 1,85 | 0,9357 | 3,20 | 0,99863 |
0,65 | 0,4843 | 1,90 | 0,9426 | 3,30 | 0,99903 |
0,70 | 0,5161 | 1,95 | 0,9488 | 3,40 | 0,99933 |
0,75 | 0,5468 | 2,00 | 0,9545 | 3,50 | 0,99953 |
0,80 | 0,5763 | 2,05 | 0,9596 | 3,60 | 0,99968 |
0,85 | 0,6047 | 2,10 | 0,9643 | 3,70 | 0,99978 |
0,90 | 0,6319 | 2,15 | 0,9684 | 3,80 | 0,99986 |
0,95 | 0,6579 | 2,20 | 0,9722 | 3,90 | 0,99990 |
1,00 | 0,6827 | 2,25 | 0,9756 | 4,00 | 0,99994 |
1,05 | 0,7063 | 2,30 | 0,9786 | 4,10 | 0,99996 |
1,10 | 0,7287 | 2,35 | 0,9812 | 4,20 | 0,99997 |
1,15 | 0,7499 | 2,40 | 0,9836 | 4,40 | 0,99999 |
1,20 | 0,7699 | 2,45 | 0,9857 | 4,50 | 0,999994 |
Частным случаем данного критерия является правило трех сигм. Погрешность считается грубой, если она превосходит значения 3S.
Для определения эмпирического закона распределения от вариационного ряда необходимо перейти к статистическому или интервальному. Для этого вариационный ряд разбивают на N интервалов. Рекомендовано разбивать на более, чем 5 равных интервалов. При построение интервального ряда считают, что результаты, попавшие в интервал имеют одно и то же значение, соответствующее медианному значению. Для каждого интервала подсчитывает частотность
Полученный результат оформляют графически в виде гистограммы, которая может быть построена с помощью библиотек Python matplotlib, функция hist(): https://matplotlib.org/3.3.1/api/_as_gen/matplotlib.pyplot.hist.html. По оси абсцисс откладываются интервалы, на них строятся строятся прямоугольники высотой Pi
где n – число элементов в выборке, ni – число элементов в интервале.
На диаграмме также часто обозначают среднее и медианное значение выборки.
Вследствие наглядности и информативности гистограммы часто применяют в производстве для оценки протекания технологических процессов. Гистограммы дают возможность зафиксировать состояние процесса в определенный момент времени. Полученная ступенчатая функция может быть аппроксимирована кривой с пиком или прямой. В первом случае речь идет о нормальном распределении, во втором – о равномерном.
Представим, что наша выборка есть ни что иное, как измерения случайных образцов деталей из партии. Ассиметрия гистограммы, сдвиг пика, может говорить о серьезных проблемах в производственном цикле.
Существует еще один метод оценки производственного процесса, который позволяет отслеживать состояние процесса во времени. Такой метод называется методом контрольных карт[3]. Контрольная карта представляет собой графическое изображение характеристики процесса, состоящее из центральной линии, контрольных границ и конкретных значений, имеющихся статистических данных, позволяющее оценить степень статической управляемости процесса.
Центральная линия – это среднее значение контролируемого параметра. Контрольные границы выбираются меньше значений поля допуска для того, чтобы провести корректирующие манипуляции над процессом до того, как значения выйдут за поле допуска. Как только значение выходит за контрольные границы считают, что процесс вышел из управляемого состояния. Пример контрольной карты Шухарта приведен на рисунке 1. Иногда на контрольных картах обозначают поля допуска.
Рисунок 1. Контрольная карта Шухарта.
<X> – среднее значение,
UCLX – верхняя контрольная граница,
LCLX – нижняя контрольная граница.
1.2. Аппроксимация экспериментальных точек функцией
Аппроксимация экспериментальных точек функцией является важным этапом при описании исследуемого процесса, позволяет находить грубые промахи, усреднять систематические погрешности, предсказывать физический или технологический процесс на основании экспериментальных результатов[4-5].
Пусть имеется некоторый набор точек x, каждой точке из набора соответствует некоторое значение f(x). Такая функциональная зависимость может быть получена как экспериментально, так и путем выполнения некоторых дискретных расчетов. Например, при исследовании температуры воздуха в течение дня: температура фиксируется каждый час, то есть в каждый час мы имеем определённое значение функции температуры от времени.
Перед нами стоит следующая задача: заменить неизвестную, по сути дискретную, функцию f(x) на непрерывной на некотором отрезке в любой точке функцию F(x). Такое приближение называет аппроксимацией: замена одного дискретного объекта другим, непрерывным.
Существует два основных типа аппроксимации функции:
- интерполяция – функция F(x) точно совпадает с дискретными значениями функции f(x);
- метод наименьших квадратов – функция F(x) может не совпадать с дискретными значениями функции f(x), но быть максимально приближенной в среднем.
К методом интерполяции функции относятся линейная интерполяция, интерполяция полиномом, интерполяция сплайном.
В случае линейной интерполяции дискретные значения функции в смежных узловых точках соединяются отрезками прямых, фукнция f(x) приближается ломаной с вершинами данных в данных точках. Получается, что каждый участок описывается своим особенным участком ломаной. График интерполирующей функции имеет изломы в узлах, поэтому получается достаточно высокая погрешность.
Решить эту проблему позволяет интерполяция полиномом Лагранжа[6]. Такая интерполяция дает высокую точность в случае, если значения функции в соседних узлах изменяются медленно. Интерполяционный полином имеет вид:
Здесь – полином степени n, составим следующим образом:
Учитывая, что
Получаем
Интеполяционный полимном Лагранжа имеет вид:
Выражение громоздкое, требует поточечной оценки, кроме того полиномиальная интерполяция не всегда удовлетворяет результатам. Увеличение интерполяционного многочлена не в каждом случае позволяет улучшить решение и уменьшить отклонение от истинного значения. Проблемой также может быть возникающая вертикальная асимптотика.
Во многих программных пакетов, позволяющих аппроксимировать экспериментальные точки заложен алгоритм интерполяции сплайном. В таком способе используют гибкую кривую (еще ее называют линейкой, в переводе с английского), совмещенную с дискретными экспериментальными значениями.
Рассмотрим алгоритм на примере кубического сплайна, то есть используется полином не выше третьей степени. Сплайн, совмещенный с узловыми значениями функции, проходит по линии, удовлетворяющей выражению
Функция является полиномом, на каждом интервале имеет вид:
где – коэффициенты сплайна, i – номер сплайна, по-другому называют также номер интервала.
Аппроксимируемая функция есть последовательность сплайнов, сшитых между собой на границах.
Рассмотрим метод наименьших квадратов. Представим аппроксимирующая функцию в виде:
Суть метода заключается в том, что необходимо получить такие значения нормирующих параметров , чтобы сумма квадратов отклоненений функции относительно дискретных значений была минимальна.
Рассмотрим алгоритм метода на примере полиномиальной аппроксимации. Аппроксимирующая функция есть полином вида:
Обозначим
Функция Q принимает минимальное значение, если частные производной этой функции по каждому параметру равны 0. Таким образом, для решения задачи необходимо решить следующую систему m уравнений (параметр jпринимает значения от 0 до m):
Решением этой системы будут значения . Отсюда находится искомая аппроксимирующая функция .
1.3. Определение локальных минимумов методом градиентного спуска
Определение локального минимум функции является важной задачей обработки экспериментального результата. Решение таких задач используется не только для оценки технологических процессов, но и в машинном обучении для нахождения минимального значения функции потерь. Функция потерь используется, чтобы контролировать ошибку в прогнозах модели машинного обучения. Поиск минимума означает получение наименьшей возможной ошибки или повышение точности модели[7].
Суть алгоритма заключается в следующем: осуществляется процесс получения наименьшего значения ошибки. Аналогично это можно рассматривать как спуск с горы в самое низкое значение.
Предположим, имеется некоторая дифференцируемая функция с точкой экстремума, минимума. Справа от такой точки производная положительна, а слева – отрицательна. Предположим, что мы выбираем произвольную начальную точку на оси абсцисс. Двигаемся от этой точки к локальному минимума. В этом случае в области положительных производных разницу между произвольной точкой и локальным минимумом будет уменьшаться, в области отрицательных производных – увеличиваться. Это можно описать следующим математическим выражением:
Здесь n – номер итерации работы алгоритма
Градиент уже учтен, когда определяли перемещение вдоль оси абсцисс для поиска оптимальной точки минимума. Но математика не терпит такой вульгарности, в ней все должно быть прописано и точно определено. Как раз для этого нужно брать не просто производную, а еще и определять направление движения, используя единичные векторы декартовой системы координат. В конечной формуле алгоритма поиска единичный вектор не пишется, вместо него указывается разность по оси ординат.
У метода есть один недостаток: значение производной может быть очень большим, в таком случае при реализации метода можно проскочить минимум, уйти дальше. Для решения этой проблемы вводят шаговое значение (шаг сходимости). Выражение принимает вид:
В частном случае шаг сходимости может меняться в зависимости от итерации.
Для реализации алгоритма с помощью языка Python рекомендуется использовать библиотеки numpy и matplotlib.
- Методы машинного обучения в метрологии
2.1 Вид данных. Обработка данных. Анализ данных
Несколько десятков лет назад компьютеры резко подешевели и стали доступны для широкой аудитории, что произвело революцию как во многих отраслях науки, бизнеса и промышленности, так и в нашей повседневной жизни. С помощью компьютеров можно работать с огромными базами данных, автоматизировать бизнес-процессы, контролировать работу конвейера на производстве, упрощать управление самолетом или просто хранить коллекцию семейных фотографий.
За несколько десятков лет многие отрасли и компании накопили большие объемы данных, и теперь появилась возможность извлекать пользу из этих данных, находить в них нетривиальные закономерности. Методы машинного обучения и анализа данных всѐ активнее используются при оптимизации производственных процессов и маршрутов транспорта, для оптимизации закупок и маркетинговых кампаний в интернет-коммерции, для создания новых лекарств и автомобилей с искусственным интеллектом.
2.1.1 Виды данных
Существует несколько основных типов данных, и важно знать, как можно работать с каждым из них, чтобы корректно осуществить сбор данных в форме, которая лучше всего удовлетворяет задаче. Существует много классификацийтипов данных, но мы остановимся на таких уровнях измерения, как номинальный, порядковый, интервальный и нормативный. Разберем один простой пример.
Допустим, покупатель пришел в гипермаркет, ходит от отдела к отделу и кладет в корзину то, что ему необходимо: фрукты и овощи, мясо, рыбу, консервы, моющие средства и т.д. Покупатель может составить список, в котором было указано, из какого отдела он взял каждый продукт, такой список будет представлять собой данные номинального типа.
Номинальные данные можно посчитать, можно определить процент от целого, однако нельзя вычислить среднее значение. Сам термин «номинальный» имеет отношение к латинскому слову «nomen», которое означает «относящийся к именам». Мы называем этот вид данных номинальными, поскольку они содержат названия категорий, по которым распределяются данные. Номинальные данные по определению неупорядочены; овощи как общая категория математически не больше и не меньше, чем молочная продукция. Мы можем сосчитать количество продуктов в корзине, взяты в молочном отделе, какой процент от покупок составляют овощи, но посчитать среднее значение каждого продовольственного отдела в корзине невозможно.
В случае, если доступны только две категории, данные относят к типу дихотомических. Ответы на вопросы, требующие ответа «да-нет», − это и есть дихотомические данные. Если, делая покупки, собираются данные о том, продавался товар со скидкой или нет, это и будут дихотомические данные.
В конце концов, покупатель приходит на кассу и хочет попасть в самую быструю очередь. Мысленно он разбивает очереди на короткие, средние и длинные. Поскольку такие данные естественным образом упорядочиваются по категориям, они называются порядковыми. Вопросы в анкетах, ответами на которые могут быть такие фразы, как «полностью не согласен», «не согласен», «нейтрально отношусь», «согласен», «полностью согласен», предназначены для сбора порядковых данных. Ни одна из категорийпорядковой шкалы не имеет фактическойматематической величины. Числовые значения зачастую присваиваются категориям для того, чтобы облегчить запись или анализ данных (например: 1 = полностью не согласен, 5 = полностью согласен), но это распределение условно, и вы можете выбрать любую группу упорядоченных чисел для обозначения групп. Например, вы с такой же легкостью можете решить, что цифра 5 будет обозначать «полностью не согласен», а 1 − «полностью согласен». Цифры, которые вы присваиваете порядковым категориям, влияют на толкование конечного анализа, но вы можете выбрать любой набор цифр, при условии соблюдения порядка нумерации.
Так же как и номинальные данные, порядковые данные можно посчитать и определить процент от целого, однако нет единого мнения о том, можно ли для порядковых данных посчитать среднее значение. С одной стороны, невозможно определить среднее значение для категории «полностью согласен», например, и даже если вы определите их числовые значения, они не будут иметь фактическойматематической величины. Каждое числовое значение представляет определенную категорию, а не количество чего бы то ни было. С другой стороны, если принять, что разница величин между последовательными категориями приблизительно одинаковая (например, разница между «полностью не согласен» и «не согласен» такая же, как и между «не согласен» и «отношусь нейтрально», и так далее), и для обозначения категорий используются последовательные числа, тогда среднее значение ответов тоже можно интерпретировать применительно к той же шкале.
Вернемся в магазин. Покупатель стоит в очереди достаточно долго и смотрит на часы, чтобы узнать, сколько именно. Он стал в очередь в 11:15, а сейчас 11:30. Время суток – считается интервальными данными. Этот вид данных называется так, потому что интервалы между точками измерения одинаковы. Поскольку в каждой минуте 60 секунд, разница между 11:15 и 11:30 такая же, как между 12:00 и 12:15. Интервальные данные − числовые, поэтому вы можете производить с ними математические операции, однако такие данные не имеют «значимой» нулевой точки − то есть при значении ноль то, что вы измеряете, не отсутствует. 0:00 часов означает не отсутствие времени, а начало нового дня. Другие интервальные данные, с которыми вы сталкиваетесь в повседневной жизни, это календарный год и температура. Нулевое значение для годов не значит, что ранее времени не существовало, а нулевая температура (измеряемая в градусах Цельсия или Фаренгейта) отнюдь не показатель того, что тепла нет.
Увидев, что на часах 11:30, покупатель подумал: «Неужели я стою в очереди уже 15 минут?» Когда мы говорим о времени в таком контексте, это уже нормативные данные. Нормативные данные − числовые, и имеют много общего с интервальными данными, кроме того, что нормативные, в отличие от интервальных, имеют значимую нулевую точку. В нормативных данных ноль означает отсутствие того, что вы измеряете, − ноль минут, ноль людей в очереди, ноль молочных продуктов в вашей корзине. Во всех этих случаях ноль означает, что у вас нет того, что вы измеряете, и это отличается от того, что мы обсуждали в разделе интервальных данных. Другие часто встречаемые переменные, которые можно отнести к нормативным данным, − рост, вес, возраст и деньги.
Интервальные и нормативные данные могут быть либо дискретными, либо непрерывными. Дискретные данные выражены ограниченным набором значений (обычно целыми числами), величины между этими значениями невозможны. В очереди должно быть целое число людей̆, в ней̆ не может быть одной̆ трети человека. У вас может получиться в среднем по 4,25 человека в каждой̆ очереди, но фактическое количество людей̆ должно быть целым числом. Непрерывные данные могут принимать любое значение на шкале. Вы можете купить 1,25 фунта сыра или стоять в очереди 7,75 минут. Это не значит, что данные могут принимать все возможные числовые значения − только все значения в рамках границ шкалы. Вы не можете стоять в очереди отрицательный̆ промежуток времени и не можете купить отрицательное количество унций сыра, но тем не менее, эти данные − непрерывны.
Часто переменные описывают, как один из вышеперечисленных видов данных. Многие переменные не относятся к какому-либо определенному виду данных. Чаще всего вид данных определяется методом их сбора.
Давайте рассмотрим переменную возраста. Данные о возрасте обычно собирают как нормативные, однако их также можно собрать и как порядковые. Это происходит, когда в анкетах спрашивают: “К какой̆ возрастной̆ группе вы относитесь?” В таком опросе у вас не будет данных о возрасте каждого отдельного респондента, вы только сможете узнать, скольким из них было между 18-24 годами, 25-34 и так далее. Вы можете собрать показатели холестерина респондентов для медицинского исследования, либо просто спросить участников опроса, повышен у них холестерин или нет. То есть, это одна переменная и два разных метода сбора данных − и два различных вида данных.
Общее правило состоит в том, что вы можете двигаться вниз по уровню измерения, но не вверх. Если можно собирать переменные как интервальные или рациональные данные, их также можно собирать как номинальные или порядковые данные, но, если переменная номинальная по своей̆ природе, как отдел в супермаркете, вы не можете собирать ее как интервальные, порядковые или нормативные данные. Переменные, имеющие порядковую природу, можно собирать как номинальные данные, но не как интервальные или нормативные. Однако, многие переменные, собираемые как порядковые данные, имеют схожую переменную, которую при желании можно собирать как интервальные или нормативные данные.
Важно помнить, что общее правило “двигаться можно вниз, но не вверх”, применимо и во время анализа и визуализации данных. Если вы собираете переменную как нормативные данные, вы всегда можете позже сгруппировать данные для визуализации, если этого требует ваша работа. Если же вы собираете ее на более низком уровне измерения, позже вы не сможете перейти на более высокий уровень, не собрав больше данных. Например, если вы решили собирать данные о возрасте как порядковые данные, вы не сможете позже посчитать средний возраст, и ваша визуализация будет ограничена демонстрацией возрастных групп; вы не сможете показать возраст как непрерывные данные.
Существуют еще термины, часто используемые применимо к видам данных. Ранее мы говорили о номинальных и порядковых данных как о способе распределить данные по категориям. Некоторые источники считают, что оба типа принадлежат к категориальным данным, где номинальные данные − неупорядоченные категориальные данные, а порядковые − упорядоченные. Другие источники относят к категориальным данным только номинальные, и считают, что понятия “номинальные данные” и “категориальные данные” − взаимозаменяемы. Эти источники относят порядковые данные к отдельной группе.
Качественные данные относятся к нечисловым данным, в то время как количественные данные − числовые и, соответственно, поддающиеся счету. Определенные данные всегда считаются качественными, поскольку требуют предобработки или других методов анализа, чем количественные данные. Примерами могут считаться записи прямого наблюдения либо транскрипты интервью. Подобным образом, интервальные и нормативные данные всегда считаются количественными, поскольку они всегда числовые. Однако есть некое расхождение во мнениях относительно номинальных и порядковых типов данных. Некоторые источники называют их качественными, так как их категории описательные, а не числовые. Однако, поскольку эти данные можно посчитать и использовать для подсчета процентов, другие источники считают их количественными, поскольку они в этом смысле поддаются счету.
2.1.2 Анализ данных
Анализ данных и их предварительная подготовка перед обработкой для получения некоторой модели, оценка вероятности правильного решения задачи на основе имеющихся данных является одной из первостепенных задач машинного обучения.
Анализ данных — это процесс сбора, преобразования, очистки и моделирования данных с целью получения необходимой достоверной информации. Часто используют визуализацию данных для их наглядного представления в виде рисунков, схем. Термины «Моделирование данных» и «Анализ данных» означают одно и то же. Процесс анализа данных состоит из следующих этапов, которые тесно связаны друг с другом по своей природе:
- Спецификация требований к данным
- Сбор информации
- Обработка данных
- Очистка данных
- Анализ данных
- Обсуждение результатов
Спецификация требований к данным: данные, необходимые для анализа, основаны на опросе или эксперименте. В зависимости от поставленной задачи выбираются входные данные для анализа, например, набор данных (датасет) «Население земли». В датасете указаны конкретные переменные, относящиеся к населению, например, возраст, пол, раса и доход. Данные могут быть числовыми или категориальными.
Сбор данных – это процесс сбора информации по целевым переменным по определенным требованиям. Акцент делается на обеспечении точного и честного сбора данных. Сбор данных обеспечивает как основу для измерения, так возможность получения более точных результатов. Данные могут собираться из различных источников: от баз данных организаций до информации от интернет-ресурсов. Полученные таким образом данные могут не быть структурированными и содержать нерелевантную информацию. Следовательно, собранные данные необходимо подвергнуть обработке и очистке.
Обработка данных включает в себя структурирование данных в соответствии с требованиями соответствующих инструментов анализа. Например, данные могут быть размещены в строках и столбцах таблицы Excel или статистическом приложении. Возможно, потребуется создать модель данных.
Обработанные и упорядоченные данные могут быть неполными, содержать дубликаты или ошибки. Очистка данных — это процесс предотвращения и исправления ранее перечисленных недостатков. Существует несколько способов очистки данных в зависимости от вида данных. Например, имеется база стоимости квартир, продавец на сайте ошибся на порядок и выставил квартиру за достаточно высокую сумму. В таком случае мы можем выкинуть данные. Недостающие данные могут быть доопределены путем заполнения средним значением, указанным достоверными источниками (кадастровая стоимость квартиры), или известными пороговыми значениями.
Данные, которые обрабатываются, упорядочиваются и очищаются, будут готовы для анализа. Результаты анализа данных должны быть представлены в формате, необходимом пользователям для принятия решений и дальнейших действий. Отзывы пользователей могут привести к дополнительному анализу. Аналитики данных могут выбирать методы визуализации данных, такие как таблицы и диаграммы, которые помогают ясно и эффективно донести сообщение до пользователей. Инструменты анализа позволяют выделить необходимую информацию с помощью цветовых кодов и форматирования в таблицах и диаграммах.
В ходе обработки данных можно пользоваться следующим алгоритмом[8-9].
- Загрузить датасет, используя библиотеку pandas.
#датасетизфайла
import pandas as pd
data = pd.read_csv (‘myfile.csv’)
Вывести на экран данные data.head().
- Получить информацию о данных data.info().Проанализировать данные, например, на наличие пустых ячеек.
- Осуществить анализ данных в соответствии с задачами. Необходимо выбрать наиболее важные данные, объединить похожие, реструктуризировать имеющиеся, привести текстовые данные в численный вид, убрать несущественные данные. Заполнить пропуски (это можно сделать либо с помощью среднего или медианного значения, либо 0, либо просто выкинуть строки, если их мало).
- Используя библиотеку matplotlib и seaborn визуализировать данные в виде диаграмм, схем, гистограмм и графиков. Аргументировать выбор основных признаков для выполнения будущего предсказания. Использовать можно гистограммы, диаграммы, корреляция признаков наглядно представляется с помощью тепловой карты.
2.2 Методы машинного обучения и оценка качества моделей
Методы машинного обучения применяются во исследованиях и отраслях промышленности для составления прогнозов. Эта область постоянно развивается6 появляются и разрабатываются новые методологии. Остановимся на классических и самых простых. Простота методов не говорит об их неэффективности, зачастую даже на первый взгляд сложные задачи можно решать классическими методами.
Большинство классических алгоритмов уже прописаны в Python в библиотеке sklearn (https://scikit-learn.org/stable/), что значительно упрощает решение задач.
Алгоритм машинного обучения, также называемый моделью, представляет собой математическое выражение, которое представляет данные в контексте проблемы. Цель — перейти от данных к анализу. Например, если интернет-магазин хочет прогнозировать продажи на следующий квартал, он может использовать алгоритм машинного обучения, который прогнозирует эти продажи на основе прошлых продаж и других соответствующих данных. Точно так же банковский специалист в сфере безопасности на основе данных о заемщике может с помощью данных дать резюме касательно выдачи или отказе в кредитно займе. С помощью видеоизображений зданий и модели инженер анализировать состояние строения и во время произвести работы.
К основным методам машинного обучения относятся регрессия, классификация и кластеризация (рис.2).
Рисунок 2. Методы машинного обучения
ПОЛНЫЙ ФАЙЛ