IBM SmarterCloud Enterprise でのアジャイルな予測分析

クラウドから、過去のデータ・パターンを利用して未来を予測する方法を学んでください

複雑さを増しながらますます増え続ける膨大な量のデータ (「これが、ビッグ・データ」と呼ばれるゆえんです) に直面している世界中の企業は、そのデータから価値を引き出し、洞察を得るために、予測分析という手段を採用するようになっています。統計的手法を用いて過去のデータから重要なパターンを発見することによって、企業は未来を予測し、より正確かつ着実にビジネス上の意思決定を行えるようになります。けれどもビッグ・データ・ソリューションのメリットを十二分に享受するためには、アジャイルなデプロイメントと実行を可能にするインフラストラクチャーが用意されていなければなりません。PMML (Predictive Model Markup Language) などのオープン・スタンダードを使用すれば、開発環境と運用環境 (DevOps と総称されます) との間で瞬時にソリューションを移動することができます。それと同時に、クラウド・コンピューティングと SaaS (Software as a Service) によって、これらのソリューションを活性化するために必要な能力と柔軟性を与えることができます。この記事では、クラウドでのアジャイルな予測分析の概念を紹介するとともに、PMML の概要を説明し、1 つの実例として、予測分析ソリューションを構成する要素を 1 つの制御の下に統合するツールを紹介します。

Alex Guazzelli, VP of Analytics, Zementis, Inc.

Photo of Alex GuazzelliDr.Alex Guazzelli は、Zementis 社の Analytics 部門の統括責任者として、PMML ベースの意思決定プラットフォーム ADAPA のコア技術および予測ソリューションの開発を担当しています。南カリフォルニア大学でコンピューター・サイエンスの博士号を取得した Dr. Guazzelli は、予測分析に 20 年以上の経験を積んでいます。彼の共著書『PMML in Action: Unleashing the Power of Open Standards for Data Mining and Predictive Analytics』は、現在、第 2 版となっています。



2012年 7月 05日

ビッグ・データ、予測分析、そしてクラウド・コンピューティングという言葉は、最近では至るところで使用されるようになっています。

  • 「ビッグ・データ」とは、その言葉が示唆するように、さまざまなソースから取り込まれ、さまざまなフォーマットで取り出される膨大な量のデータを指します。データ・ソースには人やセンサーなどが含まれ、データは構造化されている場合も、構造化されていない場合もあります。例えば、人によって生成されるトランザクション・データは構造化されている一方、ツイートのフィードは構造化されていません。ビッグ・データに関する大きな問題は、「そこからどのように洞察および価値を引き出すか」、そして「どうすればより効果的にビッグ・データから洞察を引き出せるか」です。いずれの問題に対する答えにも高度な分析が関わってきます。
  • 「分析」は広義の言葉であり、記述的分析ならびに予測分析を意味します。記述的分析では過去に何が起こったのかを知ることができる一方、予測分析では次に何が起こるかを知ることができます。予測分析では、記述的分析を足掛かりとして、より正確で一貫性のある方法で決定を行います。この手法では、履歴データから関連パターンを学び、その知識を用いて振る舞いを予測することができます。それを実現する方法は、データと数学を用いた巧妙な処理を組み合わせることです。

ただし、データと数学が答えのすべてではありません。予測分析を行うには、データと複雑なアルゴリズムに対処できるインフラストラクチャーが必要です。これまで、予測ソリューションの適用範囲は極めて特定の問題に限られていました。それは主に、コスト効果の高い処理能力を利用できなかったためです。けれども、もうそのようなことはありません。クラウド・コンピューティングによって、事実上無制限の処理能力が低コストで提供されるようになったことで、事態はまったく変わりました。

根本的に、クラウド・コンピューティングとは、計算リソースをインターネットで提供する一連のサービスです。大規模なデータ・センターが、オンデマンドでスケーラブルな (多くの場合、仮想化された) リソースをサービスとして提供するため、特定のハードウェアやソフトウェア、あるいは独自のデータ・センター・インフラストラクチャーに投資する必要性がなくなります。

