Ввиду того, что сырые первоначальные данные, полученные в ходе геологических исследований, не подходят для непосредственного использования в распознающих моделях по причине таких факторов, как:
- Разные уровни и масштабы записи
- Наличие шумов
- Наличие аномальных значений, в виду погрешности измерений
- Искажения, связанные с техническим процессом измерений (например, инверсированная кривая ПС на некоторых участках)
Возникла необходимость создания инструмента, позволяющего решать эти задачи, а также проводить анализ данных и эксперименты.
В связи с этим, был разработан и запатентован комплекс программ “Preprocessing Module”.
“Preprocessing Module” может использоваться в качестве модуля предобработки данных и предварительного анализа данных электромагнитного каротажа.
В том числе, возможны следующие сценарии использования:
1) Использование “Preprocessing Module” в качестве модуля предобработки, с целью последующего вывода обработанных данных в формате, читаемом программами, реализующими алгоритмы классификации данных, с целью классификации лито-типов для дальнейшего использования, либо с целью проведения экспериментов для выявления оптимальных распознающих моделей и/или вариантов предобработки, а также других закономерностей.
2) Использование “Preprocessing Module” в качестве модуля классификации метрическим алгоритмом. Поскольку “Preprocessing Module” совмещает в себе функционал обработки и классификации, он может быть использован как полноценная классифицирующая модель. Целью такого использования может быть постановка экспериментов, а также вывод результатов интерпретации для дальнейшего использования и анализа.
3) Использование “Preprocessing Module” в качестве инструмента для анализа данных. Гибкость функционала позволяет проводить широкий спектр экспериментов, в том числе использовать классы “Preprocessing Module” как фреймворк для любого анализа данных. Возможность вывода данных в различных форматах позволяет использовать для анализа такое программное обеспечение, как MatLab и другие. Таким образом, “Preprocessing Module” может быть использован в качестве инструмента предварительного анализа данных, для выявления статистических свойств данных, влияние отдельных параметров на результат распознавания, качество и точность данных, наличие и количество шумовых и аномальных значений и др.
1) Обработка для любых наборов данных.
Сюда относятся функции norm, clean_anomalies, clean_noisy_points, window. Данные методы могут использоваться для любых данных и не привязаны к особенностям данных геологического каротажа.
2) Функции обработки данных геологического каротажа, специфические для этого типа данных
К этой группе функционала можно отнести: shift_corr, inverse_PS, align_level. Эти функции позволяют производить обработку данных, полезную для данных геологического каротажа. Практическая полезность этих функций при использовании на других данных сомнительна.
3) Методы предварительного анализа данных, утилиты
Другие функции, такие как crude_define, for_matlab, count_anomalies, er-ror_percent_per_soil, divide_to_classes и другие представляют возможности для исследова-ния, анализа данных, а также предоставляют функционал для удобного вывода данных для использования в других программах.
Для доступа к функционалу “Preprocessing Module” необходимо использовать два основных класса – Sample (выборка) и BoreHole (отдельное множество данных, скважина). Ниже приводятся описания действия всех функций, с указанием принимаемых аргументов и возвращаемых параметров.
“Preprocessing Module” – это система из C++ классов: Point(одна запись данных, точка в пространстве признаков), BoreHole(набор точек, множество данных, скважина) и Sample(выборка, состоящая из нескольких скважин).
При разработке были использованы только стандартные библиотеки C/C++, включая стандартную библиотеку шаблонов STL. Общий объём кода составляет около 3000 строк.
Логика обработки/классификации содержится в более чем 40 функциях, реализованных в классах Sample и Borehole.
Структура хранения данных такова, что с одной стороны поддерживает высокую производительность алгоритмов, не требующих случайного доступа (а подавляющее большинство реализованных алгоритмов производят последовательный доступ к данным а не случайный доступ), с другой – оптимальное использование памяти при хранении больших объёмов данных и масштабируемость на любые объёмы данных (с учётом физических и аппаратных ограничений).
Все реализованные алгоритмы обработки настраиваемы, интегрированы и совместимы, что позволяет гибко конфигурировать процесс предобработки, менять последовательность алгоритмов предобработки, совершать вывод и анализ данных на любом этапе обработки, а также использовать “Preprocessing Module” как фреймворк для различных экспериментов и анализа данных.
Имеется возможность вывода данных в различных форматах для анализа во внешних инструментах, таких как MatLab. Наличие реализованных перегруженных операторов вывода позволяет быстро и удобно изменить формат вывода как отдельных записей, так и всей выборки, без дополнительного рефакторинга кода.
Использование библиотеки STL позволило увеличить производительность, обеспечить масштабируемость модуля и кросс-платформенность “Preprocessing Module”. В частности, были использованы структуры данных vector для хранения данных, map и set для оптимальной реализации ряда алгоритмов обработки данных, а также оптимальные алгоритмы (сортировки, поиска и др.) из стандартной библиотеки STL.
“Preprocessing Module” активно используется в ходе данного исследования в качестве инструмента для предварительной обработки данных для дальнейшей классификации, а также в качестве инструмента для анализа данных и проведения экспериментов.
В частности, было произведено около 1500 вычислительных экспериментов на базе “Preprocessing Module”, а также было обработано порядка 100 наборов данных (порядка 100 000 объектов), полученных методом электромагнитного каротажа со скважин урановых месторождений.
Полученные в ходе этих экспериментов результаты были использованы для анализа имеющихся данных, разработки методики предобработки данных и тестирования новых алгоритмов.
Руководство по установке и использованию