=Paper=
{{Paper
|id=Vol-2022/paper45
|storemode=property
|title=
Оценка качества научных гипотез в виртуальных экспериментах в областях с интенсивным использованием данных
(Estimation of Scientific Hypotheses Quality in Virtual Experiments in Data Intensive Domains)
|pdfUrl=https://ceur-ws.org/Vol-2022/paper45.pdf
|volume=Vol-2022
|authors=Evgeny Tarasov,Dmitry Kovalev
|dblpUrl=https://dblp.org/rec/conf/rcdl/TarasovK17
}}
==
Оценка качества научных гипотез в виртуальных экспериментах в областях с интенсивным использованием данных
(Estimation of Scientific Hypotheses Quality in Virtual Experiments in Data Intensive Domains)
==
Оценка качества научных гипотез в виртуальных
экспериментах в областях с интенсивным
использованием данных
© Е.А. Тарасов1 © Д.Ю. Ковалев2
1
Московский государственный университет имени М.В. Ломоносова,
2
Федеральный исследовательский центр «Информатика и управление» РАН,
Москва, Россия
tarasov@outlook.com dkovalev@ipiran.rue
Аннотация. Исследованы подходы, позволяющие оценить качество модели, реализующей
гипотезу в рамках виртуального эксперимента. Математические модели, порождающие гипотезы,
активно используются в областях с интенсивным использованием данных. К одной из таких областей
можно отнести исследования многофазных потоков жидкости. Модель реализует гипотезу о скорости
потока жидкости в трубе. Подход оценки качества осуществляется в рамках общей классической
теории детектирования сигнала. Оценка представляет собой бинарный показатель. В качестве
аппарата проверки гипотез используются два метода: частотный и Байесовский. Обработка входных
данных осуществляется в потоковом режиме. Из данных, поступающих на вход системе, на этапе
предобработки извлекаются признаки, которые затем подаются на вход исследуемой модели. С
определенной периодичностью происходит перерасчет оценки качества с учетом изменяющихся
параметров среды. Таким образом, отслеживается момент, когда модель начинает плохо
предсказывать поведение физического явления. В работе описана реализация данного функционала
на распределенной вычислительной системе.
Ключевые слова: виртуальный эксперимент, управление гипотезами, частотный подход,
Байесовский подход, многофазное течение жидкости.
Estimation of Scientific Hypotheses Quality in Virtual
Experiments in Data Intensive Domains
© Evgeny Tarasov1 © Dmitry Kovalev2
1
Lomonosov Moscow State University,
2
Federal Research Center Computer Science and Control of the Russian Academy of Sciences,
Moscow, Russia
tarasov@outlook.com dkovalev@ipiran.rue
Abstract. In this paper, we investigate approaches that allow us to estimate the quality of model
implementing hypotheses within a virtual experiment. One of the areas of DID under study is the multiphase
fluid flow analyses. The quality estimation approach is carried out within the framework of the general
classical detection theory. The estimate is a binary indicator. As a instrument for testing hypotheses, two
approaches are used: frequency and Bayesian. Feature Extraction is carried out in the streaming mode. With
a certain periodicity, the quality assessment is recomputed taking into account the changing environmental
parameters. Thus, the moment when the model begins to poorly predict the behavior of the physical
phenomenon is captured. This paper describes the implementation of this approach within a distributed
computing framework.
Keywords: virtual experiment, hypothesis management, frequency approach, Bayesian approach,
multiphase fluid flow.
1 Введение полуструктурированном виде. Таким образом,
акцент в работе ученого смещается с проведения
Данные в современных исследованиях имеют реального физического эксперимента на обработку
определяющую роль [11]. Они могут быть данных в рамках виртуального эксперимента,
представлены как в неструктурированном, так и в моделирующего поведение физического явления.
Данная парадигма работы получила название
Труды XIX Международной конференции исследований с интенсивным использованием
«Аналитика и управление данными в областях с данных (ИИИД) [20].
интенсивным использованием данных»
(DAMDID/ RCDL’2017), Москва, Россия, 10–13
октября 2017 года
281
К одной из областей ИИИД можно отнести разделе 2 представлен сравнительный обзор
течение многофазных потоков жидкости [8]. Данные платформ, на базе которых может быть осуществлен
собираются с множества сенсоров, например, виртуальный эксперимент. Раздел 3 определяет
выполняется дискретная запись акустического онтологическую спецификацию двух предметных
сигнала, температур, давления, течения жидкости. областей: течения жидкости и управления
Накопленные объемы данных служат для гипотезами. В разделе 4 выполнена концептуальная
характеристики многофазных потоков и их режимов. спецификация данных, используемых в виртуальном
Важным приложением интерпретации акустического эксперименте. Раздел 5 описывает формат сырых
сигнала и накопленных мета-данных является входных данных, данных, поступающих на вход
предсказание скорости потока жидкости. модели, и извлечённые значимые признаки модели
Несмотря на значительные успехи в течения жидкости. Раздел 6 содержит описание
интерпретации данных с сенсоров, проблемы метода оценки качества с использованием двух
построение сложных моделей, объясняющих подходов: частотного и Байесовского. Раздел 7
динамику течения жидкости, остаются открытыми. раскрывает архитектуру использованного для
Проведение точного физического эксперимента расчётов программно-аппаратного комплекса. В
требует от исследователя серьезных усилий, т. к. разделе 8 представлен реализованный поток работ.
необходимо обеспечить множество специальных Раздел 9 описывает результаты, полученные на
условий [32]. Численное моделирование, особенно практике.
для недостаточно хорошо изученных потоков, часто
требует калибровки с экспериментом [25, 31]. 2 Обзор платформ
Разработка подходов к анализу данных для 2.1 Критерии выбора
интерпретации потоковых данных виртуального
эксперимента является важной и перспективной Одним из ключевых элементов ИИИД, наряду с
проблемой для исследования. машинным обучением, является явное
Параметры модели течения жидкости не использование гипотез в определении виртуального
являются статичным элементом. Внешние условия эксперимента [10]. Многие исследователи
скептически относятся к подходу с использованием
изменчивы и влияют на неё. Из-за этого
машинного обучения, так как он дает низкую
предсказательная способность модели может
интерпретируемость полученных результатов, так
начинать резко ухудшаться [30]. Это приводит к как многие методы в нем используются как черный
необходимости проведения её повторной ящик [18]. Подход же на основе гипотез лишен
калибровки. Важно отследить тот момент, когда данного недостатка. Гипотезы в математическом
модель начинает выдавать заведомо плохой виде описывают априорные знания об исследуемом
результат. Таким образом, платформа, явлении, которые проверяются в рамках
обрабатывающая вычисления, должна уметь виртуального эксперимента.
работать с потоковыми данными в режиме, близком На сегодняшний день отсутствует единая
к реальному времени. Это обуславливает особое методология работы с потоковыми данными [36].
отношение к такому роду задач. Программные продукты, которые в той или иной
Одной из таких особенностей является мере реализуют представления отдельных групп
требование распределенности. Система должна быть ученых на то, как нужно работать с ними, не
легко масштабируема, чтобы обрабатывать модель являются развитыми и стабильными.
любой сложности с постоянно возрастающим В рамках исследования существующих решений
объемом данных за разумный промежуток времени. по поставленной перед нами цели рассмотрим
Готовых открытых систем в области гидродинамики, платформы для обработки данных в таких области
удовлетворяющих данному требованию, по научной деятельности как:
сведению авторов, нет. • средства управления гипотезами и проведения
Всё больше задач формируется не в рамках одной виртуального эксперимента;
области, а междисциплинарно. Таким образом, • средства управления и обработки потоковых
возрастает роль онтологических спецификаций [37]. данных.
В качестве требований, предъявляемым при
Это позволяет как различным ученым в рамках
сравнительном анализе систем, будем применять
одной области, так и ученым из различных областей
следующие положения:
использовать общие понятия, что необходимо для 1. Система должна соответствовать
ускорения проведения совместных исследований. В онтологической спецификации предметной
данной работе область применения исследования области. Это значит, что на базе нее возможно:
лежит как в контексте изучения физических явлений, a. реализовать модель;
а именно, течения жидкости, так и управления b. провести статистическое тестирование;
гипотезами [10]. 2. Система должна уметь работать с большим
Новизной данной работы является объемом потоковых данных;
распределенная реализация метода бинарной оценки 3. Распределенность и скорость, т. е. должна легко
качества модели, работающей с потоковыми масштабироваться в зависимости от
данными. вычислительной нагрузки. Результат должен
Статья организована следующим образом. В получаться в режиме, близком к реальному
времени;
282
Таблица 1 Сравнение платформ управления гипотезами
Название Ключевые элементы Слабые стороны Сильные стороны
Hephaestus Собственный SQL-подобный Интеграция данных не Тестирование и
язык запросов для описания предоставляется из ранжирование гипотез на
эксперимента. коробки. основе частотной
Основной элемент – Плохое описание модуля статистики.
виртуальный эксперимент. поиска корреляций. Граф знаний может
Построение вероятностно- Ориентированность визуализировать
причинных графов. применения – результаты и помогать
Мета-система – работает над здравоохранение, ведет к интегрировать новые
существующими базами данных. своей интерпретации гипотезы.
определения виртуального Работает с наборами
эксперимента. гипотез.
FCCE Использование NoSQL БД. Не описан модуль Сосредоточение на
Основной элемент – концепция корреляций. минимизации задержек.
функций. Ориентированность Поддержка доступа к
API поддержки для хранения, применения – анализ сырым данным.
извлечения, оценки корреляции поведения сети. Быстрый модуль поиска
по признакам. Не оперирует корреляций.
Комплексная многоуровневая математическими Программно реализован.
система агрегации данных. формулами.
ϒ-DB Основной элемент – поддержка Взаимосвязь гипотез СУБД на базе SQL.
научных исследований. выходит за рамки Автоматически
Вероятностная БД. системы. пересчитывает вероятность
Работа с отдельными Проблемы с после получения новых
гипотезами. масштабируемостью. данных или гипотезы.
Байесовский подход. Работает с формулами.
Гипотезы в формате MathML.
4. Открытость, т. е. система должны быть с оценки производительности [36]. В научной
открытым исходным кодом; литературе существуют публикации, авторы
которых проводят определённые сравнения, однако
5. Стабильность работы также является важным
проблемой являются узкая специализация и
критерием, т. к. многие средства были
ограниченность применения этих тестов [9]. В связи
разработаны ещё совсем недавно и не прошли
с отсутствием единой методологии целесообразно
полного цикла отладки.
получать сравнительную производительность систем
2.2 Управление гипотезами на данных конкретной исследовательской задачи для
В настоящее время в рамках работы в областях с всех анализируемых платформ.
интенсивным использованием данных многие Однако скорость является не единственным
исследователи приходят к выводу о необходимости критерием выбора платформы. Сводные
унификации подходов построения виртуальных данные [13, 15] по потоковым системам
экспериментов. Отдельные научные группы представлены в Таблице 2.
разрабатывают свои программные продукты, 2.4 Выбор платформы
реализующие видение своих авторов к данной
проблематике. Проанализируем некоторые из них – Исходя из всех выше приведенных обзоров,
такие продукты, как: Hephaestus [10, 38], Features можно сделать следующие выводы.
Collection and Correlation Engine (FCCE) [26, 38], ϒ- В рамках данной работы невозможно
DB [11, 12, 38]. Сводная информация по сравнению использовать никакую из существующих систем по
управлению гипотезами. Это обусловлено тем, что
платформ управления гипотезами представлена в
они:
Таблице 1. • ориентированы на работу с статическими
2.3 Потоковые системы данными, хранящимися в базе данных;
• нет гибкого инструмента построение
Для сравнения выберем открытые системы, виртуального эксперимента; имеется ориентаций
которые являются наиболее популярными с точки на свои области применения;
зрения применимости в практических задачах. К • не являются открытыми программными
таким продуктам можно отнести: Storm [5, 21, 15], продуктами;
Flink [1, 2, 15], Spark Streaming [4, 15, 27, 13]. • не носят законченного характера; некоторые
Серьёзной проблемой выбора потоковых модули имеют только описательный характер без
фреймворков [36, 29] является отсутствие в практической реализации;
настоящее время единых и объективных критериев • плохая документированность.
283
Таблица 2 Сравнение потоковых систем
Критерий Storm Flink Spark Streaming
Поддержка языков Java Java, Scala Java, Scala, Python
программирования
Режим работы Потоковый (tuple-wise) Потоковый и микро- Микро-пакеты (micro-
пакеты batch)
Обработка сообщений По крайней мере один Строго один раз Строго один раз
раз (at least once) (exactly once) (exactly once)
Управление окном Нет, встроенными На основе: времени, Только на основе
средствами строк, приходящих времени
данных
Управление ресурсами YARN, Mesos, Built-in YARN, Built-in YARN, Mesos, Built-in
Задержка обработки Низкая Низкая Средняя
Механизмы обеспечения ACK записи Распределенные Микро-пакет
отказоустойчивости снапшоты
Управление потоком Проблематично Естественно Проблематично
Операции с сохранением Нет Да Да
состояния
Потоковая примитива Tuple DataStream DStream
Пропускная способность Низкая Высокая Высокая
В качестве платформы оценки качества эксперименте частота дискретизации составляет
виртуального эксперимента выбрана платформа на 100 кГц. Обработанный сигнал записывается в
базе Spark Streaming. Этот выбор обусловлен результирующий файл эксперимента.
следующими положениями: Онтология предметной области соответствует
• текущая реализация модели течения жидкости реальному физическому эксперименту. Каждый
представлена на Python; эксперимент выполняется в течение 25 секунд. Затем
• имеется возможность расширения функционала происходит некоторое изменение в параметрах
программирования проверки статистических модели, затем эксперимент повторяется снова. Так
гипотез за счет установки дополнительных на выходе получается набор результирующих
библиотек; файлов. Поток данных формируется искусственно с
• возможность управления окном на основе использованием этих файлов.
времени.
Из сравнительной таблицы потоковых систем 3.2 Управление гипотезами
видно, что Spark Streaming не является самой
Онтологическая спецификация управления
производительной системой. Её выбор обусловлен
гипотезами представлена на Рис. 2.
поддержкой языка Python и обеспечением
Определим некоторые термины предметной
минимально необходимого функционала.
области. Виртуальный эксперимент – деятельность
3 Онтологическая спецификация по применению набора гипотез для воспроизведения
симуляций близких к наблюдаемому явлению.
3.1 Течение жидкости Гипотеза – формальная спецификация свойств
Онтологическая спецификация течения жидкости исследуемого объекта или явления, имеющих
представлена на Рис. 1. Данная онтология описывает математическое представление. Модель – алгоритм,
проведение реального эксперимента, при котором реализующий гипотезы. Оценка качества –
анализируется течение жидкости в трубе [8]. В характеристика модели, позволяющая сделать вывод
качестве жидкости могут использоваться: вода, о её соответствии реальному явлению.
масло, их смесь с газом. Жидкость в рамках данного Статистическое тестирование – это процесс
эксперимента обладает следующими свойствами: принятия решения о том, противоречит ли
температура, скорость потока, давление. В рамках рассматриваемая статистическая гипотеза выборке
модели акустический шум и спектр являются данных. Частотный подход – аппарат проверки
функциями давления. Спектр в свою очередь гипотез, базирующийся на частотном определении
характеризуется амплитудой и частотой, которые вероятности, т. е. вероятности как предела
являются входными данными для определения относительной частоты наблюдения некоторого
величины частотного пика. Давление измеряется события в серии однородных независимых
гидрофонами, установленными в испытаний. Байесовский подход – аппарат проверки
гидродинамической трубе. Также для измерения гипотез, базирующийся на байесовском определении
температуры скорости потока используются вероятности, для которой имеются некоторые
дополнительные сенсоры. Данные с гидрофонов и априорные знания о наблюдаемом явлении.
сенсоров поступают на аналогово-цифровой Потоковая система – программное средство,
преобразователь, который, в свою очередь, позволяющее анализировать непрерывно
усиливает и дискретизирует поступающий сигнал в поступающие на ее вход данные.
соответствии с заданными свойствами. В
284
Acoustic Noise Oil Water
a function of is a is a
has property has property
Pressure Fluid Temperature
flow in has property
measures
measures
Pipe Flow rate Sensor
request
a function of measures set on
Analog Digital send data
Spectrum Hydrophone Dataset
request Converter
has property has property
has property has property
Amplitude Frequency
Sampling rate Amplification
a function of a function of
Frequency peak
Рисунок 1 Онтология течения жидкости
has implement
Quality Score Hypothesis Model
has
Virtual
has has
computes use Experiment
has Streaming
Statistical Test
System
is a is a
Bayes Frequentist
Рисунок 2 Онтология управления гипотезами
0..* AcousticNoise HydrophoneObservation
-rms:Float -preasure:Float
1..*
Spectrum 0..* 0..* Observation PipeObservation
VirtualExperiment
-frequency:Float -temperature:Float
-timestamp:DateTime
-amplitude:Float -volrate:Float
Рисунок 3 Концептуальная спецификация
На базе потоковой системы реализована модель, температуры, значении частоты пика спектра, шума
описывающая течение жидкости в трубе. Также потока. Также известно, что имеются корреляции
данная система имеет модули выполнения проверки между показателями гидрофонов, установленных в
статистических тестов. На базе результата работы гидродинамической трубе. Данные разделяются на
модели и входных данных сформулированы полученные из наблюдения и вычисленные из
гипотезы, позволяющие получить оценку качества данных наблюдения. К непосредственно
модели. Оценка высчитывается на базе получаемым данным относится информация от
статистических тестов, заложенных в потоковой гидрофонов и сенсоров, а именно: давление,
системе. В виртуальном эксперименте температура, скорость потока. К вычисляемым
рассматриваются частотный и Байесовский подходы относятся: спектр, амплитуда, акустический шум.
для получения оценки качества. Все эти характеристики рассчитываются на основе
наблюдаемых показателей давления. Все данные,
4 Концептуальная спецификация кроме временной метки, имеют вещественный тип.
Концептуальная спецификация виртуального
5 Формат данных
эксперимента представлена на Рис. 3.
В рамках исследуемой модели имеется априорное 5.1 Входные данные
знание о зависимости скорости потока от
Данные, полученные в рамках реального
285
физического эксперимента, хранятся в CSV (Comma на набор данных, поступивших с гидрофонов. Так
Separated Value) файлах на распределенной как используется информация из трёх каналов, то
файловой системе (HDFS). На вход системе степень параллелизма на этапе предобработки
поступает два вида файлов: данные, полученные с устанавливается также равной трём.
гидрофонов; данные, полученные с сенсоров. Концепт RDD имеет свой API и поддерживает два
Файл с информацией, полученной с гидрофонов, вида операций:
имеет следующее описание. Заголовок файла • трансформацию – получение нового набора из
состоит из порядкового номера nm,– указатель существующего;
канала гидрофона h{i}, где i – число от 0 до 2. • действие – запускает задание на выполнение.
Столбцы разделены знаком табуляции. Заголовок При написании программы важно отслеживать
файла выглядит так: nm\t\h0\h1\h2. область действия переменных в рамках данных
Частота дискретизации для сбора акустических видов операций.
данных составляет 100 кГц. Один эксперимент Важными характеристиками RDD являются:
длится 25 секунд. Таким образом, каждый CSV файл • распределенность – операции над данными
содержит 2,5 миллиона строк. выполняются на различных узлах кластера;
Файл с информацией, полученной с сенсоров, • ленивое исполнение (“lazy”) – трансформация не
имеет следующее описание: заголовок файла состоит выполняется прямо сейчас; система хранит
из timestamp – временной метки, temp – температуры, последовательность операций над набором;
vol_rate – скорости потока, file – файла, выполнение происходит, только если в коде
соответствующего показателям гидрофонов. программы встретилась операция действия;
Столбцы разделены знаком “;”. Заголовок файла • управление состоянием – возможность выбора, из
выглядит так: timestamp;temp;vol_rate;file какого хранилища (память или диск) они будут
Показатели температуры и скорости потока повторно использоваться.
собираются один раз в секунду. Вопросы
синхронизации показателей различных файлов 6 Подход оценки качества
решаются через информацию временных меток и
сопоставления имен файлов в соответствующих 6.1 Описание метода
полях. Рассматриваемый нами метод оценки качества
виртуального эксперимента опирается на
5.2 Обрабатываемые данные
классическую теорию детектирования сигнала [14].
Данные для обработки в потоковой системе Эта теория выступает как средство количественной
преобразуются в формат RDD (Resilient Distributed оценки возможности различать информационную
Dataset) – отказоустойчивый набор элементов, составляющую сигнала от шума [24]. Базовые
обработка которых может выполняться компоненты теории детектирования представлены
параллельно [28]. Вся логика работы с данными на Рис. 4.
происходит в рамках этого концепта. Существуют Первым ее элементом является источник,
два способа получения такого набора: который генерируют выходной сигнал. Его выход
• параллелизация последовательного массива в может быть одним из нескольких вариантов. В самом
рамках текущей программы с помощью вызова простом случае это гипотезы: 𝐻1 и 𝐻0. Второй и
метода parallelize(); третий компоненты соответственно: механизм
• на этапе извлечения данных из внешних вероятностного перехода и пространство
источников, таких, как HDFS, HBase, Streaming наблюдений. Механизм перехода может
Context. рассматриваться для определения, какая гипотеза
При создании распределенного набора можно как истина. На основе этих знаний он генерирует точку в
явно задать число, показывающее, сколько пространстве наблюдений в соответствии с
параллельных разделов использовать при работе с некоторым законом вероятности. Независимая
этими данными, так и использовать значение по дискретная случайная величина 𝑛, чья плотность
умолчанию. вероятности нам известна, добавляется к выходу
В рамках виртуального эксперимента самые источника.
«тяжелые» в вычислительном плане задачи ложатся
Decision
H0
Probabilistic transition Observation rule
Source Decision
mechanism space
H1
n
Noise
Рисунок 4 Компоненты теории детектирования
286
Четвертым компонентом теории детектирования Стьюдента [34]. Статистика критерия имеет
сигнала является правило принятия решения. После распределение Стьюдента с 𝑛 − 1 степенями
получения наблюдаемой переменой в пространстве свободы:
наблюдений мы должны угадать какая гипотеза была (𝑋̅ − 𝜇)√𝑛
истинной. Правило принятия решений сопоставляет 𝑇(𝑋) = ~𝑠𝑡(𝑛 − 1),
𝑆
каждой точке наблюдений одну из 1
где выборочное среднее 𝑋̅ = 𝑛 ∑𝑛𝑖=1 𝑥𝑖 , выборочная
гипотезПодходящий выбор правил будет зависеть от 1
многих факторов, которые определяются дисперсия 𝑆 2 = ∑𝑛𝑖=1(𝑥𝑖 − 𝑋̅)2 .
𝑛−1
постановкой конкретной исследовательской задачи. Пусть задан уровень значимости 𝛼 = 0.05. В
Мы рассматриваем оценку качества как бинарное нашей задаче используем двухстороннюю
событие, которое в математическом представлении альтернативу. Таким образом, статистический
определено в виде гипотез: критерий будет иметь вид |𝑇| > 𝑇𝛼/2 , где 𝑇𝛼 – 𝛼-
𝐻0 : модель корректна; квантиль распределения Стьюдента с 𝑛 − 1
𝐻1 :происходит нарушение работы модели. степенями свободы. Если |𝑇| > 𝑇𝛼/2 , то нулевая
Чтобы сделать предположение о качестве модели, гипотеза 𝐻0 отвергается.
необходимо выполнить статистическую проверку
данных. 6.3 Байесовский подход
Одним из параметров, передаваемых на вход
Байесовский подход отличается от классического
нашей системы один раз в секунду, является
тем, что в своей основе имеет другое определение
измеренная величина 𝑌 скорости потока. В рамках вероятности (она интерпретируется как мера
проведения виртуального эксперимента модель незнания, а не как объективная случайность [33]). В
выдавала вычисленную величину 𝑌̂ скорости потока. общем виде вероятность определяется как степень
Оценивая их разность 𝑌̂ − 𝑌 на протяжении 25 уверенности в истинности суждения. Мы имеем
секунд, можно сделать вывод об оценке качества некоторое априорное знание о наблюдении, которое
модели при заданных условиях эксперимента. уточняется в процессе эксперимента.
Известно, что разность 𝑌̂ − 𝑌 подчиняется Байесовская проверка в рамках теории
нормальному закону распределения [8]. Таким детектирования базируется на двух предположениях:
образом, в качестве аппарата проверки гипотез могут • выходы источника регулируются вероятностным
быть использованы следующие подходы: присвоением, они обозначаются 𝑃1 и 𝑃0 и
классический или частотный метод; Байесовский называются априорными вероятностями, которые
метод. представляют собой информацию об источнике
6.2 Частотный подход до проведения эксперимента;
• каждому из возможных исходов присваивается
В рамках классического подхода вероятность стоимость; обозначим стоимости 4-х исходов
определяется как относительная частота С00 , С10 , С01 , С11; первый индекс указывает на
наступления события. Все события имеют выбранную гипотезу, второй – на ту, которая
независимый характер. Общая методика проведения истинна; после каждого эксперимента стоимости
статистического тестирования широко представлена могут уточняться.
в литературе (см., например, [35]). В рамках • Правило принятия решения должно быть таким,
настоящей работы решалась задача в следующей чтобы средняя стоимость была как можно
постановке. меньше. В общем виде данный подход
В исследуемой модели течения жидкости характеризуется формулой [14]:
используем следующие положения:
• остатки подчиняются нормальному закону 𝐻1
распределения; 𝑝𝑟|𝐻1 (𝑅|𝐻1 ) > 𝑃0 (𝐶10 −𝐶00 )
.
• дисперсия сигнала неизвестна. 𝑝𝑟|𝐻0 (𝑅|𝐻0 ) < 𝑃1 (𝐶01 −𝐶11 )
Таким образом, в рамках частотного подходы 𝐻0
будет использован одно-выборочный Т-тест с Величина в левой части называется
двухсторонней альтернативой. коэффициентом правдоподобия и обозначается
В качестве исследуемой случайной величины Λ(𝑅). Величина в правой части формулы является
возьмем разность 𝑋𝑛 = 𝑌̂ − 𝑌 контрольного значения пороговым значением теста и обозначается η.
скорости потока, поступающего с датчиков, и Таким образом, Байесовский критерий приводит
величины скорости потока, полученной в результате нас к проверке неравенств
работы модели. Таким образом, получим выборку 𝐻1 𝐻1
𝑋 = (𝑥1 , … , 𝑥𝑛 ) ∈ 𝑅, 𝑋𝑛 ~𝑁(𝜇, 𝜎 2 ). > >
Проверим гипотезу, что выборочное среднее Λ(𝑅) η или ln Λ(𝑅) ln η.
< <
равно заданному числу, против альтернативной 𝐻0 𝐻0
гипотезы, что это не так: 𝐻0 : 𝑋̅ = 𝜇, 𝐻1: 𝑋̅ ≠ 𝜇. В Эмпирическая шкала [20] доказательной силы
нашем случае примем 𝜇 = 0. В качестве правила Байесовского критерия приведена в Таблице 3.
принятия решения возьмем критерий
287
Таблица 3 Шкала критерия правдоподобия 7 Описание архитектуры
| 𝐥𝐧 𝛈 | 𝛈 Доказательная сила Для проведения вычислительного эксперимента в
< 1.0 < 3:1 Не убедительная рамках поставленных задач был собран программно-
1.0 ~ 3:1 Слабое доказательство аппаратный вычислительный комплекс: аппаратная
2.5 ~ 12:1 Среднее доказательство часть построена на базе серверов и коммутатора
5.0 ~ 150:1 Сильное доказательство фирмы Quanta [23]; программная часть –
программный кластер на базе продукта HDP
Доказательная сила говорит о том, можем мы или (Hortonworks Data Platform) [16].
нет отвергнуть гипотезу 𝐻0. Так как гипотеза 𝐻0
предполагает, что наша модель корректна, то ее 7.1 Аппаратная часть
отвержение служит оценкой качества и указывает на Аппаратная архитектура состоит из шести
то, что модель начинает плохо описывать серверов, представленных в форм-факторе OpenRack
наблюдения. и объединенных одним коммутатором по
Дадим постановку задачи. В качестве
интерфейсу 10Gb Ethernet. Каждый сервер имеет
исследуемой случайной величины, как и в частотном
свои локальный SSD-диск с установленными на нём
подходе, используем 𝑋𝑛 = 𝑌̂ − 𝑌 (разность операционной системой и программными
контрольного значения скорости потока, компонентами HDP кластера, а также свою полку с
поступающего с датчиков, и величины скорости HDD-дисками, подключенную напрямую по
потока, полученной в результате работы модели). интерфейсу SATA. Каждый сервер выполняет
Таким образом, задана выборка определенную роль в кластере, которая определяет
𝑋 = (𝑥1 , … , 𝑥𝑛 ) ∈ 𝑅, 𝑋𝑛 ~𝑁(𝜇, 𝜎 2 ). его технические характеристики. Технические
Проверим гипотезу о том, что разность средних характеристики управляющих и рабочих узлов
наблюдаемого и моделируемого сигналов равна представлены в Таблице 4.
нулю плюс имеется дополнительная составляющая
некоторого шума, против альтернативной гипотезы о Таблица 4 Характеристики узлов
том, что кроме шума имеется ненулевая Характеристика Значение
составляющая, информирующая, что сигнал ушел с
Тип процессора Genuine Intel 2.30GHz/
базовой линии:
Intel Xeon E5-2630L
𝐻0 : 𝑟𝑖 = 0 + 𝑛𝑖 = 𝑛𝑖 ,𝑖 = 1,2, … , 𝑁,
Количество ядер 40/24
𝐻1 : 𝑟𝑖 = 𝜇 + 𝑛𝑖 , 𝑖 = 1,2, … , 𝑁.
Память 32/64ГБ
Шумовая составляющая подчиняется нормальному
закону распределения. Таким образом, Тип дисков SSD, HDD
1 𝑋2 Объем дисков 240ГБ, 2/4ТБ
𝑝𝑖 (𝑋) = exp(− 2). 2𝜎 Резервирование дисков RAID-1/JBOD
√2𝜋𝜎
Плотность вероятностей 𝑟𝑖 при каждой гипотезе Подключение дисков SATA
вычисляется следующим образом: Операционная система CentOS 6.9
1 (𝑅 −𝜇) 2 Сетевые интерфейсы 10GbEthernet
𝑝𝑟𝑖 |𝐻1 (𝑅𝑖 |𝐻1) = 𝑝𝑛𝑖 (𝑅𝑖 − 𝜇) = exp (− 𝑖 2 ),
√2𝜋𝜎 2𝜎
𝑅𝑖 2
1 Роли серверов в кластере:
𝑝𝑟𝑖 |𝐻0 (𝑅𝑖 |𝐻0) = 𝑝𝑛𝑖 (𝑅𝑖 ) = exp (−
). • m1, m2 – управляющие узлы, к ним
√2𝜋𝜎 2𝜎 2
Поскольку 𝑛𝑖 статистически независимы, предъявляются повышенные требования в плане
совместная плотность вероятностей 𝑟𝑖 является производительности и надежности; на них
простым произведением индивидуальных установлены компоненты, отвечающие за
распределение задач по рабочим узлам кластера,
плотностей вероятности. Таким образом,
такие, как Name Node сервиса HDFS, ресурс
приведенные формулы можно записать в следующем
менеджер YARN и др.; критические компоненты
виде:
1 (𝑅 −𝜇)2 зарезервированы в режиме Active-Passive; в
𝑝𝑟|𝐻1 (𝑅|𝐻1) = ∏𝑁𝑖=1 exp (− 𝑖 2 ), 2𝜎 качестве Active сервера для большинства из них
√2𝜋𝜎
𝑁
1 𝑅𝑖 2 выступает узел m1;
𝑝𝑟|𝐻0 (𝑅|𝐻0) = ∏ exp (− ). • s1, s2, s3, s4 – рабочие узлы; основной
√2𝜋𝜎 2𝜎 2 вычислительный элемент кластера обеспечивает
𝑖=1
Подставив полученные результаты в формулу выполнение программного кода приложений в
коэффициента правдоподобия, получим распределенной среде; выход из строя такого узла
1 (𝑅 −𝜇) 2 не является критическим, так как их состояние
∏𝑁
𝑖=1 exp(− 𝑖 2 ) постоянно отслеживается управляющими узлами,
√2𝜋𝜎 2𝜎
Λ(𝑅) = 1 𝑅 2
. которые в случае падения перезапустят задачу на
∏𝑁
𝑖=1 exp(− 𝑖 2 ) оставшихся доступных серверах, однако это
√2𝜋𝜎 2𝜎
Сравнив полученное значение коэффициента приведет к замедлению выполнения расчетов на
правдоподобия с эмпирической шкалой, сделаем кластере.
вывод о качестве модели в рамках виртуального Доступ к компонентам управления платформы
эксперимента. осуществляется из общей сети лаборатории за счет
288
подключения коммутатора кластера с общим 1. Данные, полученные в результате физического
маршрутизатором по интерфейсу 1GbEthernet. эксперимента, хранятся в распределенной
файловой системе. Producer представляет собой
7.2 Программная часть программный модуль, реализованный на Python.
Для построение вычислительной системы была Этот компонент первым шагом извлекает
использована платформа HDP версии 2.6. Эта версия данные из CSV-файлов, содержащих показатели
является последней актуальной на момент написания гидрофонов, значения температуры и скорости
этой статьи. На аппаратные сервера был установлен потока и формирует два массива строк;
минимально необходимый набор программных 2. Подготовка данных к отправке заключается в
компонент для проведения виртуального разбиении полученных массивов строк на
эксперимента: партии по 100 тыс. значений для показателей
• HDFS [7] – отказоустойчивая распределенная гидрофонов и одного – для температуры и
файловая система; скорости потока;
• YARN [22] – менеджер ресурсов, основной 3. Отправка сообщений осуществляется с
планировщик задач, запускаемых на кластере; помощью вызова метода send() из загруженной
• Storm [5], Spark (с модулем Streaming) [4], библиотеки kafka-python [19]. Этот метод
Flink [2] – системы потоковой обработки является ассиметричным. Для увеличения
данных; скорости отправки значение Ack выставлено в 0,
• Kafka [3] – виртуальная очередь; чтобы Producer не ждал от Kafka-пакета
• Ambari [16] – веб-интерфейс для управления подтверждения доставки. Так как кластер
кластером; находится в изолированном сетевом сегменте и
• ZooKeeper [17] – сервер координации работы на серверах используются высокоскоростные
распределенных приложений; сетевые интерфейсы, то потерь пакетов не
происходит;
• Zeppelin [16] – среда написания и отладки
4. Из-за ограничений Spark Streaming как
программного кода.
потоковой системы [6], а именно:
Все представленные ниже компоненты, кроме
Apache Flink, входят в установочный пакет HDP a) имеется только временное управление
окном;
кластера. Flink установлен дополнительно как сервис
b) реализованы чтение данных из всех
над YARN. Установка одновременно трёх потоковых
разделов очереди и запись их в одну
систем в рамках одного кластера обусловлена тем,
что в настоящий момент нет единой методологии RDD;
оценки. Поэтому типовым является сценарий, когда c) недостаточна производительность
существующая практическая задача в тестовом виде работы ядра Spark из-за использования
промежуточного слоя Python-
реализуется одновременно на всех платформах, а
интерпретатора и самой архитектуры
уже затем сравнивается производительность,
Spark;
полученная на практике. Также на момент
d) не реализован функционал Backpressure
развертывания кластера были неизвестны
стандартными средствами;
ограничения всех систем, и соответственно не было
возникла необходимость в оптимизации
принято решение о применимости конкретного
продукта для реализации виртуального гиперпараметров модели. Изначально
эксперимента. предполагалось подавать на вход модуля
обработки данных из очереди 100 тыс.
8 Поток работы сообщений в секунду. За данный интервал
времени Spark должен их успевать
Поток работ виртуального эксперимента обрабатывать. Однако, таких скоростей: как
представлен на Рис. 5. обработки, так и подачи в очередь достигнуть не
Виртуальный эксперимент заключается в удалось. Поэтому возникла необходимость в
одновременной непрерывной работе следующих увеличении временного интервала отправки
компонент над потоком входных данными: партии сообщений;
• Producer – программа, занимающаяся
5. Слияние полученных признаков в один кортеж
извлечением данных из csv-файла и
для отправки его на вход модели;
отправляющая сообщения в очередь Kafka;
• Kafka – обслуживает прием, промежуточное 6. Расчет модели на базе полученных входных
хранение, репликацию данных; данных. Распределение задания расчета модели
• Spark Streaming – выполняет роль Consumer, по кластеру выполняется ядром Spark, исходя из
извлекает данные из очереди в формате RDD и своей внутренней логики работы;
передает их на обработку в ядро Spark. 7. Проведение статистического теста. Для оценки
• Spark – выполняет вычисления с данными, качества модели мы используем одно-
вызывает модель течения жидкости, проводит выборочный T-тест с двух сторонней
статистические тесты оценки качества модели. альтернативой или Байесовский подход. На
Этапы потока работ таковы:
289
выходе мы имеем строку с результатом в b. True/False – для оценки статистического
формате: критерия;
a. число – для оценки в случае байесовского 8. Вывод результата в консоль.
критерия;
Start Producer Kafka Spark Streaming
Read data from Prepare data to Send data to Processing Receive data from
csv files send queues queues kafka
Optimization model
hyperparameters
Features Extraction
FFT RMS FFT RMS FFT Temp RMS VolRate
Cut Cut Cut
Peak Peak Peak
Node 1 Node 2 Node 3 Node 4
Statistics Tests
Join Features and
VolRate
Stop Console Frequentist
Model Processing
Output Result Spark
Bayes
Рисунок 5 Поток работ
По полученным результатам можно определить
9 Полученный результат момент, когда модель начинает некачественно
По результатам проведенного эксперимента описывать поведение течения жидкости по входным
получены данные, представленные в Таблице 6. данным. Результаты обоих методов схожи, но всё же
Цветом подсвечены результаты оценки качества немного отличаются, так как мы попали в граничные
виртуального эксперимента различными методами. области Баейсовского критерия (3,3046), которые
Использованы следующие обозначения: имеют слабую доказательную силу, поэтому
• белый – модель корректно описывает входные отвергнуть гипотезу 𝐻0 о том, что модель корректна,
данные (Гипотеза 𝐻0); нельзя.
• серый – модель не корректна (Гипотеза 𝐻1). 10 Заключение
Таблица 6 Полученный результат Представлен подход, позволяющий оценить
Байесовский Частотный качество научных гипотез на примере области
0,0002 False течения жидкости. Его идея базируется на
0,0296 False классической теории детектирования, в рамках
0,6713 False которой в качестве правил принятия решения
0,0053 False выступают критерий Стьюдента и критерий
0,0030 False правдоподобия.
Разработаны онтология предметной области и
0,0006 False
концептуальная схема виртуального эксперимента
1,1213 False
для исследования характеристик течения жидкости в
3,3046 True
трубе на основе его акустического шума. Произведен
5,4079 True анализ существующих инструментов организации
9,1870 True распределенной обработки потоковых данных.
20,0469 True Выполнено исследование подходов к
24,3965 True организации методов проверки гипотез и оценки
290
качества моделей, реализующих соответствующие [12] Goncalves, B., Silva, F., Porto, F.: ϒ-DB: A System
гипотезы. for Data-Driven Hypothesis Management and
Создана архитектура распределенной системы Analytics (2014). http://arxiv.org/abs/1411.7419
для оценки качества модели и проверки гипотез. [13] Hagedorn, S., Götze, P., Saleh, O., Sattler, K.: Stream
Разработан масштабируемый программный модуль Processing Platforms for Analyzing Big Dynamic
для существующей кластерной инфраструктуры. Data. Information Technology, 58 (4), pp. 195-205
Результаты эксперимента показали, что (2016)
различные подходы проверки научных гипотез по [14] Harry, L. van Trees, Bell, K., Tian, Z.: Detection,
оценке качества модели позволяют получить схожие Estimation, and Modulation Theory. Part 1 -
результаты, незначительно отличающиеся на Detection, Estimation, and Filtering Theory. Second
граничных областях критерия качества. Таким Edition. Willey, 1175 p. (2013)
образом, частотный и Байесовский методы могут в
[15] Hesse, G., Lorenz, M.: Conceptual Survey on Data
равной степени быть применены для оценки качества
Stream Processing Systems. Proc. of the IEEE 21st
виртуального эксперимента в рассматриваемой
Int. Conf. on Parallel and Distributed Systems (2015)
предметной области – течения жидкости.
[16] Hortonworks Data Platform. https://hortonworks.
Поддержка com/products/data-center/hdp/
Работа выполнена при поддержке РФФИ (грант [17] Hunt, P., Konar, M., Junqueira, F., Reed, B.:
16-07-01028). ZooKeeper: Wait-free Coordination for Internet-
Scale Systems. Proc. of the USENIX Annual
Литература Technical Conf. (2010)
[18] Ioannidis, J.P.: Why Most Published Research
[1] Alexandrov, A., Bergmann, R., Ewen, S., Freytag, J.,
Findings Are False. PLoS Medicine, 2 (8) (2005)
Hueske, F., Heise, A., Kao, O., Leich, M., Leser, U.,
Markl, V., Naumann, F., Peters, M., Rheinländer, A., [19] Kafka-python. http://kafka-python.readthedocs.io/
Sax, M., Schelter, S., Höger, M., Tzoumas, K., en/master/index.html
Warneke, D.: The Stratosphere Platform аor Big Data [20] Kalinichenko, L., Kovalev, D., Kovaleva, D.,
Analytics. The VLDB J., 23 (6), pp. 939-964 (2014) Malkov, O. Methods and Tools for Hypothesis-
[2] Apache Flink: Scalable Batch and Stream Data driven Research Support: a Survey. Informatica and
Processing. https://flink.apache.org/ Appications, 9 (1), pp. 28-54 (2015)
[3] Apache Kafka is a Distributed Streaming Platform. [21] Marz, N., Warren, J.: Big Data: Principles and Best
https://kafka.apache.org/intro Practices of Scalable Realtime Data Systems.
[4] Apache Spark – Lightning-Fast Cluster Computing.
Manning Publications Co. USA. 1st edition (2015)
https://spark.apache.org/ [22] Mathiya, B., Desai, V.: Apache Hadoop Yarn
[5] Apache Storm. https://storm.apache.org/
Parameter Configuration Challenges and
Optimization. Proc. of the Int. Conf. on Soft-
[6] Armbrust, M., Das, T., Davidson, A., Ghodsi, A., Or,
Computing and Network Security (ICSNS -2015).
A., Rosen, J., Stoica, I., Wendell, P., Xin, R., Zaharia, Coimbatore. India (2015)
M.: Scaling Spark in the Real World: Performance
[23] Quanta Cloud Technology. http://qct.io/
and Usability. Proc. of the VLDB Endowment, 8 (12)
(2015) [24] Rysak, A., Litak, G., Mosdorf, R.: Analysis of Non-
stationary Signals by Recurrence Dissimilarity.
[7] Borthakur, D.: HDFS Architecture Guide. Hadoop
Apache Project (2008) Recurrence Plots and Their Quantifications:
Expanding Horizons (2016)
[8] Brennen, C.E.: Fundamentals of Multiphase Flow.
[25] Salvetti, M.V., Geurts, B., Meyers, J., Sagaut, P.:
Cambridge University Press (2005)
Quality and Reliability of Large-Eddy Simulations.
[9] Chintapalli, S., Dagit, D., Evans, B., Farivar, R.,
Springer. Netherlands (2008)
Graves, T., Holderbaugh, M., Liu, Z., Nusbaum, K.,
[26] Schales, D., Hu, X., Jang, J., Sailer, R., Stoecklin M.,
Patil, K., Peng, B., Poulosky, P.: Benchmarking
Wang, T.: FCCE: Highly Scalable Distributed
Streaming Computation Engines: Storm, Flink and
Spark Streaming. Proc. of the IEEE Int. Parallel and Feature Collection and Correlation Engine for Low
Distributed Processing Symposium Workshops Latency Big Data Analytics. Proc. of 2015 IEEE 31st
(2016) Int. Conf. on Data Engineering, pp. 1316-1327
(2014)
[10] Duggan, J., Brodie, M.: Hephaestus: Data Reuse for
[27] Spark documentation. Pyspark.streaming module.
Accelerating Scientific Discovery. Proc. of 7th
Biennial Conf. on Innovative Data Systems Research https://spark.apache.org/docs/1.6.3/api/python/pyspa
(CIDR’15). USA (2015) rk.streaming.html
[28] Spark Programming Guide. https://spark.apache.
[11] Goncalves, B., Porto, F.: Managing Large-Scale
Scientific Hypotheses as Uncertain and Probabilistic org/docs/1.6.3/programming-guide.html
Data With Support for Predictive Analytics. Proc. of [29] Stonebraker, M., Çetintemel, U., Zdonik, S.: The 8
the IEEE Computing in Science and Engineering, 17 Requirements of Real-time Stream Processing.
(5), pp. 35-43 (2015) SIGMOD Rec., 34 (4), pp. 42-47 (2005)
291
[30] Ünalmis, Ö.H.: Subsea Multiphase Flowmeter: [36] Самарев, Р.С.: Обзор состояния области
Performance Tests in Multiphase Flow Loop. Society потоковой обработки данных. Труды ИСП РАН,
of Petroleum Engineers (1), сс. 231-260 (2017)
[31] Wilcox, D.C.: Turbulence modeling for CFD. D C W [37] Скворцов Н.А., Аввакумова, Е.А., Брюхов, Д.О.,
Industries (2006) Вовченко, А.Е., Вольнова, А.А., Длужневская,
[32] Zagarola, M.V., Smits, A.J.: Mean-flow Scaling of О.Б., Кайгородов, П.В., Калиниченко, Л.А.,
Turbulent Pipe Flow. J. of Fluid Mechanics, 373, Князев, А.Ю., Ковалева, Д.А., Малков, О.Ю.,
pp. 33-79 (1998) Позаненко, А.С., Ступников, С.А.:
[33] Байесовский подход к теории вероятностей. Концептуальный подход к решению задач в
Примеры Байесовских рассуждений. Глава 6. астрономии. Астрофизический бюллетень, 71 (1),
2007. http://www.machinelearning.ru/wiki/images/ сс. 122-133 (2016)
4/43/BayesML-2007-textbook-2.pdf [38] Тарасов, Е.А.: Сокращение числа виртуальных
[34] Критерий Стьюдента. http://www. экспериментов с помощью оценки корреляций
machinelearning.ru/wiki/index.php?title=Критерий параметров взаимодействующих гипотез. Сб.
_Стьюдента трудов XVIII Межд. конф. DAMDID/RCDL,
сc. 383-388 (2016)
[35] Проверка статистических гипотез. http://www.
machinelearning.ru/wiki/index.php?title=Проверка_
статистических_гипотез
292