Loginom vs Deductor - Часть 2 | Проектирование сценариев

27 февраля 2019
0 комментариев

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

Аналитическая платформа Loginom, пришедшая в 2017 году на смену Deductor, унаследовала возможности визуального проектирования логики обработки данных и приобрела принципиально новый функционал, призванный изменить представление о доступности продвинутой аналитики.

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

  1. Создание подмоделей.
  2. Объектно-ориентированное моделирование.
  3. Проектирование в отсутствии данных.
  4. Создание собственных компонентов.
  5. Подключаемые пакеты.

Создание подмоделей

Важным преимуществом Loginom по сравнению с Deductor является возможность проводить декомпозицию задачи, то есть разбивать сценарий на множество подмоделей.

Как известно, нет других способов реализовать сложную логику, кроме как разбить ее на блоки подзадач, которые можно решить отдельно, и собрать из блоков единое целое.

Например, рассмотрим реализацию АВС-анализа в двух системах. В Deductor этапы вычислений представлены как узлы в дереве, что визуально усложняет понимание всей логики обработки, включающей блоки до и после самого ABC-анализа. В Loginom блок «АВС-анализа» представлен в виде подмодели, в которую при необходимости можно погрузиться.

Фрагмент реализации АВС-анализа на Deductor

Фрагмент реализации АВС-анализа на Loginom

В обоих случаях результат будет одинаковый, но при проектировании в Loginom легче понять логику, проще отлаживать, поддерживать и развивать сценарий.

Декомпозиция — мощный механизм решения сложных задач, позволяющий сводить их к более простым подзадачам:

  1. Правильно спроектированные и корректно названные подмодели помогают «читать» сценарий и понимать логику обработки.
  2. Единожды спроектированную подмодель можно повторно использовать в других сценариях.
  3. Произвольное количество входов и выходов подмодели обеспечивает высокую пластичность сценария.
  4. Возможность параметрической настройки подмоделей позволяет гибко реализовывать логику анализа: задавать пороги, коэффициенты, пути к файлам и так далее.

Объектно-ориентированное моделирование

Характерным отличием Loginom от Deductor, а также от большинства инструментов визуального проектирования, является поддержка элементов объектно-ориентированного моделирования, а именно, следование четырем парадигмам.

Принципы объектно-ориентированного моделирования

Абстракция

Абстракция — выделение набора значимых характеристик объекта и отделение интерфейса компонента от реализации.

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

Например, для выполнения АВС-анализа на входе требуется таблица с данными об объекте анализа и показатели, а на выходе — таблица с отнесением объекта к одной из категорий: A, B или C. При этом границы диапазонов могут быть заданы жестко или рассчитаны методом касательных. Тот, кто применяет компонент, не обязан вникать в логику расчета, ему достаточно знать, что подмодель произведет нужное разбиение на категории.

Инкапсуляция

Инкапсуляция — свойство системы, позволяющее объединить данные и логику обработки, работая с ними, как с единой сущностью.

Одним из показательных примеров использования инкапсуляции в Loginom является компонент «Очистка адресов» решения Loginom Data Quality, где в модель «зашито» более 40Гб сведений из КЛАДР и ФИАС. При этом конечный пользователь не видит эти данные, он просто подает на вход компонента таблицу с «грязными» адресами, модель сравнивает их с эталонными данными и выдает очищенные адреса.

Наследование

Наследование — свойство системы, позволяющее создать новый компонент на основе уже существующего с частично или полностью заимствующейся функциональностью.

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

Полиморфизм

Полиморфизм — свойство компонентов с одинаковой спецификацией иметь различную реализацию.

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

Проектирование в отсутствии данных

Большинство методик моделирования сводится к проектированию логики по принципу «снизу вверх» и «сверху вниз». Аналогичные принципы используются и в построении сценариев в аналитических платформах.

При проектировании «снизу вверх» точкой отсчета являются имеющиеся данные, результаты обработки которых встраиваются в сценарий. При проектировании «сверху вниз» логика обратная, то есть сначала определяются входы и выходы подмодели (задается логика её интеграции в процесс обработки), и затем, с учетом этих требований, подаются входные данные.

