Целью данного кейса является построение модели зависимости эффективности процесса обессоливания нефти от различных параметров процесса.
Большинство нефтяных месторождений по всему миру добывают нефть, которая часто сопровождается значительным количеством воды и солей.
Следовательно, возникает необходимость создания систем обессоливания/обезвоживания для удаления водорастворимых солей из нефти.
По определению, эмульсия-это система, состоящая из смеси двух несмешивающихся жидкостей, одна из которых рассредоточивается в виде мелких капель в другой и стабилизируется эмульгатором. В такой системе внутренней фазой называются дисперсные капли, а жидкость, окружающая дисперсные капли, является внешней или непрерывной фазой. Эмульгатор отделяет дисперсные капли от непрерывной фазы. Существует два основных типа эмульсий, встречающихся на нефтяном месторождении: «вода в нефти» и «нефть в воде». При этом более 95% эмульсий сырой нефти, образующихся на нефтяных месторождениях, относятся к типу «вода в нефти», поэтому дальнейшее обращение к слову «эмульсия» подразумевает именно этот тип.
Пластовая вода течет с сырой нефтью двух типов: свободной и эмульгированной. Свободная вода не смешивается непосредственно с сырой нефтью и находится в более крупных каплях, разбросанных по всей нефтяной фазе. Этот вид воды легко удаляется гравитационными сепараторами, промывочными резервуарами и опреснительными сосудами. С другой стороны, эмульгированные воды тесно перемешиваются и пребывают н нефти в виде крошечных капель. Этот вид трудно удалить простыми отстойными устройствами, поэтому требуется дальнейшая обработка, такая как химическая инъекция, разбавление пресной водой, смешивание и нагрев.
Основная задача опреснительной установки состоит в том, чтобы разбить пленки, окружающие мелкие капли воды, сталкивая капли с образованием более крупных капель и позволяя каплям воды оседать во время или после соединения.
Таким образом, наиболее важными переменными, влияющими на эффективность обессоливания, являются время оседания, химическая инъекция, нагрев, добавление пресной воды и смешивание (эмульсии, химикатов и пресной воды).
Большинство оборудования для обессоливания/обезвоживания использует гравитацию для отделения капель воды от непрерывной фазы. Разность сил тяжести является активным элементом в этом процессе; образующиеся капли пластовой воды тяжелее объема вытесняемой ими нефти. Добываемая вода обычно несет в себе некоторые соли и твердые вещества.
Эмульсии могут быть дополнительно обработаны добавлением химических дестабилизаторов. Эти поверхностно-активные химические вещества адсорбируются на границе раздела вода-нефть, разрывают пленку, окружающую капли воды, и вытесняют эмульгаторы обратно в нефть. Разрыв пленки позволяет каплям воды сталкиваться под действием естественной силы молекулярного притяжения. Время и турбулентность способствуют диффузии деэмульгаторов через нефть к границе раздела фаз.
Нагрев вызывает уменьшение вязкости, толщины и силы сцепления пленки, окружающей капли воды. Нагрев также снижает вязкость непрерывной фазы, помогая каплям воды двигаться свободно и быстрее для соединения. Контроль температуры во время работы – очень тонкая работа. При чрезмерном нагревании может произойти испарение, что приведёт к потере объема нефти.
Соли в эмульсии иногда находятся в твердой кристаллической форме. Таким образом, возникает потребность в пресной воде для растворения этих кристаллических солей. Пресная вода обычно впрыскивается перед теплообменниками для повышения эффективности смешивания и предотвращения образования накипи внутри труб. Пресная вода вводится таким образом, что капли воды в эмульсиях могут быть вымыты, а затем слиты, отсюда и термин «промывная вода».
Сдвиговые воздействия образуют эмульсии. Точно так же, когда в эмульсию добавляют разбавляющую воду, нужно смешать их для того, чтобы растворить кристаллическую соль и помочь соединиться распределенным каплям. Смешивание работает в три этапа: (1) помогает более мелким каплям соединяться вместе, (2) смешивает химикат-деэмульгатор с эмульсией и (3) разбивает свободный впрыскиваемый объем промывочной воды на и равномерно распределяет его.
В качестве набора данных рассматривается Excel-таблица, в столбцах которой указаны 5 параметров, влияющих на процесс обессоливания/обезвоживания:
температура (оС) – столбец Temperature, время оседания (мин) – Settling, время смешивания (мин) – Mixing, химические добавки (ppm) – Chemical и доля добавляемой пресной воды (%) – Dilution.
Помимо этого в таблице приводятся начальные концентрации солей (ptb) и воды (%) – столбцы S/R ini и W/C ini соответственно, финальные концентрации – столбцы S/R и W/C, а также эффективность проведённого обессоливания и обезвоживания (%) – столбцы S/R eff и W/C eff.
Для исследуемых переменных рассматривались следующие значения:
Всевозможные комбинации рассматриваемых значений дают 108 различных наблюдений, которые и приводятся по строкам таблицы данных.
Для начала необходимо импортировать данные в Statistica.
Выбираем файл, в котором содержатся данные.
Мы будем создавать Таблицу данных, поэтому выберем соответствующий вариант.
Указываем, что названия для столбцов нужно взять из первой строки таблицы. Так как нам не нужно отбирать отдельные строки или столбцы, оставим остальные параметры по умолчанию.
Получили следующую таблицу в Statistica.
Название таблицы можно изменить:
Сохраним полученную таблицу.
Для проверки качества моделей данные обычно разбивают на две выборки: обучающую и тестовую.
Обучающую используют для построения моделей, а тестовую – для итоговой оценки качества и сравнения разных моделей.
Для того, чтобы разбить данные на две части создадим колонку Индикатор, в которой для каждого наблюдения сгенерируем случайное число в диапазоне от 0 до 1. Если полученное число будет меньше 0,7, то используем соответствующее наблюдение для обучения, а если больше 0,7, то отнесём наблюдение к тестовой выборке.
Двойным щелчком на пустом поле создадим новый столбец.
Зададим имя столбца и формулу для генерации значений.
Результат:
Теперь создадим ещё один столбец, который будет показывать, какой из подвыборок принадлежит данное наблюдение.
На вкладке Добыча данных выберем CART.
В открывшемся окне нажимаем на Переменные и указываем интересующие нас. Для начала попробуем предсказать эффективность обессоливания.
Переходим на вкладку Проверка и указываем код для обучающей выборки.
Нажмём на кнопку V-кратная кросс-проверка и посл. деревья, чтобы выбрать оптимальное из построенных деревьев. При такой проверке обучающая выборка разбивается на V частей, каждая из которых по очереди выступает в роли тестовой. После чего выбирается дерево с наименьшей средней ошибкой по всем тестовым выборкам.
Итак, программа построила несколько деревьев, из которых выбрала одно.
Рассмотрим детально структуру этого дерева. В окне с результатами CART и выберем Прокрутить дерево.
Дерево предлагает следующий алгоритм для определения эффективности процесса обессоливания:
Сначала смотрим на время оседания, если оно превосходит две минуты, то дальнейший результат зависит только от времени смешивания: если оно больше двух минут, то эффективность будет 79,5%, если меньше – то 73,9%. Если время оседания не превосходит двух минут, то для получения результата необходимо исследовать время смешивания, а затем температуру. Конкретные значения приведены на схеме.
Если вернуться на вкладку анализа и посмотреть на значимость предикторов для такого дерева, то, соответственно, наиболее значимыми окажутся время оседания и время смешивания. Содержание химикатов имеет наименьшую значимость, и в предлагаемом дереве нет разделения по этому параметру.
Более общими словами модель можно проинтерпретировать следующим образом: чем выше значения параметров времени оседания, времени смешивания и температуры, тем выше получаемая эффективность процесса обессоливания.
Перейдём на вкладку Наблюдаем. и исследуем связь между наблюдаемыми и предсказанными значениями для тестовой выборки.
Для идеальной модели все точки должны лежать на диагональной прямой. Предсказанных значений, как и ожидалось, всего 7, поскольку в дереве 7 терминальных вершин. Поэтому точки не могут лежать на одной диагональной прямой, но линейная зависимость всё же прослеживается.
Перейдём к анализу остатков.
Чем ближе точки расположены к красной прямой, тем сильнее их распределение похоже на нормальное. В нашем случае можно считать, что остатки нормально распределены.
Добавим новый столбец, в котором рассчитаем модуль разности наблюдаемого и предсказанного значений.
Найдём среднее значение в полученном столбце.
Подобный анализ можно провести для эффективности обезвоживания. Получим следующее среднее значение остатков:
На вкладке Анализ выберем Нейронные сети.
Будем обучать регрессию.
В качестве зависимой переменной укажем S/R eff, а в качестве независимых – исследуемые параметры.
Для разбиения на подвыборки используем созданный столбец Выборка. На вкладке Подвыборки (ПНС и АНС) укажем вариант с заданными кодами подвыборок:
В качестве переменной, идентифицирующую подвыборки, укажем Set, в качестве кода обучающей выборки поставим 0.
Для тестовой выборки поставим код 1.
Выберем автоматизированные сети.
Поскольку размер выборки не очень большой (примерно 70 объектов), число нейронов тоже сделаем небольшим (1-10). Будем обучать 20 моделей, из которых оставим 5 лучших.
Уберём функции активации на последнем слое, которые выдают ответ в диапазоне [0,1] или [-1,1].
Обучаем и смотрим на результаты.
Здесь в столбце Архитектура можно увидеть количество скрытых нейронов, а в последующих трёх столбцах – качество модели на обучающей, валидационной и тестовой подвыборках.
Можно видеть, что качество на обучающей и тестовой подвыборках весьма высоко, это значит, что моделям удалось отыскать реальные зависимости в данных.
Лучшее качество на тестовой выборке показала модель под номером 2: 0,992442.
Выберем эту модель и более подробно исследуем её результаты.
Нажмём на кнопку Выбрать\Снять сети.
В открывшемся окне выбираем сеть с номером 2 и нажимаем ОК.
Анализ чувствительности позволяет оценить важность каждой переменной для обученной модели.
Перейдём на вкладку Итоги анализа и выберем глобальный анализ чувствительности.
Числа в построенной таблице показывают, во сколько раз увеличится ошибка модели, если убрать соответствующую входную переменную из анализа. Если отношение меньше единицы, то удаление соответствующей переменной улучшает качество работы сети.
Можно видеть, что ответы модели наиболее чувствительны к переменным Temperature и Settling, то есть к температуре и времени оседания. Таким образом, удаление этих переменных сильно ухудшит качество рассматриваемой модели.
При этом по показателю чувствительности нельзя определить, как именно влияют переменные на предсказанное значение, увеличивают или уменьшают его. Проверить это можно экспериментально, задав модели наблюдения с разными значениями исследуемой переменной.
По результатам модели при увеличении температуры и времени оседания эффективность процесса возрастает.
На вкладке Графики построим диаграмму рассеяния для целевой переменной и выхода нейронной сети.
Точки расположены вдоль прямой с незначительными отклонениями. Это значит, что модель хорошо восстановила зависимость в исходных данных. Об этом говорит и R2-коэффициент этих моделей, который близок к елинице.
Посмотрим на гистограмму остатков.
Распределение остатков слабо похоже на нормальное, так как наблюдаются два пика.
Найдём среднее значение ошибки.
Выделим столбец с абсолютными остатками и найдём среднее значение.
Сохраним обученную модель, чтобы её можно было повторно использовать в дальнейшем.
Проведём аналогичный анализ для целевой переменной W/C eff и вычислим среднее значение остатков.
Нейронные сети и деревья решений могут находить нелинейные зависимости в данных и имеют свои плюсы и минусы. Так, нейронные сети выявляют более сложные зависимости, а результаты деревьев легко интерпретируются.
В рассмотренных примерах нейронные сети показали более высокое качество, чем деревья регрессий. Приведём в таблице средние значения остатков.
Нейронные сети |
Деревья регрессий |
|
Эффективность обессоливания |
1,28 |
1,91 |
Эффективность обезвоживания |
1,24 |
9,19 |
Приложение 1
Если классические методы анализа не работают или точность результатов не удовлетворяет исследователя, встаёт задача выбора инструмента. Таким инструментом могут служить нейронные сети, позволяющие строить сложные нелинейные зависимости.
Простейший вариант нейронной сети состоит из трёх слоёв: входного, скрытого и выходного.
Исходные данные (набор значений переменных для какого-либо наблюдения) поступают на входной слой.
Скрытый слой состоит из нескольких нейронов, каждый из которых строит линейную комбинацию из исходных данных (как в модели линейной регрессии) и применяет функцию активации.
Вычисленные таким образом значения с каждого нейрона поступают на выходной слой, где из них снова строится линейная комбинация с применением функции активации. Полученное число и будет являться ответом модели на имеющиеся данные.
Схематично архитектуру такой нейронной сети можно представить следующим образом:
Здесь красным цветом обозначены исходные данные на входном слое, коричневым – нейроны скрытого слоя и зелёным – ответ модели на выходном слое.
Пусть x1,x2,…,xk – значения k независимых переменных какого-то наблюдения. Тогда i-й нейрон построит следующую зависимость:
Здесь si – вычисленное i-м нейроном значение, wi0,wi1,wi2,…,wik подобранные этим нейроном веса, а σ – функция активации скрытого слоя.
Тогда результат работы модели будет вычисляться как
Здесь
– ответ модели,
ω0,ω1,ω2,…,ωm подобранные
веса выходного слоя, m – количество
нейронов на скрытом слое, а
–
функция активации
выходного слоя.
В качестве функций активации могут использоваться различные функции: тождественная, арктангенс, синусоидальная, экспоненциально-линейная и другие.
Пусть y1,y2,…,yn
– наблюдаемые
значения целевой
переменной, а
–
предсказанные моделью.
Для оценки качества предсказаний используется коэффициент детерминации R2, который задаётся следующей формулой:
где
–
среднее значение переменной.
Чем ближе R2 к 1, тем точнее модель
предсказывает значения
зависимой
переменной. Если R2 = 0, то предсказания ничем
не лучше тривиального
.
Приложение 2
Дерево регрессии – это древовидная структура, состоящая из внутренних вершин, терминальных вершин и ветвей. Каждый внутренний узел обозначает проверку какого-либо атрибута (например, Температура < 60), каждая ветвь представляет результат теста (да/нет), а каждый терминальный узел содержит ответ, который выдаёт дерево, если в результате проверок рассматриваемый объект попал в этот узел.
Структура дерева, переменные для проверки и пороговые значения подбираются автоматически в процессе построения модели.
Основным преимуществом деревьев является их простота. Алгоритм, представленный в виде дерева является интуитивно понятным и легко интерпретируется, поскольку позволяет получить правила для определения ответа на естественном языке.
В.П.Боровиков. Искусство анализа данных на компьютере: для профессионалов (2-е издание), СПб.: Питер, 2003. – 688 с.: ил.
В.П.Боровиков. Нейронные сети, Горячая Линия_Телеком, 2008
В.П.Боровиков. Популярное введение в современный анализ данных и машинное обучение на STATISTICA, Горячая Линия_Телеком, 2018
Al-Otaibi M. B. Modelling and optimising of crude oil desalting process : дис. – Loughborough University, 2004.
Узнайте больше на курсах Академии Анализа Данных StatSoft
Авторские права на дизайн и материалы сайта принадлежат компании StatSoft Russia.
|
© StatSoft Russia |
StatSoft Russia – компания, зарегистрированная и действующая в соответствии с законами России, которые могут отличаться от законов других стран, имеющих офисы StatSoft. Каждый офис StatSoft является самостоятельным юридическим лицом, имеет право предлагать услуги и разрабатывать приложения, которые могут быть, а могут и не быть представлены в офисах StatSoft других стран. |