クラウド・コンピューティングは、ストレージ容量、処理能力、そしてビジネス・アプリケーションを含め、さまざまなサービスを可能にします。クラウド上のサービスにアクセスするという概念は新しいものではありませんが、クラウドがセキュアで信頼できるインフラストラクチャーとして使用できようになったのは、つい最近のことです。そのような汎用クラウド・インフラストラクチャーの好例には、IBM SmarterCloud Enterprise が挙げられます。IBM が駆動する IBM SmarterCloud Enterprise は、世界各地に分散された複数のデータ・センターによって、動的な計算処理能力を提供します。

この記事では、まず予測分析の基本事項として、データ・マイニング・モデルの共通言語である PMML について、その概要とコンポーネントを紹介します。続いて実際の PMML エンジンを紹介し、その予測ソリューションのデプロイ方法および実行方法を説明します。そして最後に、この PMML エンジンを IBM SmarterCloud Enterprise で利用する例を紹介します。

予測ソリューションと PMML

特定の問題の解決に焦点を絞って予測分析手法が実践されると、必ず予測モデルが作られることになります。けれども、予測ソリューションに含まれるのは予測モデルだけではありません。そのモデルで使用するデータを準備するためのあらゆるデータ変換が含まれることになります。

まず、データの事前処理により、元の未処理のデータに存在する欠陥、例えば値の欠落や外れ値などに対処します。けれどもその最終目標は、未処理の入力フィールドを予測する能力を補強して、これらのフィールドを特徴という形に変換することです。

さらに、データを予測分析手法の「実践」に適した形に変えるための事前処理も行われます (経験による最適化)。例えば、典型的な予測分析手法であるニューラル・ネットワークが入力として取るのは数値だけです。この場合、データをニューラル・ネットワークに提供する前に、分類別のフィールドを連続するフィールドへと変換しなければなりません。

予測ソリューションは、通常、モデル開発環境で作成されます。モデル開発環境の例には、IBM SPSS Modeler や IBM SPSS Statistics、そしてオープンソースの統計計算用 R プログラミング言語およびソフトウェア環境があります。これらの環境では、データ科学者が予測モデルを実践に適したものにするために履歴データを極めて柔軟に分析して処理することができます。

予測ソリューションが作成されて、その有効性が検証された後は、モデルをデプロイするために簡単にPMML (Predictive Model Markup Language) にエクスポートすることができます。PMML は、予測分析ソリューションを表現するために使用されているデファクト・スタンダードです。PMML を使用すれば、ソリューションを科学者のデスクトップ環境から実際に使用するためのデプロイメント環境へと移すために、カスタム・コードを作成する必要がなくなるため、モデルのデプロイメントがいとも簡単な作業になります。

PMML を考案した Data Mining Group は、商用およびオープソースの分析製品を扱う企業からなる、ベンダー主導の委員会です。そのため、主要なモデル開発環境のほとんどは PMML のエクスポートに対応することができます。過去 10 年間にわたって改善を重ねられ、成熟した標準へと進化した PMML は、データからパターンを学習するために使用する予測手法を表現できるだけでなく、未処理の入力データの事前処理とモデル出力の事後処理を表現することもできます。

PMML がベースとするのは XML です (XML は人間とマシンの両方が解読できます)。PMML ファイルの構造には、実装対象とする予測ソリューションが反映されます (図 1 を参照)。

図 1. 実装する予測ソリューションを反映した複数の要素が含まれる単純な PMML ファイル

これらの言語要素は、それぞれに以下の内容を記述します。

  • 未処理の入力データ。
  • 外れ値、欠落した値、および無効な値に対する適切な処理。
  • モデル入力の事前処理 (正規化、マッピング、離散化など)、および論理操作と計算操作を行うさまざまな関数の事前処理。
  • 予測手法を表現する固有のモデル要素。
  • モデル出力の事後処理 (スケーリングおよびビジネス意思決定など)。

