УДК 519.95, 553.98
АЛГОРИТМ ЗАПОЛНЕНИЯ ПРОБЕЛОВ И ОБНАРУЖЕНИЯ ОШИБОК В ГЕОЛОГО-ПРОМЫСЛОВЫХ ДАННЫХ
Вадим Владимирович Татарников
Новосибирский национальный исследовательский государственный университет, 630090, Россия, г. Новосибирск, ул. Пирогова, 2, студент, e-mail: vadim .tatarnikov@,gmail .com
Николай Григорьевич Загоруйко
Институт математики им. С.Л. Соболева СО РАН, 630090, Россия, г. Новосибирск, проспект Академика Коптюга, 4, доктор технических наук, профессор, заведующий лабораторией анализа данных, e-mail: zag@math.nsc.ru
Разработан алгоритм заполнения пробелов в таблицах геолого-промысловых данных на основе понятия компактности данных и функции конкурентного сходства. Алгоритм применён к реальной задаче, что позволило на его основе предложить критерий для обнаружения ошибок.
Ключевые слова: заполнение пробелов, функция конкурентного сходства.
GAP COMPLETION AND ERROR DETECTION ALGORITHM OR THE FIELD-GEOLOGICAL DATA
Vadim V. Tatarnikov
Novosibirsk State University, 630090, Russia, Novosibirsk, 2 Pirogova St., Student, e-mail: vadim.tatarnikov@gmail.com
Nikolay G. Zagoruiko
Sobolev Institute of Mathematics, 630090, Russia, Novosibirsk, 4 Prospect Koptyuga, Dr Eng, Prof, Head of Laboratory, e-mail: zag@math.nsc.ru
The article deals with development of an algorithm for gap completion in field-geological data on the basis of the notions of data compactness and function of rival similarity (FRiS). The algorithm is applied to a real task, which allows proposing an error detection criterion.
Key words: gap completion, function of rival similarity.
Одной их характерных проблем современной нефтяной индустрии является высокая степень неопределённости данных, собираемых автоматическими системами мониторинга геолого-промысловых объектов. Как правило, эти данные представляют собой таблицы, где с фиксированным интервалом представлены показатели давления в системе, время работы скважины, а также показания расходомеров (дебиты) каждой скважины. Таким образом, эти данные представимы в виде трёхмерной таблицы «объект-свойство-время» или «куба данных». Проблема неопределённости заключается в том, что из-за технических неисправностей и человеческого фактора некоторые клетки этих таблиц могут быть существенно искажены или отсутствовать. Для дальнейшей обработки таких данных ошибки в них необходимо обнаруживать, а пробелы заполнять.
Для решения обозначенной проблемы были проанализированы данные 11 параметров 13 скважин за 4 месяца, а также проведён обзор алгоритмов заполнения пробелов в таблицах данных. Помимо простых локальных методов вроде скользящего среднего или k ближайших соседей (kNN), в
настоящее время широко используются алгоритмы, основанные на методе наименьших квадратов: регрессия[1] и метод главных компонент[2], применяются алгоритмы на основе оценки максимального правдоподобия[3], позволяющие подбирать распределение величин в таблице. Однако методы, упомянутые выше, действуют глобально: в них предполагается, что зависимость заданного типа реализована на всех объектах, поэтому и в оценивании зависимостей участвуют все строки и столбцы. Применение указанных методов потребует предобработки данных: выделения трендов для применения регрессии или кластеризации для выделения групп объектов и признаков, подчиняющихся распределению определённого вида.
Алгоритм, действующий локально, т.е. оценивающий зависимости в некоторой окрестности предсказываемого объекта, был впервые предложен в работе [4], описывающей алгоритм ZET для таблицы вида «объект-свойство». Его основная идея заключается в том, чтобы для восстановления значения одного элемента исходной таблицы найти некоторую подтаблицу, с помощью которой, используя регрессию по строкам и столбцам, восстановить значение целевого элемента. Используются предположения об избыточности данных - наличии похожих столбцов и строк, а также о локальной компактности в данных - из сходства объектов по описывающим признакам следует сходство в целевом.
Обозначим объекты (скважины) множеством А, признаки (параметры) множеством X и моменты времени множеством Т, тройкой {А, X, Т) куб данных, а тройкой (а, х, t) элемент куба лежащий на пересечении аЕ А, х е X, t е Т. Пусть необходимо восстановить значение элемента (a0,x0,t0); для применения ZET потребовалось бы составить таблицу путём вертикального соединения двумерных таблиц {aitX,T), atEA. Однако, в этом случае алгоритмом никак не учитывается принадлежность отдельно взятого элемента конкретному объекту, тогда как эта информация в исходных данных имеется и может оказаться полезной. В данной работе предложена модификация ZET для работы с кубами данных, использующая те же предположения об избыточности и локальной компактности. В отличие от ZET, алгоритм оперирует не отдельными строками и столбцами, а сечениями аЕ А, х Е X, t Е Т и оценивает компактность получившегося подкуба при помощи меры компактности на основе функции конкурентного сходства^ШБ). Функция FRiS используется для вычисления меры сходства сечений и определяется как
г (а, а*) - г (а, а0) F[a,a0\a ) = —- -г,
г {а, а*) + г{а, а0)
где r(ß[, а,-) = Y,xT,t(Sai>x>t) — {a-j,x,t)) - Евклидово расстояние между сечениями.
Значение функции F меняется в пределах интервала [—1; +1] и характеризует, насколько сечение а похоже на сечение а0 в конкуренции с а*, а среднее значение F(a,a0\a*) по выборке сечений aEÄ а А можно
рассматривать в качестве меры компактности. Аналогичным образом вычисляются компактности сечений X с. X иТ сГ
Алгоритм 1. Вычисление компактности подкуба {А',Х',Т').
0. Пусть целевой элемент лежит на пересечении а0, х 0, t0.
1. По каждому из направлений А, X, Т найдём наиболее удалённые от целевого сечения:
а* = arg maxaeA' г (а, а0), х* = arg maxxex' r(x, х0), t* = argmaxteTr(t,t¿).
2. Вычислим средние значения конкурентного сходства по направлениям:
CÁ = F/(a, а0) = F(ait а0Ю,
Cx' = Fs(.x>xО)=|ЗР|Е' ^F(xitxol%*), СТ' = Fj'(t,t0) = ^^F^toin.
3. Положим С (А Х',Т*) равным среднему значению компактностей: С(А',Х',Т') = 1(Са' + Сх+Ст Q._
Таким образом, задачей алгоритма является формирование подкуба (А',Х',Т') с максимальной компактностью С, т.е. являющимся решением задачи:
С(А',Х', Т') тах
А сА ХсХ Тс-Т
Её решение путём перебора всех возможных конфигураций сечений
потребует порядка |Л'|! X X |Т'|! вычислений компактности, поэтому
опираясь на гипотезу избыточности данных, целесообразно применять
приближённый алгоритм. Поскольку необходимо максимизировать сумму
слагаемых из интервала [—1; +1], то для увеличения этой суммы требуется
выбирать только положительные, т.е. исключать сечения, имеющие
отрицательное сходство с целевыми. В то же время этот процесс необходимо
ограничивать, чтобы подкуб не уменьшался слишком быстро в конечном
1
итоге до размера 2x2x2. Заметим также и такое свойство (а, а0): при равномерном распределении а^ между а0 и а* данная величина равна 0. Приведённые соображения позволяют составить следующий алгоритм:
Алгоритм 2. Приближённый алгоритм формировния подкуба {А', Х',Т').
1. Положим искомый подкуб равным исходному кубу
А' = А,Т' = Х,Т' = Т.
2. Повторять:
2.1. Пополним подкуб небольшим числом к случайно выбранных сечений отброшенных на предыдущих шагах:
А' = A' U rand*(A\A')t X = X U rand*(X\X'), Т' = Т' U rand*(T\T').
2.2. Найдём наиболее удалённые от целевых сечения а*, х*, t*.
2.3. Вычислим компактность С = С{ А',Х',Т').
2.4. Если не выполнен критерий остановки:
2.4.1. Исключаем сечения с отрицательным сходством А' = [а е A :F(a,a0\a*) > 0},Х' = {х 6 X':F(x,x0\x) > 0},
T = {tE T : F(t, t0|û*) > 0}.
3. Иначе: конец.
Процедура 1. 1 здесь аналогична процедурам релаксации в приближённых алгоритмах и используется для контроля над скоростью уменьшения размеров подкуба. Величина к - количество возвращаемых сечений - может быть как константой, так и зависеть от числа сечений, исключённых на предыдущей итерации. Благодаря процедуре 1.1, сечения, исключённые ранее, могут быть возвращены в подкуб и улучшить его компактность. Особого внимания заслуживает критерий остановки, являющийся индикатором выполнения одного или нескольких условий:
1. Компактность С подкуба достигла локального экстремума или превысила заранее заданное значение С5 £ор.
2. Размер подкуба достиг минимально допустимого значения пт1П X
3. Если по одному из направлений количество сечений с отрицательным сходством слишком велико, т.е. \а Е А': Р{а, а0\а*) < 0| > а\А'\ и их исключение приведёт к значительному уменьшению размеров подкуба целесообразно не исключать сечения на этом шаге, а подождать следующего. Таким образом, выполнение этого условия по каждому из направлений А, X, Т останавливает работу алгоритма. Опытным путём установлена величина коэффициента, при а = 0.6 обеспечивается баланс между скоростью уменьшения размеров подкуба и его результирующей компактностью.
Получив компактный подкуб (А^Х^Т1) и опираясь на гипотезу локальной компактности, можно перейти к восстановлению значения пропущенного элемента (а0,х0, £0). Для этого предложим несколько методов. Усреднение целевой характеристики х0 по времени. В случае если сечения t Е Т' представляют собой некоторую окрестность , результат будет эквивалентен применению алгоритма скользящего среднего, в противном случае - алгоритма к ближайших соседей. Усреднение целевой характеристики х0 по объектам в момент времени £0 позволит найти среднее значение этой характеристики у «похожих» объектов. Более полно раскрыть информацию о сходстве объектов и признаков позволит многомерная регрессия в сечении целевого объекта а0. При этом вид её членов (линейные,
полиномиальные и др.) выбирается на основании предположений о возможном характере зависимостей в данных.
Разработанный алгоритм построения компактного подкуба и восстановления пропущенного значения был применён для оценки согласованности данных дебита с историей изменений параметров скважин. Для оценки точности работы алгоритма использовался метод перекрёстной проверки. Обозначим параметр «дебит» ху1еШ . Далее каждый элемент {а, ху1еШ, а £ А, Ь £ Т исходного куба положим неизвестным при известных остальных, построим компактный подкуб, восстановим значение с помощью линейной регрессии по столбцам сечения целевой скважины и сравним с известным значением. Среднее значение относительной ошибки в данном эксперименте составило 2%, гистограмма ошибки приведена на рисунке.
Процент ошибки Рис. Гистограмма относительной ошибки при перекрёстной проверке
В частности, восстановленные значения 96% исследуемых ячеек отклонены от реальных значений не более чем на 10%. Эта статистическая информация может использоваться в качестве критерия оценки ошибок поступающих данных в будущем. Периодический пересчёт статистики позволяет сделать этот критерий адаптивным во времени. Разработанный алгоритм может применяться самостоятельно, либо в составе каскада фильтров для повышения точности обнаружения ошибок.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Бак С. (Buck S. F.) A method of estimation of missing values in multivariate data // J. Roy. Statist. Soc. Ser. B. 1960. V. 22.
2. Глисон Т., Стелин Р. (Gleason T. C., Staelin R.) A proposal for handling missing data // Psychometrika. 1975. 40.
3. Демпетер А., Лерд Н., Рабин Д. (Dempster A. P.,Laird N. M., Rubin D. B.) Maximum likelihood from incomplete data via the EM-algorithm // J. Roy. Statist. Soc.Ser. B. 1977. V. 39.
4. Загоруйко Н. Г., Елкина В. Н., Темиркаев В. С. Алгоритм заполнения пропусков в эмпирических таблицах (алгоритм ZET) // Эмпирическое предсказание и распознавание образов. Новосибирск, 1975, Вып. 61, Вычислительные системы.
© В. В. Татарников, Н. Г. Загоруйко, 2014