Проектирование сценариев в Deductor реализовано по принципу «снизу вверх», то есть требует наличия данных на входе. На практике это означает, что мастер обработки можно запустить и что-то настроить только после того, как будут загружены данные.

К преимуществам проектирования «снизу вверх» можно отнести:

  • высокую скорость реализации логики, благодаря наличию информации о структуре входных данных;
  • простоту отладки и поиска ошибок.

Недостатками подхода являются:

  • ориентированность на единичные задачи;
  • сложность повторного использования в аналогичных задачах;
  • необходимость корректировки всего сценария при новых входных данных.

В Loginom можно разрабатывать сценарии как «снизу вверх», то есть от данных, как это реализовано в Deductor, так и «сверху вниз», то есть в отсутствии наборов данных. Это позволяет выбирать тот подход, который лучше подходит в каждом конкретном случае.

При проектировании «сверху вниз» достаточно описать входы и выходы модели и после этого можно разрабатывать логику обработки. Наличие самых обрабатываемых данных не обязательно. Такой метод более трудоемкий, но обеспечивает высокое качество проектных решений.

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

Преимущества проектирования сценариев «сверху вниз» следующие:

  • структурированность процесса разработки;
  • описание требований к наборам данных для разработанной модели;
  • повторное использование.

Недостатками подхода являются:

  • необходимость обладать пониманием конечной структуры модели;
  • необходимость тщательно продумывать входы и выходы модели.

    Начало проектирования сценария

      Поддержка в Loginom логики проектирования как «снизу вверх», так и «сверху вниз» повышает гибкость работы аналитика. Для быстрых решений можно загрузить реальные данные, разработать сценарий для них и сразу получить результат. Для создания повторно используемых моделей можно использовать подход «сверху вниз» — более трудоемкий, но обеспечивающий лучшее качество.

      Создание собственных компонентов и подключаемые пакеты

      Loginom, в отличии от Deductor, получил такой важнейший функционал, как возможность создания собственных компонентов и объединения их в пакеты.

      Разработанные аналитиком производные компоненты размещаются в общей палитре компонентов, при этом доступ к ним определяет сам автор.

      Новый функционал имеет следующие преимущества:

      1. Накопление и обобщение знаний. Компании могут создавать собственные пакеты компонентов, ориентированные на их конкретный бизнес.
      2. Повторное использование компонентов. Например, создав один раз компонент ABC-анализа, его можно применять как в задаче сегментации товаров, так и в сегментации клиентской базы; задача, решаемая компонентом проверки адресов, может применяться как в очистке данных, так и в задаче противодействия мошенничеству.
      3. Распределение ролей разработки. Одни аналитики создают компоненты-подмодели, другие — встраивают их в прикладные сценарии.

      Подготовить собственный компонент очень просто. Проиллюстрируем процесс на примере сценария для RFM-анализа.

      Создание подмодели расчета RFM

      Создадим новый компонент с помощью соответствующего пункта в контекстном меню или иконки на панели инструментов. Зададим имя и настройки видимости.

      Создание производного компонента

      После сохранения настроек новый компонент «RFM» будет доступен на панели «Производные компоненты». Его можно повторно использовать при решении других задач.

      Новый элемент в палитре компонентов

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

      Заключение

      Практика использования Deductor помогла определить самые актуальные проблемы, с которыми сталкивается аналитик при проектировании нетривиальной логики обработки. Loginom разрабатывался, опираясь на многолетний проектный опыт, чтобы сделать взаимодействие пользователя с платформой комфортным и простым.

      Взращивание Data-driven-культуры в компании достигается благодаря повышению качества работы с данными, накоплению библиотек собственных компонентов, их удобному повторному применению.

      Loginom позволяет многим сотрудникам самостоятельно разрабатывать сценарии, используя уже существующие в компании наработки. Таким образом, сотрудники становятся не только потребителями информации, но и генераторами новых знаний.

      #loginom#deductor#проектирование#data mining#разработка

      Смотрите также