Прогнозирование будущего: Часть 4. Внедрение прогностического решенияИсточник: IBM
Введение Сдача прогностического решения в эксплуатацию традиционно представляла собой трудоемкий процесс, отнимающий много времени и ресурсов. Появление языка разметки прогностических моделей (Predictive Model Markup Language - PMML) радикально изменило этот сценарий. Теперь те же люди, которые создали прогностическое решение, могут внедрить его за считанные минуты. Стандарт де-факто прогностического анализа, PMML поддерживается всеми ведущими поставщиками систем интеллектуального анализа данных, как коммерческих, так и открытых. После создания прогностической модели ее легко экспортировать в PMML-файл. Затем этот файл можно установить непосредственно в механизм скоринга PMML, где он будет готов к исполнению. Учитывая, что мы живем в эпоху "больших данных", прогностические модели должны получать выгоду от быстрого внедрения и исполнения. Решения скоринга в облаке и в составе СУБД позволяют прогностическому анализу сдержать свое обещание и эффективно работать с большими объемами данных. Этот цикл из четырех статей охватывает многие темы прогностического анализа, главным образом связанные с разработкой моделей. Я описал многие приложения прогностического анализа. Однако чтобы прогностическое решение можно было применить к новым данным, оно должно быть оперативно развернуто. То есть его необходимо перенести с рабочего стола аналитика, где оно было построено, в рабочую среду, где оно будет эксплуатироваться. Как выясняется, сдача модели в эксплуатацию ― не простое дело. Для оперативного развертывания прогностического решения необходимо успешно преодолеть разрыв между двумя разными мирами. Я называю их планетами Predicta и Engira. Планета Predicta населена аналитиками с опытом работы в области статистики, интеллектуального анализа данных и знанием таких языков, как Perl и Python. Планету же Engira населяют ИТ-инженеры, знакомые с Java™, .net, C, SQL. Без общего языка перенос прогностического решения с Predicta на Engira может завязнуть в переводе (см. рисунок 1). Когда модель разработана, аналитик составляет текстовый документ с описанием модели и передает его ИТ-инженеру, который начинает кодировать модель в рабочей среде. При этом могут возникнуть вопросы, и между ними начинается дипломатическая переписка. Однако чаще всего, когда модель считается готовой к внедрению, инженер, написавший ее, обнаруживает, что оценки, которые она выдает на практике, не соответствуют тем, что были получены аналитиком на той же модели в процессе разработки. Для устранения расхождений инженер должен общаться с аналитиком. Этот процесс может занять от трех месяцев до года. Рисунок 1. Без общего языка процесс внедрения модели может завязнуть в переводе между планетами Predicta и EngiraК счастью, произошло событие, сократившее процесс внедрения модели с месяцев до минут. Этим событием стало появление общего языка, понятного аналитикам и ИТ-инженерам. Этот язык называется PMML. PMML является детищем Data Mining Group(DMG), объединения компаний, работавших над его определением. Все передовые инструменты статистического и интеллектуального анализа данных, как коммерческие, так и открытые, поддерживают PMML. Таким образом, модель может быть разработана на планете Predicta и отправлена прямо на планету Engira для мгновенного практического внедрения. Никакого перевода, перекодирования и специального кода не требуется. Благодаря PMML перенос прогностического решения со стола аналитика в рабочую среду становится предельно простой задачей. PMML позволяет компаниям и частным лицам использовать один и тот же язык для представления прогностического решения в полном объеме, независимо от среды, в котором оно построено. В третьей статье этого цикла описаны все этапы процесса создания прогностического решения, от предварительной обработки данных и построения модели до заключительной обработки оценок, сделанных этой моделью. PMML позволяет описать все этапы в одном файле. Он позволяет также представить решение, содержащее несколько моделей, или комплексную модель. PMML основан на XML. Его схемы следуют четко определенной структуре, в которой элементы и атрибуты используются для определения:
PMML содержит и другие языковые структуры, включая конкретные элементы для проверки модели и ее объяснения и оценки. Учитывая, что PMML позволяет представлять прогностическое решение в полном объеме в четкой и структурированной форме, его можно использовать для раскрытия секретов и черных ящиков, какими прогностический анализ представляется многим людям. Компания может использовать PMML в качестве лингва-франка не только между планетами Predicta и Engira, но и между поставщиками услуг и внешними поставщиками. В этом случае он определяет единый и четкий процесс обмена прогностическими решениями. Он становится мостом не только между анализом данных, построением модели и системами внедрения, но и между всеми людьми и группами, участвующими в процессе анализа. Это чрезвычайно важно, потому что мы можем использовать его для распространения знаний и практических рекомендаций и обеспечить прозрачность. Последняя версия PMML, 4.1, выпущена в декабре 2011 года. Однако этот язык существует уже более 10 лет и достиг значительной зрелости и отточенности. Как представитель DMG, познакомившийся с PMML много лет назад, я был ошеломлен его широтой и мощностью, а также всеми теми преимуществами, которые он дает любой организации, желающей извлекать прибыль из прогностической ценности своих исторических данных. Представление прогностического решения в PMML В настоящее время все ведущие статистические инструменты экспортируют разработанные модели в PMML. Некоторые из них также предоставляют функции импорта, чтобы модель можно было визуализировать и уточнять. Здесь стоит упомянуть о среде с открытым исходным кодом KNIME, которая импортирует и экспортирует многие PMML-модели. Существует также проект статистических вычислений R. PMML поддерживают и многие коммерческие продукты. В этой статье я остановлюсь на IBM SPSS Statistics, который позволяет экспортировать PMML для самых разных методов прогнозирования. IBM SPSS Statistics может экспортировать PMML и для предварительной обработки данных, которая является важной частью прогностического анализа. В третьей статье этого цикла я говорил о том, как использовать IBM SPSS Statistics для автоматического выполнения предварительной обработки данных. Цель ― увеличить прогностическое значение исходных данных, чтобы улучшить точность результирующей модели. Для этого выберите Transform menu > Prepare Data for Modeling и нажмите кнопку Automatic. В окне Automatic Data Preparation (Автоматическая подготовка данных) перейдите на вкладку Settings (Свойства) и выберите пункт Apply and Save (Применить и сохранить). Установите флажок Save transformations as XML (Сохранить преобразования как XML) и введите имя файла. Этот файл будет содержать преобразования в формате PMML. Выбрав вариант Prepare Data for Modeling (Подготовить данные к моделированию), вы также сможете выбрать пункт Interactive. Откроется окно с вкладками Interactive Data Preparation (Интерактивная подготовка данных). В этом случае нужно нажать кнопку Analyze, а затем сохранить PMML-файл с результирующими преобразованиями. В обоих случаях вы в конечном итоге получите PMML-файл с полным описанием шагов предварительной обработки данных, выполняемых IBM SPSS Statistics в рамках подготовки к моделированию. Чтобы дать наглядное представление о том, как PMML осуществляет преобразование данных, компания Zementis выпустила интерактивный инструмент Transformations Generator. Он позволяет графически представлять различные преобразования и автоматически экспортировать их в PMML-файл, который впоследствии можно объединить с файлом модели. Процесс подготовки данных приводит также к созданию дополнительных полей в редакторе данных IBM SPSS Statistics, которые можно использовать в сочетании с другими полями исходных данных для обучения модели. Например, для обучения модели нейронной сети, как описано в третьей части, достаточно выбрать Analyze menu > Neural Networks и нажать Multilayer Perceptron. После выбора всех нужных параметров в окне с вкладками перейдите на вкладку Export, отметьте Export synaptic weight estimates to XML file (Экспорт оценок синаптического веса для XML-файла) и введите имя PMML-файла, в котором вы хотите сохранить свою модель нейронной сети. Аналогично IBM SPSS Statistics позволяет экспортировать в PMML и многие другие методы прогнозирования. PMML-файл модели нейронной сети будет содержать также коэффициенты масштабирования цифровых входных данных и степень дискретизации градационных переменных. Однако если модель использует любые из переменных, автоматически обнаруженных IBM SPSS Statistics, нужно будет соединить два ранее описанных PMML-файла (автоматической предварительной обработки данных и модели) в один файл. Для этого выберите Utilities menu > Merge Model XML. Вы увидите окно, в котором можно ввести имена файлов Model XML File (PMML-файл, содержащий прогностическую модель) и Transformation XML File (PMML-файл, содержащий этапы автоматической или интерактивной предварительной обработки данных). Введите также имя результирующего файла Saved Merged XML File. Нажмите кнопку ОК. Теперь прогностическое решение целиком представлено в PMML. Практическое внедрение с помощью PMML Прогностическое решение, представленное в PMML, можно внедрить за считанные минуты. В компании Zementis создали платформу управления решениями прогностического анализа на базе PMML под названием ADAPA. В нее вводятся прогностические решения в PMML, которые выполняются в режиме реального времени. Так как ADAPA находится на производственной стороне, она освобождает ресурсы Engira от бремени спецкодирования, а это позволяет Predicta самостоятельно внедрять свои прогностические решения. Как показано на рисунке 2, после того как прогностическая модель экспортирована из IBM SPSS Statistics или любого другого PMML-совместимого инструмента, такого как R или KNIME, аналитик может непосредственно загрузить ее в ADAPA, где она будет готова к использованию. Рисунок 2. С помощью PMML прогностические решения, созданные ресурсами Predicta, можно внедрять за считанные минутыПосле загрузки в ADAPA прогностическими моделями можно управлять и исполнять их непосредственно с Web-консоли или через Web-сервисы. В последнем случае оценки и прогнозы можно непосредственно встраивать в любое приложение по всему предприятию. ADAPA поставляется по традиционной лицензии для развертывания на местах. Она предоставляется также в качестве сервиса IBM SmartCloud. При исполнении модели в облаке она выигрывает от экономически эффективной и масштабируемой структуры вычислений через Интернет. Zementis предлагает также модуль Universal PMML Plug-in(UPPI) для скоринга в базе данных и для Hadoop. В настоящее время UPPI поддерживает СУБД EMC Greenplum, SAPSybase IQ и IBM Netezza. Таким образом, модели, выраженные на PMML, можно легко внедрять внутри базы данных и располагать рядом с самими данными. Приложения, которые требуют скоринга внутри базы данных, обычно содержат большие объемы данных. По оценкам IBM, 90% данных, существующих сегодня, сгенерированы только за последние два года. Это дает представление о том, как много данных мы, как общество, ежедневно создаем и собираем. "Большие данные" ― это много данных. Для того чтобы воспользоваться всеми тайнами, скрытыми в этом постоянно растущем море данных, первостепенное значение имеет способность быстрого развертывания и исполнения прогностических решений. К счастью, PMML в сочетании с мощными базами данных, Hadoop и облачными вычислениями позволяет извлекать пользу из больших данных. По своей сути облачные вычисления - это набор служб, которые предоставляют вычислительные ресурсы через Интернет. Крупные центры обработки данных предоставляют масштабируемые ресурсы, часто виртуализированные, как услуги по требованию, что исключает необходимость в инвестициях в конкретное оборудование, программное обеспечение или свою собственную инфраструктуру ЦОД. Термин облако используется как метафора Интернета. Облачные вычисления позволяют предоставлять различные услуги, включая дисковое пространство, обрабатывающую мощность и бизнес-приложения. Инфраструктура доступа к службам на основе облака лишь недавно стала безопасной и надежной. IBM SmartCloud служит ярким примером универсальной облачной инфраструктуры. Управляемая IBM, она обеспечивает возможность динамического выделения вычислительной мощности в облаке через несколько центров обработки данных, распределенных по всему миру. Программное обеспечение как услуги (SaaS) - это модель лицензирования программного обеспечения, при которой предприятие или пользователь получает доступ к программному обеспечению через Интернет и платит за право использовать его в течение определенного периода времени, вместо приобретения бессрочной лицензии на установку ПО в своей организации. Это чрезвычайно выгодно заказчикам, так как исключает единовременные расходы на установку серверов или лицензирование программного обеспечения и минимизирует риск приобретения дорогостоящего ПО, не обеспечивающего достаточную окупаемость инвестиций. Поскольку модель лицензирования SaaS и облачные вычисления ориентированы на Интернет, все больше поставщиков объединяет их для создания новых программных решений. Как уже упоминалось, ADAPA использует вызовы Web-сервисов, позволяя внедрять механизмы автоматического принятия решений в рабочие системы и приложения по всему предприятию. Чтобы свести к минимуму общую стоимость владения, исполнение модели в ADAPA предоставляется как услуга через IBM SmartCloud. Это партнерство Zementis и IBM позволяет компаниям развертывать и исполнять прогностические модели и легко применять полученные оценки и прогнозы в своей повседневной работе. Процесс запуска виртуального сервера ADAPA в IBM SmartCloud соответствует традиционному сценарию приобретения оборудования и его установки в серверном зале. Единственное отличие состоит в том, что в этом случае сервер находится в облаке, поставляется с предварительно установленной версией ADAPA, готов к применению и запускается по требованию за несколько минут. Традиционно практическое внедрение прогностического решения и его ввод в эксплуатацию представляло собой длительный процесс, занимающий месяцы и потребляющий бесценные кадровые ресурсы как подразделений, ответственных за создание модели, так и тех, кто занимался ее перекодированием для практического применения. Появление PMML радикально изменило эту ситуацию. Благодаря PMML те же люди, которые создавали модель, могут внедрить ее за считанные минуты. Как стандарт представления прогностических моделей де-факто, PMML позволяет представить прогностическое решение в полном объеме, в четкой и структурированной форме. PMML поддерживают все ведущие статистические пакеты, как коммерческие, так и открытые. Например, IBM SPSS Statistics может экспортировать в PMML преобразования данных, а также несколько методов прогностического моделирования. PMML-файл легко развернуть в такой системе, как ADAPA, механизме скоринга Zementis на основе PMML. Поскольку ADAPA доступна на платформе IBM SmartCloud, она извлекает пользу из масштабируемой и надежной инфраструктуры IBM. Находясь в облаке, прогностические модели становятся доступными откуда угодно и в любое время, а их оценки и прогнозы встраиваются в любое приложение по всему предприятию через Web-сервисы. Прочитав этот цикл из четырех статей, вы должны получить полное представление о прогностическом анализе и его применении. Я начал с рассказа о том, что это такое и описал многие методы прогнозирования, лежащие в основе прогностического анализа. Эти методы позволяют выявлять модели в исторических данных и обнаруживать их в процессе накопления новых данных. Затем я описал процесс создания прогностического решения в целом. Все начинается с четко поставленной задачи, затем следуют предварительная обработка и анализ данных. После этого данные поступают в прогностический метод для создания модели, которая оценивается на точность. Затем устанавливаются пороги дискриминации в зависимости от точности модели и стоимости ошибок прогнозирования. После этого бизнес-решения связываются с различными пороговыми значениями. Наконец, прогностическое решение, экспортированное в PMML-файл, готово к внедрению и эксплуатации. При этом прогностический анализ реально выполняет свое обещание обучаться на ценных моделях исторических данных и использовать их для предсказания будущего. |