Что такое петрофизика?

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

Каковы обязанности петрофизика?

Петрофизика подчеркивает те свойства, которые относятся к системе пор, ее распределению флюидов и характеристикам потока. Эти свойства и их отношения используются для идентификации и оценки:

  • Резервуары углеводородов
  • Источники углеводородов
  • Морские котики
  • Водоносные горизонты

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

  • Толщина (границы пласта)
  • Литология (тип породы)
  • Пористость
  • Флюидонасыщенность и давление
  • Идентификация и характеристика жидкости
  • Проницаемость (абсолютная)
  • Дробный поток (нефть, газ, вода)

Эти характеристики легко определить и оценить их роль в оценке запасов. Сложность заключается в определении их реальной стоимости на уровне уверенности, необходимом для принятия экономических решений, ведущих к разработке и производству. Перечисленные семь характеристик взаимозависимы (т. Е. Для правильного определения пористости по каротажу на кабеле необходимо знать литологию, флюидонасыщенность и типы флюидов). Затем наука петрофизика используется, чтобы расшифровать скрытый мир свойств горных пород и флюидов в резервуарах от поверхности земли до глубины более четырех миль. Затем петрофизик берет на себя многие характеристики вымышленного сыщика Шерлока Холмса, чтобы экстраполировать истинную картину подземного резервуара, исходя из самых скудных улик, с упорной решимостью извлечь всю возможную информацию из имеющихся данных, при этом наслаждаясь трепетом от просмотра. Охота.

Как петрофизик решает эту непростую задачу?

Общий метод Арчи состоит в том, чтобы разделить проблему на более мелкие сегменты и повторить итерацию, используя все данные, пока все данные не будут согласованы. Отправной точкой является определение типов пород (петрофаций), в которых мы определяем:

  • Тип поры
  • Распределение пор по размеру
  • Тип порового горла
  • Распределение пор по горлу

В сочетании с типом флюида можно создать модель капиллярного давления, которая приведет к пониманию флюидонасыщенности и потока флюида на месте. Однако петрофизикам доступны следующие инструменты:

Практический пример: Прогнозы синтеза звукового логарифма

Каротажные данные о времени прохождения сжатия (DTC) и времени прохождения сдвига (DTS) не ведутся во всех скважинах, пробуренных на месторождении, из-за финансовых или операционных ограничений. В таких обстоятельствах методы машинного обучения могут использоваться для прогнозирования журналов DTC и DTS для улучшения характеристик геологической среды. Целью этого проекта аналитики на основе петрофизических данных является разработка моделей, управляемых данными, путем обработки «простых для получения» традиционных каротажных диаграмм из исследования Casr «Скважина 1» и использования моделей, управляемых данными, для создания синтетических журналов DTC и DTS. в тематическом исследовании «Скважина 2». Надежная управляемая данными модель для желаемого синтеза акустического каротажа приведет к низким ошибкам прогнозирования, которые могут быть количественно определены в терминах среднеквадратичной ошибки (RME) путем сравнения синтезированных и исходных журналов DTC и DTS.

Предоставляются наборы данных по скважинам (состоящие из скважин 1 и 2), и цель состоит в том, чтобы построить обобщаемые модели на основе данных с использованием набора данных по скважине 1. После этого вы развернете недавно разработанные модели на основе данных в наборе данных скважины 2 для синтеза журналов DTS и DTC. Модель, управляемая данными, использует наборы функций, полученные из следующих семи журналов: кавернометр, нейтрон, гамма-излучение, глубокое удельное сопротивление, среднее удельное сопротивление, фотоэлектрический коэффициент и плотность. Модель, управляемая данными, должна синтезировать два целевых журнала: журналы DTC и DTS.

Источник данных

Местоположение данных - репозиторий GitHub, полученный из репозитория Github, который поддерживается замечательной командой Petrophysical Data-Driven Analytics.

Какой алгоритм машинного обучения использовать?

Единственный способ найти лучший алгоритм для данной проблемы - это попробовать и протестировать все алгоритмы.

Опробовать все возможные алгоритмы машинного обучения для этого проекта стоит дорого, поэтому в контексте этой статьи мы будем использовать e X treme G radient B алгоритм Oosting (XGBoost). Исходя из постановки задачи, мы должны предсказать две особенности, которые сделают ее задачей многоцелевой регрессии. Будет применяться XGBoost Regressor в сочетании с MultiOutputRegressor SKlearn.

Что такое XGBoost?

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

