УДК 519.95, 553.98
АЛГОРИТМ ЗАПОЛНЕНИЯ ПРОБЕЛОВ И ОБНАРУЖЕНИЯ ОШИБОК В ГЕОЛОГО-ПРОМЫСЛОВЫХ ДАННЫХ
Вадим Владимирович Татарников
Новосибирский государственный университет, 630090, Россия, г. Новосибирск, ул. Пирогова 2, студент, e-mail: [email protected]
Николай Григорьевич Загоруйко
Институт математики им. С. Л. Соболева СО РАН, 630090, Россия, г. Новосибирск, пр. Академика Коптюга, 4, доктор технических наук, профессор, заведующий лабораторией, e-mail: [email protected]
Разработан алгоритм заполнения пробелов в таблицах геолого-промысловых данных на основе понятия компактности данных и функции конкурентного сходства. Алгоритм применён к реальной задаче, что позволило на его основе предложить критерий для обнаружения ошибок.
Ключевые слова: заполнение пробелов, функция конкурентного сходства.
GAP COMPLETION AND ERROR DETECTION ALGORYTHM IN FIELD-GEOLOGICAL DATA
Vadim V. Tatarnikov
Novosibirsk State University, 630090, Russia, Novosibirsk, 2 Pirogova, master's program student, e-mail: [email protected]
Nikolay G. Zagoruiko
Sobolev Institute of Mathematics, 630090, Russia, Novosibirsk, 4 Koptuga, Doctor of Technical Sciences, Professor, Head of Laboratory, e-mail: [email protected]
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 posing a criterion for detecting errors.
Key word: gap completion, function of rival similarity.
Одной их характерных проблем современной нефтяной индустрии является высокая степень неопределённости данных, собираемых автоматическими системами мониторинга геолого-промысловых объектов. Как правило, эти данные представляют собой таблицы, где с фиксированным интервалом представлены показатели давления в системе, время работы скважины, а также показания расходомеров (дебиты) каждой скважины. Таким образом, эти данные представимы в виде трёхмерной таблицы «объект-свойство-время» или «куба данных». Проблема неопределённости заключается в том, что из-за технических неисправностей и человеческого фактора некоторые клетки этих таблиц могут быть существенно искажены или отсутствовать. Для дальнейшей обработки таких данных ошибки в них необходимо обнаруживать, а пробелы заполнять.
Для решения обозначенной проблемы были проанализированы данные 11 параметров 13 скважин за 4 месяца, а также проведён обзор алгоритмов заполнения пробелов в таблицах данных. Помимо простых локальных методов вроде скользящего среднего или к ближайших соседей (к№Ы), в настоящее время широко используются алгоритмы, основанные на методе наименьших квадратов: регрессия[1] и метод главных компонент[2], применяются алгоритмы на основе оценки максимального правдоподобия[3], позволяющие подбирать распределение величин в таблице. Однако методы, упомянутые выше, действуют глобально: в них предполагается, что зависимость заданного типа реализована на всех объектах, поэтому и в оценивании зависимостей участвуют все строки и столбцы. Применение указанных методов потребует предобработки данных: выделения трендов для применения регрессии или кластеризации для выделения групп объектов и признаков, подчиняющихся распределению определённого вида.
Алгоритм, действующий локально, т.е. оценивающий зависимости в некоторой окрестности предсказываемого объекта, был впервые предложен в работе[4], описывающей алгоритм 7БТ для таблицы вида «объект-свойство». Его основная идея заключается в том, чтобы для восстановления значения одного элемента исходной таблицы найти некоторую подтаблицу, с помощью которой, используя регрессию по строкам и столбцам, восстановить значение целевого элемента. Используются предположения об избыточности данных - наличии похожих столбцов и строк, а также о локальной компактности в данных - из сходства объектов по описывающим признакам следует сходство в целевом. Обозначим объекты (скважины) множеством А, признаки (параметры) множеством X и моменты времени множеством Т , тройкой (А,Х,Т) куб данных, а тройкой (а, х, 0 элемент куба лежащий на пересечении а Е А, х Е X, t е Т. Пусть необходимо восстановить значение элемента (а0,х0, £0) ; для применения 7БТ потребовалось бы составить таблицу путём вертикального соединения двумерных таблиц (а.1,Х,Т), щЕА. Однако, в этом случае алгоритмом никак не учитывается принадлежность отдельно взятого элемента конкретному объекту, тогда как эта информация в исходных данных имеется и может оказаться полезной. В данной работе предложена модификация 7БТ для работы с кубами данных, использующая те же предположения об избыточности и локальной компактности.
В отличие от 7БТ, алгоритм оперирует не отдельными строками и столбцами, а сечениями аЕА, хЕ X, ЬЕТ и оценивает компактность получившегося подкуба при помощи меры компактности на основе функции конкурентного сходства(ЕШЗ). Функция БШБ используется для вычисления меры сходства сечений и определяется как
г(а, а*) - г{а, а0)
где r(ait ау) = Y,xËt(Sai>x>t) ~ (aj>x>t)) - Евклидово расстояние между сечениями.
Значение функции F меняется в пределах интервала [—1; +1] и характеризует, насколько сечение а похоже на сечение а0 в конкуренции с а*, а среднее значение F(a,a0\a*) по выборке сечений aEÄ <zA можно рассматривать в качестве меры компактности. Аналогичным образом вычисляются компактности сечений X с X иТ сГ
Алгоритм 1. Вычисление компактности подкуба (А',Х',Т').
0. Пусть целевой элемент лежит на пересечении а0, х0, t0.
1. По каждому из направлений А, X, Т найдём наиболее удалённые от целевого сечения:
а* = arg тпахаеА' г (а, а0 ), х* = arg maxxex' r(x, х0), t* = argmaxtET'r(t,to).
2. Вычислим средние значения конкурентного сходства по направлениям:
СА' = F/'(a, а0) = щТ!?1 F{aif а0Ю, ^х'= ^s (.х>хо) = 'F(.xi>xo\x*)>
сТ' = F/'а t0) = p| if1 F(tit t0\n.
3. Положим C{A',X',Tt) равным среднему значению компактностей:
CiA^X^T^liC^ + C^ + Cf).
Таким образом, задачей алгоритма является формирование подкуба (А',Х',Т') с максимальной компактностью С, т.е. являющимся решением задачи:
С(А',Х', 7') -г-» шах
АсА
x'tzx
ТаТ
Её решение путём перебора всех возможных конфигураций сечений потребует порядка |Л'|! X |Х'|! X |Г'|! вычислений компактности, поэтому опираясь на гипотезу избыточности данных, целесообразно применять приближённый алгоритм. Поскольку необходимо максимизировать сумму слагаемых из интервала [—1; +1], то для увеличения этой суммы требуется выбирать только положительные, т.е. исключать сечения, имеющие отрицательное сходство с целевыми. В то же время этот процесс необходимо ограничивать, чтобы подкуб не уменьшался слишком быстро и не уменьшился в конечном итоге до размера 2x2x2. Заметим также и такое
свойство F/ (а, а0) : при равномерном распределении а^ между а0 и а* данная величина равна 0. Приведённые соображения позволяют составить следующий алгоритм:
Алгоритм 2. Приближённый алгоритм формировния подкуба {А', Х',Т').
1. Положим искомый подкуб равным исходному кубу
Á = А,Т' = Х,Т' = Т.
2. Повторять:
2.1. Пополним подкуб небольшим числом к случайно выбранных сечений отброшенных на предыдущих шагах:
Á = Á U rand*(A\Á), X' = X' U rand*ix\x'), T' = T'\Jrand*(T\T).
2.2. Найдём наиболее удалённые от целевых сечения а*, х*, t*.
2.3. Вычислим компактность С = С{ А',Х',Т').
2.4. Если не выполнен критерий остановки:
2.4.1. Исключаем сечения с отрицательным сходством
Á = [а Е Á: F (а, а0\а*) > 0}, X'= {xEX':F(x,x0\x)>Ol T = {t Е T :F(t,t0\t*) > 0}.
3. Иначе: конец.
Процедура 1. 1 здесь аналогична процедурам релаксации в приближённых алгоритмах и используется для контроля над скоростью уменьшения размеров подкуба. Величина к - количество возвращаемых сечений - может быть как константой, так и зависеть от числа сечений, исключённых на предыдущей итерации. Благодаря процедуре 1.1, сечения, исключённые ранее, могут быть возвращены в подкуб и улучшить его компактность. Особого внимания заслуживает критерий остановки, являющийся индикатором выполнения одного или нескольких условий:
1. Компактность С подкуба достигла локального экстремума или превысила заранее заданное значение Cs top.
2. Размер подкуба достиг минимально допустимого значения nmin X
™min * ¿min.
3. Если по одному из направлений количество сечений с отрицательным сходством слишком велико, т.е. \а Е Á: F (а, а0|а*) < 0| > а\А'\ и их исключение приведёт к значительному уменьшению размеров подкуба целесообразно не исключать сечения на этом шаге, а подождать следующего. Таким образом, выполнение этого условия по каждому из направлений А, X, Т останавливает работу алгоритма. Опытным путём установлена величина коэффициента, при а = 0.6 обеспечивается баланс между скоростью уменьшения размеров подкуба и его результирующей компактностью.
Получив компактный подкуб (А',Х',Т') и опираясь на гипотезу локальной компактности, можно перейти к восстановлению значения пропущенного элемента {aQ,xQ> t0). Для этого предложим несколько методов. Усреднение целевой характеристики х0 по времени. В случае если сечения t ET' представляют собой некоторую окрестность t0 , результат будет эквивалентен применению алгоритма скользящего среднего, в противном
случае - алгоритма к ближайших соседей. Усреднение целевой характеристики х0 по объектам в момент времени позволит найти среднее значение этой характеристики у «похожих» объектов. Более полно раскрыть информацию о сходстве объектов и признаков позволит многомерная регрессия в сечении целевого объекта а0. При этом вид её членов (линейные, полиномиальные и др.) выбирается на основании предположений о возможном характере зависимостей в данных.
Разработанный алгоритм построения компактного подкуба и восстановления пропущенного значения был применён для оценки согласованности данных дебита с историей изменений параметров скважин. Для оценки точности работы алгоритма использовался метод перекрёстной проверки. Обозначим параметр «дебит» ху1еШ . Далее каждый элемент {а, ху1еШ, €),а Е А,Ь ЕТ исходного куба положим неизвестным при известных остальных, построим компактный подкуб, восстановим значение с помощью линейной регрессии по столбцам сечения целевой скважины и сравним с известным значением. Среднее значение относительной ошибки в данном эксперименте составило 2%, гистограмма ошибки приведена на рис. 1.
Процент ошибки
Рис. 1. Гистограмма относительной ошибки при перекрёстной проверке
В частности, восстановленные значения 96% исследуемых ячеек отклонены от реальных значений не более чем на 10%. Эта статистическая информация может использоваться в качестве критерия оценки ошибок поступающих данных в будущем. Периодический пересчёт статистики позволяет сделать этот критерий адаптивным во времени. Разработанный алгоритм может применяться самостоятельно, либо в составе каскада фильтров для повышения точности обнаружения ошибок.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Бак С. (Buck S. F.) A method of estimation of missing values in multivariate data // J. Roy. Statist. Soc. Ser. B. 196G. V. 22. P. 2G2-2G6.
2. Глисон Т., Стелин Р. (Gleason T. C., Staelin R.) A proposal for handling missing data // Psychometrika. 1975. 4G. P 229-252.
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. P. 138.
4. Загоруйко Н. Г., Елкина В. Н., Темиркаев В. С. Алгоритм заполнения пропусков в эмпирических таблицах (алгоритм ZET) // Эмпирическое предсказание и распознавание образов. Новосибирск, 1975, Вып. 61, Вычислительные системы. С. 3-27.
© В. В. Татарников, Н. Г. Загоруйко, 2014