Программное обеспечение для обработки спектральных данных методами хемометрики и машинного обучения
В статье описан программный пакет, поддерживающий основные методы хемометрики и машинного обучения, используемые для обработки спектральных данных. Он может использоваться как в составе программного обеспечения аналитических спектральных приборов, так и автономно. Пакет содержит как распространенные методы (линейный и квадратичный дискриминантный анализ, регрессия на главные компоненты, метод частичных наименьших квадратов), так и менее известные, но доказавшие свою эффективность при обработке спектров, в том числе метод случайного леса и экстремальный градиентный бустинг. Приводятся данные об апробации программного обеспечения на примере его использования для решения задач классификации частиц черного углерода по исходным объектам горения.
А. В. Саакян, А. Д. Левин, д. т. н.
В статье описан программный пакет, поддерживающий основные методы хемометрики и машинного обучения, используемые для обработки спектральных данных. Он может использоваться как в составе программного обеспечения аналитических спектральных приборов, так и автономно. Пакет содержит как распространенные методы (линейный и квадратичный дискриминантный анализ, регрессия на главные компоненты, метод частичных наименьших квадратов), так и менее известные, но доказавшие свою эффективность при обработке спектров, в том числе метод случайного леса и экстремальный градиентный бустинг. Приводятся данные об апробации программного обеспечения на примере его использования для решения задач классификации частиц черного углерода по исходным объектам горения.
Ключевые слова: флуоресценция, комбинационное (рамановское) рассеяние, спектр, хемометрика, машинное обучение, спектроскопия, фотометрия, классификация, регрессия, программное обеспечение
Введение
Обработка спектральных данных методами хемометрики и машинного обучения становится все более востребованной при решении широкого круга научных и практических задач. Эти методы, являющиеся разновидностями искусственного интеллекта, существенно расширили возможности как качественного, так и количественного анализа в спектроскопии и хроматографии. Получаемые экспериментальные данные содержат информацию об анализируемых веществах и различного вида помехах. Эти помехи могут быть обусловлены шумами и искажением данных от измерительного прибора, загрязнениями образцов, влиянием растворителя и другими физико-химическими факторами. Они снижают информативность полученного набора данных и приводят к потере части полезных химических сведений. Методы хемометрики и машинного обучения включают предварительную обработку данных, направленную на устранение этих помех, в том числе алгоритмы коррекции базовой линии, математической фильтрации шумов, подавления влияния рассеянного света и восстановления потерянных фрагментов данных. Из подготовленных таким образом данных с помощью специальных алгоритмов выделяется полезная составляющая, при этом исключаются избыточные (не содержащие новой информации) фрагменты, а из оставшихся данных автоматически формируются наиболее информативные переменные. Происходит существенное снижение размерности задачи, например, из спектра, содержащего 100 или более значений сигнала при различных длинах волн, может быть сформировано порядка 10–20 или менее информативных переменных. Далее производятся обучение и валидация модели, предназначенной для извлечения из полученных таким образом переменных информации об исследуемых образцах. При этом используются современные алгоритмы математической статистики и анализа многомерных данных.
Важность хемометрики и машинного обучения для аналитической спектроскопии увеличивается по мере возрастания размера наборов спектроскопических данных, получаемых с помощью современных приборов. Кроме того, появляется возможность исправления артефактов и приборных искажений конкретных спектроскопических методов и полной компьютеризации обработки спектров. В качестве общего ограничения можно указать отсутствие наглядной физико-химической интерпретации параметров моделей, которые строятся на методах хемометрики и машинного обучения. Общие вопросы применения этих методов к задачам аналитической химии рассмотрены, например, в обзорных статьях [1–2].
Особенно эффективны рассматриваемые методы при спектральном анализе многокомпонентных смесей, позволяя во многих случаях избежать их разделения на компоненты сложными физико-химическими методами. Поэтому они широко применяются в биомедицинских исследованиях, при контроле пищевых продуктов, изделий химической и нефтехимической промышленности. В связи с этим возрастает потребность в доступных программных продуктах, поддерживающих основные методы хемометрики и машинного обучения и ориентированные на использование в аналитических лабораториях.
Разработаны универсальные программные пакеты, очень часто дорогостоящие, требующие от пользователей навыков программирования, например PLS Toolbox [3] или CHEMFLOW [4], либо достаточных знаний в области хемометрики, например SOLO [5]. Существуют также специализированные пакеты, интегрированные в программное обеспечение (ПО) аналитических приборов, чаще всего спектрометров ближнего ИК-диапазона и раман-спектрометров, для решения конкретных задач, например программа BWIQ, которая предназначена для работы с приборами рамановской спектроскопии высокого разрешения [6]. По нашему мнению, остается незаполненная ниша между универсальными пакетами, требующими специальной подготовки пользователей, и узкоспециализированными, ориентированными на ограниченный круг задач. В статье предложено программное обеспечение, поддерживающее методы хемометрики и машинного обучения, наиболее эффективное при обработке спектральных данных, и требующее от пользователя лишь элементарной информированности об этих методах.
Общая характеристика программного обеспечения
Программное обеспечение позволяет по измеренному фрагменту спектра анализируемого образца либо установить его принадлежность к одному из априори заданных классов (классификация), либо вычислить значения концентраций или долей одного или нескольких компонентов (регрессия). В обоих случаях в качестве независимых переменных или предикторов выступают параметры спектра (например, значения оптической плотности или интенсивности флуоресценции). В качестве зависимых переменных, или откликов, в задачах классификации выступают номера классов, к которым относятся соответствующие образцы. В задачах регрессии в виде откликов выступают значения концентраций компонентов.
Обученная (тренированная) модель позволяет по параметрам предикторов предсказать значения откликов. Для (тренировки) моделей формируются наборы из образцов, для которых заранее известны значения, как предикторов, так и откликов. Программное обеспечение поддерживает проверку обученных моделей с помощью кросс-валидации, когда предъявляются поочередно предикторы образцов обучающего набора (спектры), а предсказанные значения откликов (номеров классов или концентраций), сравниваются с априорно известными данными. Более полная проверка (валидация) модели проводится с помощью образцов тестового набора, которые не использовались при ее обучении. Программное обеспечение написано на языке Phyton, при этом использовались следующие пакеты: scikit-learn [7], xgboost [8], numpy [9], pandas [10], tkinter [11], CustomTkinter [12], CTkMessagebox [13], CTkXYFrame [14], scipy [15], sys [16], matplotlib [17], BaselineRemoval [18], pillow [19], os [20], pickle [21], python-excel [22].
Основные алгоритмы хемометрики и машинного обучения, поддерживаемые программным обеспечением
Алгоритмы классификации
Классификация (качественный анализ) – устанавливает принадлежность образца к определенному классу по заданным признакам (например, спектрам и их особенностям). Классы должны быть определены изначально до обработки данных. Программное обеспечение поддерживает основные алгоритмы классификации – метод главных компонент, линейный и квадратичный дискриминантный анализ. Большинство алгоритмов классификации предсказывают не только отнесение данного образца к определенного классу, но и доверительную вероятность такого отнесения.
Алгоритмы регрессии
Регрессия (количественный анализ) – построение многомерных градуировочных зависимостей между аналитическими сигналами спектрального происхождения (например, значениями оптической плотности или интенсивности излучения в выбранном фрагменте спектра) и концентрациями или долями компонентов (одного или нескольких). Программное обеспечение поддерживает основные алгоритмы регрессии – регрессию на главные компоненты и частный метод наименьших квадратов.
Смешанные алгоритмы
Программное обеспечение поддерживает также следующие алгоритмы, способные реализовывать как классификацию, так и регрессию – метод опорных векторов, метод ближайших соседей, метод случайного леса и экстремальный градиентный бустинг.
Последний алгоритм стал активно использоваться сравнительно недавно, он показал свою эффективность при классификации пищевых продуктов по оптическим спектрам, особенно при ограниченном числе образцов обучающего набора [23–25].
Основные процедуры, выполняемые программным обеспечением при обработке спектральных данных
При обработке спектральных данных реализуются четыре стадии функционирования программного обеспечения.
Предварительная обработка спектров
Цель предварительной обработки – сделать спектры более выраженными с помощью устранения составляющих, не содержащих полезной информации об анализируемых веществах. В рамках предварительной обработки поддерживаются следующие процедуры – вычитание базовой линии, сглаживание с помощью фильтра Савицкого – Голея, центрирование, нормировка, масштабирование. В зависимости от особенностей задачи пользователь должен выбрать процедуры из этого набора, уточнить их параметры (например, размер кадра и степень полинома в фильтре Савицкого – Голея). На рис. 1 и 2 продемонстрированы спектры комбинационного рассеяния для образца биомассы. На рис. 1 показан спектр без фильтрации данных фильтром Савицкого – Голея, на рис. 2 – спектр с фильтрацией данных фильтром Савицкого – Голея с размером кадра 75 и полиномом 2.
Обучение модели
Построение модели проводится по фрагментам спектров после предварительной обработки. Выбираются наиболее информативные фрагменты спектров, одинаковые в рамках одной задачи для всех образцов, существенно различающиеся между собой для разных классов (в задачах классификации) или для разных концентраций компонентов (в задачах регрессии).
Для построения модели необходимо выбрать один из алгоритмов классификации или регрессии и сформировать из имеющихся фрагментов спектров образцов обучающий набор, после этого вводится команда на обучение модели. Для каждого из образцов обучающего набора оператор (пользователь) в интерактивном окне вводит предикторы (информативные фрагменты спектра) и отклики (номер класса в задачах классификации и значения концентраций химических компонентов в задачах регрессии). Для образцов обучающего набора отклики известны заранее. Отметим, что в случае регрессии обучение модели эквивалентно построению многомерной градуировки для определения одного из нескольких компонентов. Параметры обученной модели сохраняются для дальнейшего использования.
Валидация (тестирование) модели
На первом этапе проводится перекрестная или кросс-валидация. На вход модели последовательно подаются те данные (спектры), на которых она обучалась, а предсказания (номер класса или концентрации компонентов) сравниваются с исходными данными образцов обучающего набора.
На втором этапе проводится валидация на спектрах образцов тестового набора, которые не использовались при обучении модели. Предсказания также сопоставляются с исходными данными.
Показателями надежности модели в случае классификации является процент правильных предсказаний классов для образцов тестового набора, а в случае регрессии – среднеквадратичная разность концентраций между номинальными и предсказанными значениями концентраций для образцов тестового набора и квадрат коэффициента линейной корреляции между этими значениями (R2). Эти показатели надежности выводятся по завершении процедуры валидации.
Применение модели по назначению
Обученной и прошедшей валидацию модели предъявляются спектры образцов, подлежащих анализу. Результаты анализа в виде номера класса или концентраций компонентов в образце, выводятся и сохраняются в электронном журнале.
Примеры использования программного обеспечения
В качестве примера приведем результаты использования разработанной программы для классификации суспензий частиц черного углерода по спектрам комбинационного (рамановского) рассеяния (КР). Эти частицы относятся к опасным загрязнителям атмосферы и подлежат контролю в воздухе и атмосферных осадках. При этом большой интерес представляет происхождение частиц. Требуется, например, различать между собой частицы, попавшие в атмосферу в результате лесных пожаров (биомасса) или сгорания углеводородов (автомобильное топливо, керосин). Спектры КР очень чувствительны даже к незначительным различиям в химическом составе анализируемых образцов, которые возможны, например, за счет абсорбции на поверхности частиц черного углерода молекул других веществ, образовавшихся при неполном сгорании биомассы. Для измерения спектров КР приготовлены образцы стекла с нанесенными на них частицами черного углерода. По происхождению (т. е. по исходным объектам горения) нанесенных частиц выделены четыре группы, три из которых представлены продуктами сжигания биомассы, керосина и пластика полиэтилентерефталат (ПЭТ пластик), а четвертая – частицами технического углерода, предоставленного ООО «Технотех» (г. Йошкар-Ола), получаемого путем разложения жидких углеводородов. Измерение спектров КР проводилось на приборе «ИнСпектр» (модель Р532 фирма «Спектр-М», г. Черноголовка), возбуждение рассеяния осуществлялось на длине волны 532 нм. Каждое стекло, на котором оседали частицы черного углерода, измерялось десять раз в разных точках, так как углерод оседал неравномерно. Данный подход позволил получить десять разных спектров из одного стекла (рис. 3).
Наибольшие отличия между КР спектрами образцов разных групп были выявлены в диапазоне волновых чисел от 750 до 2 500 см−1, соответствующие фрагменты измеренных спектров обрабатывались методами хемометрики и машинного обучения.
Для разделения измеренных спектральных данных на химически осмысленные составляющие применен метод главных компонент (МГК). Метод позволяет существенно уменьшить размерность задачи (т. е. число используемых переменных), перейдя вместо исходных переменных к новым, более информативным. Эти новые переменные и называются главными компонентами. Каждая из них в общем случае представляет собой линейную комбинацию исходных переменных. Главные компоненты нумеруют в порядке убывания информативности. Обычно для извлечения основного объема информации из спектра оказывается достаточно 2–3 главных компонент. На рис. 4 полученные данные представлены в плоскости главных компонент, где каждому образцу соответствует точка.
Полученные результаты (рис. 4) показали, что спектры продуктов сжигания биомассы целесообразно разделить на два различных класса. В этой связи отметим, что образцы биомассы получались путем сжигания в обожженной металлической бочке ветвей и стволов древесной растительности, преимущественно без листвы. Разные виды древесной растительности могут дать различающиеся между собой спектры, поэтому каждому классу может соответствовать свой вид сжигаемой растительности. Данная модель способна надежно распознавать продукты сгорания только тех типов биомассы, по которым производилось ее обучение. Нельзя исключать, что спектры продуктов сгорания принципиально других типов биомассы (например, травы) будут существенно отличаться от спектров, указанных двух классов. Таким образом, общее число классов возрастает до пяти.
Спектры частиц технического углерода, полученного путем сжигания нефтепродуктов в специальных печах, продуктов сжигания пластика и продуктов сжигания керосина, целесообразно выделять в самостоятельные классы. По-видимому, технический углерод образуется при более полном сгорании, поэтому он менее загрязнен органическими примесями, по сравнению с другими источниками частиц, получаемыми при меньших температурах и (или) недостатке кислорода. Это и является причиной различий в спектрах. На основе такого разбиения обучена модель классификации образцов частиц черного углерода. Для обучения модели сформирован набор, состоящий из 10 информативных фрагментов КР-спектров каждого из пяти названных классов. Обучение производилось c использованием экстремального градиентного бустинга – одного из современных алгоритмов машинного обучения, позволяющего обойтись небольшим числом образцов в обучающем наборе [23–25].
Для оценки предсказательной способности (валидации) модели сформирован набор из 10 спектров от тех же источников, по которым проводилось обучение модели, но сами спектры не были использованы в процессе обучения. Для проверки способности модели распознавать посторонние образцы, не относящиеся ни к одному из заданных при ее построении классов, подготовлены образцы бумаги с зачерненной с помощью лазерного принтера областью. Эти образцы выполняли роль «фальш-объектов». Спектры этих образцов также были включены в тестовый набор. Результаты валидации показаны в табл. 1 в виде так называемой матрицы ошибок (confusion matrix), которая принята при представлении результатов классификации в машинном обучении. Названиe строк этой матрицы соответствуют исходным данным о принадлежности образцов тестового набора к определенному классу. В каждой ячейке матрицы выводится предсказанное моделью значение доверительной вероятности отнесения образца к классу, соответствующему названию столбца. Из приведенных в табл. 1 данных видно, что для всех образцов частиц черного углерода доверительная вероятность правильного распознавания класса составляет более 85%, а вероятность любого из ошибочных распознаваний не превышает 4%. Программное обеспечение позволяет задавать пороговые значения доверительной вероятности, достаточные для однозначного отнесения образца к определенному классу.
Это значение должны определять пользователи программы исходя из специфики решаемой аналитической задачи на стадии разработки методики.
При решении рассматриваемой задачи для классификации суспензий частиц черного углерода по спектрам КР, выбрано пороговое значение в 75%. В этом случае, исходя из данных табл. 1, для всех 10 образцов тестового набора распознавание класса оказалось правильным. При этом посторонние образцы, приготовленные из бумаги с помощью лазерного принтера описанным выше способом, модель не относила ни к одному из пяти классов, поскольку наибольшее значение доверительной вероятности (51,2%) оказывается существенно ниже порогового.
Помимо рассмотренной выше классификации частиц черного углерода по исходным объектам горения, программное обеспечение успешно апробировано при классификации образцов коньячной продукции по возрасту и географическому происхождению с помощью спектров флуоресценции и комбинационного (рамановского) рассеяния. Использован упоминавшийся выше алгоритм классификации «экстремальный градиентный бустинг» [24–25]. При подготовке обучающего набора особое внимание уделялось достоверности информации об образцах этого набора, позволяющей отнести их к определенному классу.
Заключение
Разработан программный пакет, реализующий основные методы хемометрики и машинного обучения, используемые при обработке спектральных данных. Он может работать как в автономном режиме, так и быть встроенным в программное обеспечение аналитических спектральных приборов. Проведено успешное апробирование разработанного пакета на двух задачах качественного и количественного анализа объектов, представляющих практический интерес на основе спектров комбинационного (рамановского) рассеяния и флуоресценции.
Разработанное программное обеспечение может быть использовано в аналитических лабораториях, выполняющих анализ лекарственных препаратов, пищевых продуктов и продовольственного сырья, объектов окружающей среды методами спектроскопии.
Литература / References
Houhou R., Bocklitz T. Trends in artificial intelligence, machine learning and chemometrics applied to chemical data. Anal Sci Adv. 2021; 2: 128–141. https://doi.org/10.1002/ansa.202000162
Joshi P. B. Navigating with chemometrics and machine learning in chemistry. Artif Intell Rev. 2023; 56: 9089–9114. https://doi.org/10.1007/s10462-023-10391‑w
PLS_Toolbox. Eigenvector Research, Inc. Available from:
https://eigenvector.com/software/pls-toolbox/ [Accessed 4th November 2022]
ChemProject. INRAE Available from: https://www.chemproject.org/ [Accessed 18th July 2023]
Solo. Eigenvector Research, Inc. Available from:
https://eigenvector.com/software/solo/
[Accessed 4th November 2022]
Хемометрическое программное обеспечение BWIQ. ООО «Промэнерголаб» Доступно по адресу:
https://www.czl.ru/catalog/spektr/bwtek/bwiq.html [Доступ 16 сентября 2020]
Chemometric software BWIQ. LLC PromEnergoLab. Available from: https://www.czl.ru/catalog/spektr/bwtek/bwiq.html [Accessed 16th September 2020]
Scikit-learn developers (BSD License). Available from:
https://scikit-learn.org/stable/ [Accessed 6th February 2024]
Xgboost developers. Revision 82d846bb. Available from:
https://xgboost.readthedocs.io/en/stable/python/python_intro.html [Accessed 6th February 2024]
NumPy team. All rights reserved. Available from:
https://numpy.org/ [Accessed 16th September 2023]
pandas via NumFOCUS, Inc. Hosted by OVHcloud. Available from: https://pandas.pydata.org/ [Accessed 8th December 2023]
Python Software Foundation. Available from:
https://docs.python.org/3/library/tkinter.html
[Accessed 6th February 2024]
Tom Schimansky. Available from:
https://github.com/TomSchimansky/CustomTkinter
[Accessed 18th January 2024]
GitHub, Inc. Available from:
https://github.com/Akascape/CTkMessagebox
[Accessed 11th December 2023]
GitHub, Inc. Available from:
https://github.com/Akascape/CTkXYFrame
[Accessed 11th December 2023]
The SciPy community. Available from:
https://docs.scipy.org/doc/scipy/reference/signal.html
[Accessed 6th February 2024]
Python Software Foundation. Available from:
https://docs.python.org/3/library/sys.html
[Accessed 6th February 2024]
The Matplotlib development team. Available from:
https://matplotlib.org/ [Accessed 15th September 2023]
GitHub, Inc. Available from:
https://github.com/StatguyUser/BaselineRemoval
[Accessed 21th September 2023]
Fredrik Lundh and contributors, Jeffrey A. Clark (Alex) and contributors. Logo by Alastair Houghton. Psychedelic art by Jeremy Kun. Available from: https://python-pillow.org/
[Accessed 6th February 2024]
Python Software Foundation. Available from:
https://docs.python.org/3/library/os.html
[Accessed 6th February 2024]
Python Software Foundation. Available from:
https://docs.python.org/3/library/pickle.html
[Accessed 6th February 2024]
Clark Consulting & Research. Available from:
https://www.python-excel.org/ [Accessed 6th February 2024]
Neptune Labs. All rights reserved. Available from: https://neptune.ai/blog/xgboost-everything-you-need-to-know#:~: text=Gradient%20Boosting%20comes%20with%20an, its%20predictions%20easy%20to%20handle.&text=XGBoost%20performs%20very%20well%20on, with%20not%20too%20many%20features [Accessed 11th August 2023]
Саакян А. В., Юшина А. А., Левин А. Д. Классификация бренди и коньячной продукции по географическому происхождению и сроку выдержки с использованием спектроскопии комбинационного рассеяния и машинного обучения. Измерительная техника. 2023; (3):33–38.
https://doi.org/10.32446/0368-1025it.2023-3-33-38
Sahakyan A. V., Yushina A. A., Levin A. D. Classifcation of brandy products by geographical origin and ageing based on raman spectra and discriminant analysis methods. Izmeritel’naya Tekhnika = Measurement Techniques. 2023; (3):33–38. (In Russ.)
https://doi.org/10.32446/0368-1025it.2023-3-33-38
Саакян А. B., Аленичев М. К., Левин А. Д. Характеризация коньяков и виноградных бренди по спектрам флуоресценции, обработанным с помощью методов машинного обучения. Заводская лаборатория. Диагностика материалов. 2023; 89(10):25–33. https://doi.org/10.26896/1028-6861-2023-89-10-25-33
Sahakyan A. V., Alenichev M. K., Levin A. D. Characterization of cognacs and grape brandies by fluorescence spectra processed using machine learning methods. Zavodskaja Laboratorija. Diagnostika Materialov = Industrial laboratory. Diagnostics of materials. 2023; 89(10): 25–33. (In Russ.) https://doi.org/10.26896/1028-6861-2023-89-10-25-33
Авторы / Authors
Саакян Арам Ваганович, аспирант Московского физико-технического института, г. Долгопрудный. Область научных интересов: методы оптической спектроскопии для химического анализа, хемометрика и машинное обучение
Sahakyan Aram Vaganovich, postgraduate student Moscow Institute of Physics and Technology, Dolgoprudny. Research interests: Optical spectroscopy methods for chemical analysis, chemometrics and machine learning
saakian.av@phystech.edu
ORCID 0000-0002-4012-4935
Левин Александр Давидович, д. т. н., ведущий научный сотрудник Всероссийского научно-исследовательского института оптико-физических измерений ФГБУ «ВНИИОФИ», Москва. Области научных интересов: физическая оптика, аналитическая спектроскопия, применение методов искусственного интеллекта в аналитической химии, метрология наночастиц.
Levin Alexander Davidovich, Ph.D., Leading Researcher, All-Russian Research Institute of Optical and Physical Measurements FGBU VNIIOFI, Moscow. Research interests: physical optics, analytical spectroscopy, application of artificial intelligence methods in analytical chemistry, metrology of nanoparticles.
levin-ad@vniiofi.ru
ORCID: 0000-0001-9087-952X
Конфликт интересов /
Conflict of Interest
Авторы заявляют об отсутствии конфликта интересов.
The authors declare no conflict of interest.
Статья поступила в редакцию 13.02.2024
Принята к публикации 19.03.2024