Это реализация машин для повышения градиента, созданная Tianqi Chen при участии многих разработчиков. Он принадлежит к более широкому набору инструментов под эгидой сообщества распределенного машинного обучения или DMLC, которые также являются создателями популярной библиотеки глубокого обучения mxnet. Это бесплатное программное обеспечение с открытым исходным кодом, доступное для использования по разрешительной лицензии Apache-2, которое поддерживает следующие основные интерфейсы:

  • Интерфейс командной строки (CLI).
  • Интерфейс Python, а также модель в scikit-learn.
  • C ++ (язык, на котором написана библиотека).
  • R, а также модель в пакете каретки.
  • Юля.
  • Языки Java и JVM, такие как Scala, и платформы, такие как Hadoop.

Почему XGBoost?

Библиотека ориентирована на

  1. Скорость вычислений: Как правило, XGBoost работает быстро. Действительно быстро по сравнению с другими реализациями повышения градиента.
  2. Производительность модели: XGBoost доминирует над структурированными или табличными наборами данных в задачах классификации и регрессионного моделирования. Доказано, что это алгоритм для победителей конкурса на платформе конкурентной обработки данных Kaggle.

Установка XGBoost

Пакет XGBoost можно установить в среду Python с помощью индекса пакета Python (PyPI) для стабильной версии.

pip install xgboost

Импорт пакетов

Здесь мы начинаем с импорта всех библиотек Python, которые могут понадобиться для этого проекта.

  • warning: Контроль предупреждений для подавления устаревших функций в пакетах python.
  • numpy: Для научных вычислений.
  • pandas: Для обработки и анализа данных
  • matplotlib: Для визуализации графиков и диаграмм.
  • xgboost: алгоритм машинного обучения, используемый для прогнозирования.
  • MultiOutputRegressor: Это обеспечивает среду многоцелевой регрессии.
  • StandardScaler: масштабировать данные
  • train_test_split: Чтобы разделить данные
  • RandomizedSearchCV: Для настройки случайных параметров
  • mean_square_error: Показатель производительности, используемый для оценки прогнозов.

Чтение данных

Во-первых, в большинстве случаев при вводе данных отсутствующие значения заменяются на -999, поэтому идеально идентифицировать его как индикатор отсутствующего значения для системы. Здесь пробелы, а также Nan и NaN также были определены как индикатор отсутствующего значения в наборе данных.

Получение обзора данных

Описание данных соответствующих функций выглядит следующим образом:

  • CAL: логарифм суппорта (единица измерения в дюймах)
  • ЧПУ: нейронный журнал (единица измерения)
  • GR: Gamma Ray log (единица измерения в API)
  • HRD: журнал глубинного сопротивления (единицы в Ом на метр)
  • HRM: журнал среднего удельного сопротивления (единица измерения в Ом на метр)
  • PE: Фотоэлектрический фактор (единица измерения в сарае)
  • ZDEN: Журнал плотности (единица измерения в граммах на кубический метр)
  • DTC: Время перемещения при сжатии lo (единица измерения в наносекундах на фут)
  • DTS: журнал времени перемещения при сдвиге (единица измерения в наносекундах на фут)

DTC и DTS называются звуковыми журналами, которые могут быть вычислены на основе сигналов, записанных на приемнике. Также вычисляется описательная статистика.

Проверка отсутствующих значений

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

Заполнение пропущенных значений

Большинство гистограмм функции являются одномолярными, а другие искажены, поэтому заполнение первой предыдущим значением во фрейме данных, а второй медианой будет очень логичным. Заполнение методом предыдущего значения будет поддерживаться методом pandas fillna backfill, а медиана - методом median.().

Функциональная инженерия

Разработка функций в контексте этой публикации сосредоточена в основном на функции гамма-каротажа (GR). На гистограмме можно наблюдать выбросы, так как значения GR обычно находятся в диапазоне от 0 до 200. Мы будем создавать две новые функции из GR, ограничивая ее верхним и нижним пределами. Будут созданы две новые функции:

  1. индекс гамма-излучения (IGR)
  2. естественное гамма-излучение (NGR)

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

Разделение данных

Обучающие данные разделяются с соотношением 70:30.

Стандартизация данных

Большинство моделей машин работают лучше всего, когда различные переменные помещены в одну шкалу.

Построение и подгонка модели

Регрессия XGBoost создается с уже настроенными гиперпараметрами. Настройка гиперпараметров - процедура, требующая очень больших затрат времени и пропущенная в статье, но ее можно найти в блокноте на github. Модель была адаптирована к обучающим данным, чтобы облегчить процесс обучения.

Прогнозирование и оценка модели

Финальный выход модели - прогнозы. Более низкие значения RMSE указывают на лучшее соответствие и модель в хорошем состоянии! Наконец, модель применяется к данным, которых она не видела - «тестовым» данным.

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