PMML は、1 つの言語要素で複数のモデルを表現することができるという点でも注目に値します。この能力により、単一の PMML ファイルにモデルのアンサンブル、セグメンテーション、チェーニング、または合成を含めることができます。

IBM SPSS Modeler および IBM SPSS Statistics では、無数のモデルを PMML でエクスポートすることができます。これらの環境は、データ変換の出力を PMML にすることができるという点でも際立っています。IBM SPSS Statistics では、例えば自動的にデータを補完して、PMML が生成する一連のフィールドにエクスポートすることができます。その一方、R では、ユーザーがモデル・アンサンブルを PMML にエクスポートできるという点で優れています。例えば、ユーザーは R でランダム・フォレスト・モデルを作成し、その数百ものツリーを PMML にエクスポートすることができます。後はものの数分で、デプロイメント環境にモデルを移して稼働することができるというわけです。

ソリューションが最終のものではないとしても、PMML として保存することが賢いプラクティスです。そうすることで、データ科学者は最終的なソリューションに到達するまでに PMML で行ったあらゆる試行を記録に残せるようになります。そしてこのレコードを、データ分析チームが最適なパラメーターとプラクティスを選択するために使用することができます。

PMML に関する知識を広げるには、PMML 標準を主題にした記事「What is PMML?」を読んでください。記事へのリンクは、「参考文献」に記載されています。

ここからは、具体的な実例を見て行きましょう。


例: ADAPA 意思決定エンジン

Zementis 社は、ADAPA という PMML ベースの予測分析意思決定管理プラットフォームを提供しています。ADAPA は PMML で表現された予測ソリューションを取り込んで、リアルタイムで実行することができます。ADAPA は運用側に常駐することから、運用環境に合わせて予測ソリューションのカスタム・コードを作成する負担を IT リソースから取り除くことができ、さらにはデータ科学者が独自の予測ソリューションをデプロイできるようにします。

ADAPA 意思決定エンジンは、PMML を主役とした予測ソリューションのデプロイメント・プラットフォームの好例です。この点に関して、ADAPA が誇る重要な特徴には、以下の 2 つがあります。

  1. ADAPA は普遍的に使用できる PMML コンシューマーです。ADAPA が受け入れるのは、PMML に準拠するアプリケーションで生成された PMML ファイルだけではありません。この標準の古いバージョンで指定されている PMML ファイルも受け入れます。
  2. モデル化手法自体をサポートするだけでなく、ADAPA は PMML が事前処理および事後処理に関して提供するあらゆるものをサポートします。実際、この点ではさらに一歩進んでいて、予測ソリューションが PMML 標準には含まれていない関数を実装する場合、ADAPA ではその関数を Java で実装することができます (図 2 を参照)。生成された JAR ファイルをリソースとしてエンジンにアップロードすれば、そのファイルに含まれるあらゆる関数が PMML から直接インスタンス化されます。
図 2. カスタム関数を Java でコーディングされたリソースとして組み込めるようにすることにより、PMML 標準を拡張します

予測モデルおよびルールの動作

Zementis 社の Analytics 部門の統括責任者である Alex Guazzelli 博士 (この記事の著者でもあります) によるデモを見てください。このデモでは、Zementis ADAPA 意思決定エンジン上で、予測モデルおよびルールを使用して、住宅ローンの融資申し込み時に焦げ付きのリスクを分析するプレクオリフィケーション (事前融資審査) アプリケーションを実行しています。

図 2 に示されているように、 ADAPA には PMML ベースの予測分析エンジンと併せ、ルール・エンジンの完全な機能が組み込まれています。要するに、予測分析とビジネス・ルールをシームレスに統合することにより、データ駆動型の洞察および専門知識を 1 つの意思決定戦略に組み入れられるようにしているということです。

次は、ADAPA を例に、予測ソリューションをデプロイして実行する方法を概説します。


予測モデルのデプロイメントと実行

PMML と ADAPA を使用する場合、予測モデルをデプロイするプロセスは、対応する PMML ファイルをエンジンにアップロードするプロセスに相当します。アップロードが正常に完了すると、モデルは実行可能な状態になります。モデルを実行するには、Web サービスまたは ADAPA Web コンソールを使用します。ユーザーは Excel から直接 ADAPA のモデルにアクセスすることもできます (図 3 を参照)。

図 3. ADAPA では Web コンソールを使用してモデルをデプロイおよびテストすることができます

Web サービスにより、企業全体のアプリケーションが事実上、モデルとその予測にリアルタイムでアクセスすることができます。これは、オンデマンドおよびバッチ・モードでも実行できる一方、ADAPA Web コンソールによるメリットもあります。対話型の管理ポータルとして機能する ADAPA Web コンソールでは、手動でモデルの管理および検証を行うことができます。

ADAPA アドインを使用することによって、ビジネス・ユーザーが Microsoft Office Excel 内から直接モデルにアクセスし、データを採点することもできます。このアドインにより、モデルの作成とデプロイメントに伴う複雑な作業を省いて、複合予測ソリューションを使用できるようになります。このアドインでは、ユーザーが採点対象のデータを Excel で選択し、使用可能なモデルのリストから適切なモデルを選択して「Score (採点)」をクリックするだけで、データを採点することができます。

この運用環境は、真のクロスプラットフォーム・マルチベンダー環境であることに注目してください。さまざまな PMML対応ツールでモデルを開発できることから、採点エンジンとモデル開発環境の両方でまったく同じ結果が得られるように、デプロイメント・プロセスではモデルの慎重な検証が行われます。ADAPA には、モデルが正常にアップロードされ、想定通りの動作をすることを確認するための結合テスト・プロセスが用意されています。このプロセスでは、任意の数のレコードが含まれるテスト・ファイルを、必要な入力変数およびアップロードされる各レコードに想定される結果のすべてでテストし、採点結果を突き合わせます。これと同じプロセスを PMML ファイル自体に組み込むこともできます。その場合、PMML ファイルにはモデル検証に特化した要素が追加されることになります。

モデルの検証が完了すると、一致したレコードと一致しなかったレコードの合計およびパーセンテージに関する統計が返されます。突き合せのテストに失敗したレコードが 1 つでもあれば、失敗したレコードのリストが表示されます。各レコードで計算された情報をトレースすることで、想定される値と計算された値が異なっているレコードを特定し、問題の原因を突き止めることができます。


IBM SmarterCloud Enterprise 上の ADAPA

前述したように、ADAPA は Web サービス呼び出しを利用して、事実上、企業全体のシステムおよびアプリケーションに自動意思決定機能を組み込みます。総所有コストを最小限にするために、ADAPA でのモデル実行は、IBM SmarterCloud Enterprise によるサービスとして利用できるようになっています (「参考文献」を参照)。

過去のデータを利用して未来を理解する: 予測分析

IBM の Ed Bottini 氏と Zementis の Michael Zeller 氏が、IBM SmarterCloud Enterprise 上で Zementis ADAPA 意思決定エンジンが実現できる技術的な内容を紹介しています。予測ソリューション (SPSS、R プログラミング言語) を統合する方法、予測分析に対応可能でアジャイルなベスト・プラクティスのクラウド環境を実装する方法を知り、オープン・スタンダードの PMML が多種多様な予測モデルを組み込む仕組みを理解してください。

SaaS ライセンス・モデルは、Zementis のようなベンダーに、コスト効果の高いサービスとしてソフトウェア・ソリューションを提供する機会を与えます。Zementis のようなベンダーは、SaaS ライセンス・モデルを利用することで、ユーザーの需要に応じてスケーリングし、公共料金と同じように実際の使用量に基づいて料金が発生する、コスト効果の高いサービスとしてソフトウェア・ソリューションを提供することができます。IBM SmarterCloud Enterprise での ADAPA は、完全にホストされた SaaS ソリューションです。ユーザーは月ごとに利用したサービスとキャパシティーに対してのみ支払うため、高額なソフトウェア・ライセンスや社内のハードウェア・リソースに対する出費を節約することができます。さらに、SaaS モデルは、ユーザーがスケーラブルなオンデマンド・コンピューティング・インフラストラクチャーを管理する負担も取り除きます。

IBM SmarterCloud Enterprise で仮想 ADAPA サーバーを起動するプロセスは、従来のシナリオで言うと、ハードウェアを購入し、サーバー・ルームにそれをインストールすることに相当します。従来のシナリオと異なる点は、IBM SmarterCloud Enterprise を利用する場合には、サーバーはクラウド内にあって ADAPA がプリインストールされており、オンデマンドで起動して使用可能な状態になるまでに数分しかかからないことです。この環境では常時、1 つ以上のインスタンスを実行することができます。

処理能力とは関係なく、それぞれのインスタンス・タイプがシングル・テナント・アーキテクチャーを提供します。サービスは、予測モデルとビジネス・ルールをカプセル化したプライベートな専用インスタンスとして実装されます。したがって、インスタンスに対する (HTTP を介した) アクセスはいずれもプライベート・アクセスであり、意思決定ファイルやデータが別のクライアントと同じエンジンを共有することは決してありません。


まとめ

予測分析は、今日の企業がビジネスを行う方法に革命をもたらしています。私たちの社会が人々 (トランザクション・データを介して) やセンサーから収集するデータが増え続けているなか、予測分析は 1 つの分野として、収集されたデータを詳しく調べる予測ソリューションの作成を可能にします。データを分析して変換した後、そのデータを予測手法に入力すると、予測手法がデータに隠された重要なパターンを学習します。これによって生まれるのが、予測モデルです。

けれども、予測モデルを実際に使用するためには、科学者のデスクトップ環境から運用環境にモデルを移さなければなりません。そのために利用できるのが、PMML 標準です。PMML では予測ソリューションを 1 つのツールで作成し、簡単に別の環境に移して実行することができます。

改善を重ねることで成熟した PMML 標準は、主要なデータ・マイニング・ツールのすべてでサポートされています。それには商用の環境もオープンソース環境も含まれます。PMML のサポートが広がるにつれ、各種のツールがそれぞれの予測ソリューションをさらに精巧な方法で PMML で表現するようになってきています。これらの表現は、包括的なデータ事前処理から、1 つの PMML ファイルで何百ものモデルを表現し、そのすべてのモデルの加重平均が出力されるモデル・アンサンブルまで多岐に及びます。

Zementis ADAPA 意思決定エンジンのような、普遍的な PMML コンシューマーは、予測ソリューションを即時に機能させることができます。PMML は IT リソースを解放します。それは、コードを作成し直したり、カスタム実装を作成したりする必要がないからです。したがって、モデル開発環境で生成された PMML ファイルを直接このコンシューマーにアップロードすれば、すぐに PMML ファイルを実行できるようになります。

デプロイされて実際に使用されるようになった予測ソリューションは、そのソリューションが持つ情報を新しい状況に適用することによって、ビジネスの全体像を大幅に変える可能性のある予測を生成することができます。このような予測をビジネス・ルールと組み合わせれば、データ駆動型の知識だけではなく、ルールとして表現された専門知識も利用した自動意思決定を行えるようになります。

クラウドで駆動されるビッグ・データによって、予測ソリューションが対処可能な問題の全体像をより明確にすることにより、予測ソリューションの適用範囲を制限する枠はなくなります。これらの予測ソリューションがオープン・スタンダードと組み合わされたとき、予測分析はその最大限の能力を発揮し、かつてない速さで進行する世界の中で、本来あるべきアジャイルな予測分析が実現します。

参考文献

学ぶために

製品や技術を入手するために

  • IBM SmarterCloud Enterprise に用意された製品イメージを調べてください。

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Cloud computing
ArticleID=823478
ArticleTitle=IBM SmarterCloud Enterprise でのアジャイルな予測分析
publish-date=07052012