SAS Global Forum 2016のユーザープログラムでの発表論文を、"Machine Learning"というキーワードで検索し、機械学習関連の論文を集めてみました。 SAS Global Forum 2016 Proceedings - Machine Learning 関連のSAS社員による講演・論文 Best Practices for Machine Learning Applications 機械学習の実践において一般的に遭遇する課題と解決のためのガイドラインを提供します。機械学習について初心者の方は、こちらもご活用ください⇒SASジャパン機械学習ページへ An Efficient Pattern Recognition Approach with Applications BASE SASおよびSAS Enterprise Minerを使用した、教師あり/なしタイプのパターン認識(画像認識)テクニックの紹介。パターン認識に関しては、この発表者の一人、Patrick Hallがウェビナーで他の例で解説しておりますので、そちらもあわせてご覧ください⇒「機械学習とディープ・ラーニング」ウェビナー Mass-Scale, Automated Machine Learning and Model Deployment Using SAS® Factory Miner and SAS® Decision Manager よりマイクロセグメント化するビジネス課題の解決のための自動化された機械学習製品の紹介 Streaming
Author
オープニングセッションの翌日4/19の朝からは、Ben Casnocha(シリコンバレーで活躍する企業家で著作家)のKeynote Sessionに続き、例年通り、Tech Connectionというセッションが実施され、SAS本社のR&D部門や製品管理部門による新製品紹介とデモンストレーションが行われました。 このセッションでは、実際の企業・組織でよくみかけるシナリオとジレンマを例にとり、SAS Viyaがどのように役に立つのかを紹介しました。データ・サイエンティストでも、統計家でも、あるいはITアナリストでも、ビジネスアナリストでも、そして作業担当者であっても、管理者であっても、それぞれの立場・役割の方に、SAS Viyaが価値をもたらしてくれることをご理解いただけると思います。 SAS® Cloud Analytics Webブラウザからアナリティクス・アプリケーションにアクセスして、予測モデルをすぐに作成することが可能 「組み込みアナリティクス」として、どのような言語からでもSASのAPIにアクセスして既存のビジネス・アプリケーションやビジネス・プロセスに組み込むことができる セットアップ不要なため、S/Wのインストールやクラスターの準備をする必要はない。ユーザーは、セキュアなクラウドベースの環境で、分析をし結果を保存することができる 当日のデモンストレーション: SAS® Visual Analytics SAS Viyaに対応したSAS Visual Analytics最新バージョン データ探索機能(Visual Analytics Explorer)、レポート作成機能(Visual Analytics Designer)、予測モデリング機能(Visual Statistics)が、完全に統合され単一インターフェースになることにより、すべてをシームレスに利用することが可能 ユーザーインターフェースは、HTML5で作り直された 当日のデモンストレーション: SAS® Customer Intelligence 360 "役割に応じた"アナリティクス Software as a Serviceクラウド型 オムニチャネル:包括的なカスタマーインテリジェンスHub 当日のデモンストレーション: SAS® Visual Investigator 脅威の検出は今や自動化することが可能。ウェブサイトやソーシャルメディア、様々なデータベースから情報を収集し、それぞれ異なるデータソース間の関連性を見つけ出す アナリストが、効率的で効果的な調査活動を行うことが可能 不正検知、公共のセキュリティなど様々な課題に応じた利用が可能 当日のデモンストレーション: SAS®
また、SAS Global Forumの季節が巡ってきました。このBlogの最初のエントリーは、昨年2015年のSAS Global Forumのご紹介でしたので、Blog開始から早一年がたったということです。いつもご愛読ありがとうございます。このBlogを楽しんでいただいている方々もいらっしゃるようで、嬉しく思います。今年も何回かに分けて、このSAS Global Forum 2016の模様をご紹介をしたいと思います。 今年は、米国ラスベガスで現地時間の4/18-4/21に実施されました。約5,000人のユーザー様やパートナー様が集まる一大イベントです。4/18夜のオープニングセッションに先駆けて、メディア向けの説明会も行われました。 メディア向け説明会が行われたのは、SAS本社 世界の働きたい会社ベスト10に入るSAS、プライベートカンパニーだからこそできる環境づくり(EnterpriseZine) サッカー場やプール、保育所も完備のSAS本社に潜入--プライベートジェットも(ZDNet Japan) SAS® Viya™ - 今年のイベントにおける最大のニュース 去る2016/4/18に行われたSAS Global Forum 2016のオープニングセッションでは、いくつかの革新的なテクノロジーの発表が行われました。例年と少し進行が異なり、オープニングセッションの後半でSASのCEOである、Jim GoodnightからSASの新しいアーキテクチャについての発表があり、会場がどよめきました。 プレスリリース:SAS、「SAS® Viya™」を発表:オープンでクラウド対応したハイパフォーマンス・アナリティクスとビジュアライゼーションのための次世代アーキテクチャ Jim Goodnightから、アナリティクスをさらに使いやすくし、すべての人が利用しやすいように大きく進化した、SAS Viyaという新しいアーキテクチャの発表を行いました。また、すでに顧客の多くが使用しているSAS9環境と組み合わせてこのSAS Viyaを利用することも可能であるとも話しました。 続けて、SAS Viyaの開発をリードしてきた、Analytic Server Research and DevelopmentのVice Presidentである、Oliver Schabenbergerからこの新しいクラウドベースのアナリティクス&データマネージメントアーキテクチャの概要について説明がありました。 Schabenberger 曰く、 『SASのお客様のアナリティクスへの取り組みや活用方法は様々で、スモールデータからビッグデータ、簡単なアナリティクスから難しい機械学習課題の解決まで非常に多岐に渡ります。ストリーミングデータや蓄積したビッグデータ、構造化データや非構造化データの利用、さらには、個人での利用から数百ユーザーの同時接続利用、クラウドであったりオンプレミスであったり、利用者は、データサイエンティストであったり、ビジネスユーザーであったりなど、様々です。』 『そこで、SASは、データサイエンティストかビジネスアナリストかに関わらず、全ての人が利用することのできる、最新の統合アナリティクス環境を開発しました。SAS Viyaの優れているところは、統合され、オープンな、簡単だが非常にパワフルであり、クラウド環境に適しており、マルチ・クラウドアーキテクチャである点です。』 メディア各社の記事もご参照ください。 アナリティクス一筋40年、SASから生まれた新たなプラットフォームの「Viya」とは(EnterpriseZine) ビジネスアナリティクス、機械学習の進化とSASの新アーキテクチャ(@IT) SAS Viyaについては、今後もこのblog上でも継続的に情報をご提供していきます。 SAS Customer
反省&改善プラン中 SAS JapanのWebサイトにある「機械学習」特集ページは、サーチ・エンジンやバナー広告などから日々、多くの方々にご覧いただいています。昨年後半からは爆発的に訪問者数が増えており、機械学習への関心の高まりを感じている一方で、弊社としては実はこのページは改善が必要と考えています。なぜなら、機械学習の特徴だけが書かれていて、それをどのように利用すれば皆様のビジネス課題を解決できるか、という次のステップをご案内していないからです。これまで、アナリティクスの世界に携わってきた方にとっては、最近バズワード的に使用され始めた感のある「機械学習」というキーワードの特徴が書かれているこのページを見ることで、「なんだざっくりえば、いつも使用している予測モデルのことか」とすっきりしますが、昨今のビッグデータや機械学習ブームで機械学習について突然学ぶ必要が生じた方々にとっては、あまり役立たなかったのではないかと反省中です。 昨今の機械学習ブームは、これからデータを活用してビジネスに役立てようとしている方には実は情報が不足していると感じています。新しいテクノロジーをどのようなプロセスで活用すれば良いのかという指南が不足しています。これは、それを以前から知っていたのに周知できていなかった弊社の努力不足でもあります。 今回は、少し長くなりますが、SASとしては、企業の経営課題をアナリティクスで解決するという視点から機械学習を活用するためのビジネスプロセスについての話をします。簡単に機械学習、予測、アナリティクスを定義した上で、一番大事な活用するためのビジネスプロセスについて、全貌を一気にご紹介します。 機械学習とは 機械学習についての一般的な見解については、また別途詳しくお伝えしたいと思います。ここでは簡単に統計解析、データマイニング、機械学習の違いから、機械学習を理解していただきます。何事も対象を理解するためには、対象そのものを詳細に記述するよりは、他と比較するほうが理解しやすいためです。 統計解析 標本データ(一部のサンプリングデータ)から母集団を推定することを主目的として使用される。限られたデータから世の中を理解したりモデル化するとも言える。 データマイニング 「鉱山から金塊を見つける」という直接的の意味のように、大量データから意味のあるパターンを発見することを目的とする。データからパターンを見出すため、後述の機械学習の学習フェーズそのものと重なるところが多い。 機械学習 既知のデータ、すなわち過去のデータからパターンを見出し、それを将来を予測することを目的に使用する。その目的から、従来は「予測モデル」という言葉で表されることが多かった。 実は、これらは使用している数学的な手法やアルゴリズムはほとんど同じです。もちろん各目的に対して適不適はありますが、まずは、総じて目的が異なるだけだと理解してください。例えば、伝統的な統計解析の手法を工夫しながらビッグデータに適用し予測モデルとして活用するケースもありますし、SASではデータマイニングの結果、使用したアルゴリズムと学習の結果をそのまま、予測モデルとして使用することが可能となります。また、コンピューターの性能向上に伴って脚光をあびるようになった手法もあります。 世の中を理解するためにデータを使用するところから、一歩進んで、その理解に基づいて、次に何が起こりそうなのかを予測し、ビジネスにおいて次に何をすべきかを決定していくといった使い方に変わってきたのです。昨今、機械学習アルゴリズムは多数ありますが、市民データサイエンティスト(Gartner 2015)の方は、その細かいアルゴリズムを理解するところからスタートするのではなく、何のために使用するのかをというビジネス上の目的からスタートすることを推奨します。細かいところは歴史的な流れと共に理解しないと本質がわからないこともあり、いきなり機械学習アルゴリズムの理解からスタートする方法は、学習方法としては非効率です。 アナリティクスにおける予測とは データを活用して統計解析やデータマイニング、機械学習といった手段を用いながら、ビジネスにおいてよりよい意思決定をする、言い換えれば、よりよいアクションを実施することをアナリティクスと言います。アナリティクスはその語源をたどると、不確実性を伴う将来に対して勇気を持って踏み出すと意味があります。データに基づいて意思決定をするということは不確実性、すなわち、確率にもとづいて行動することです。予測結果はどこまでいっても確率的にしか表されませんが、「より起こりやすい」ことを見出すことが可能です。これがよりよい意思決定につながります。 「より起こりやすい」ということを、すでにアナリティクスを実践している人々は、「予測精度が高い」と表現したりします。予測精度をあげることで、売り上げ向上やコスト削減の期待効果が大きくなります。それをわかりやすく表現すると、「予測精度を上げることで売り上げが向上する」となるわけです。将来は、(預言者でないかぎり)確率的にしか予測できないので、あえて表現していませんが、「予測」の裏には確率的な要素が常に含まれています。 チャーン分析やキャンペーンの反応率の分析などでは、ある顧客が解約しそうな・反応しそうな確率を算出するので、確率という考え方が理解しやすいと思います。このタイプを英語ではPredictionと言います。将来のある時点の状態を予測するタイプです。一方で、Forecastingというタイプがあり将来の一定期間の数や量を予測するタイプのものです。そのひとつ、需要予測の値も実は確率的な予測です。需要予測の場合には、予測値そのものの絶対値が注目されがちですが、その予測値がどの程度の確率の幅におさまるかを算出し、その確率の幅すなわち、リスクに対してどのように対処するかどうかが、本当はポイントになります。製品やサービスの特性に応じて、リードタイムを小さくしたり、あるいは確率の幅に応じた安全在庫を持ち、欠品率という顧客サービスレベルのコントロールに役立てます。需要予測のポイントは、予測値の絶対値をピタッと当てることではなく、この確率の幅を定量的に管理することだと言っても過言ではありません。在庫や輸送コストと顧客満足度とのトレードオフを扱う最適化問題でもあります。 企業が利用できるリソースには限りがあります。したがって、この確率の幅が無限大では意味がありません。つまり、100%的中する「0以上」という予測結果には意味がありません。制約のあるリソースで、効果を最大化する必要があります。したがって、この確率の幅を出来るだけ狭めることが重要になります。さらには、その作業にかける時間はすなわち意思決定の時間になりますので、予測結果を出すまでの時間が長ければ意思決定が遅れることになります。 「予測」というと、日本ではまだまだ十分に理解・活用されていないと感じます。市場動向の予測や売り上げ予測といった「参考資料」のようなものとしか位置づけていない定義も多く、それでは正しく理解していないだけでなく、価値をほとんど享受できていません。アナリティクスにおいては、予測結果は単なる「参考資料」ではなく、その予測結果に基づいて直接的に意思決定を行うためのものであるということがポイントです。「次にこういうアクションをするとこういう結果が得られるだろう」という将来の見込みを確率的に定量的に算出することがアナリティクスにおける「予測」です。アナリティクスで競争優位に立っている企業では、予測モデルに基づいたアクションの方が、従来の経験と勘に基づいていたときよりも、スピード・精度ともに勝っていることを証明しています。言い換えると、人の意思決定を自動化しています。自動化というと機械やシステムのみに適用されがちですが、例えば自動発注システムも、本来は人が発注数を決めるという人の意思決定を自動化しているように、日々の人のビジネス上の意思決定を自動化するという感覚がアナリティクスでは重要です。 実際には、コールセンターで人間が画面を見て予測結果に基づいて対応している例もあれば、オンラインストアのレコメンデーションや広告配信システムの様にシステムに予測モデルが組み込まれ、すなわち業務プロセスに組み込まれて意思決定が自動化されているケースもあります。 アナリティクス・ライフサイクル(簡潔版) SASでは、40年間アナリティクスで世界中の企業を支援してきました。その中で出来上がったベストプラクティスの一つに、「アナリティクス・ライフサイクル」というものがあります。これは、企業組織が機械学習すなわち予測分析を用いてアナリティクスを実践する、すなわち、データを活用してよりよい意思決定をすることで競争優位性を身につけるために実践すべきプロセスです。SAS主催イベント「ビッグデータ活用の新しいカタチ」(2015年12月8日開催)のデモンストレーションで紹介したサイクルは以下のようなものです。 このときには、簡潔性を重視したため、4つのプロセスだけで構成されています。 データマネージメント 必要なデータを収集・統合して必要な品質・形に変換する。昨今では、このプロセスをデータ・キュレーションと称することもあるようです。ご存知のとおり、全体のプロセスのうち約80%がこのプロセスに費やされていると言われています。下記のブログもご参照ください。 ブログ:アナリティクスの効果を最大化するデータマネージメント勘所 データの探索とビジュアライゼーション データの基本性質を確認したり、パターンや関連性などを見出し洞察を得る。近年、セルフサービスBIツールによるデータ探索が流行しています。操作性ばかりが注目されがちですが、実は、主観や仮説に基づく探索作業は網羅的ではないため、真の傾向や真の問題点の発見には方法としては十分ではありません。そういった主観に依存した視点の偏りを防ぎ網羅的な探索をするためには、統計的・数学的手法やデータマイニング手法が活躍します。以下のブログでは紹介していませんが、SASの探索・ビジュアライゼーションツールに統計解析やデータマイニング手法が含まれているのは、まさにそのためです。 ブログ:グラフ理論入門:ソーシャル・ネットワークの分析例 ブログ:SAS Visual Analyticsによるパス分析 分析と予測モデル開発 データマイニングや機械学習アルゴリズムを使用して、将来を確率的に予測する「モデル」を作成する。過去のデータを使用してパターン化(学習)するところは様々な数学的アルゴリズムが使用できますが、ソフトウェアがやってくれます。昨今は進化したソフトウェアでより簡単に精度の高いモデル開発が可能となっています。 ブログ:アナリティクスの産業革命-機械学習による自動化 業務への組み込み 作成した予測モデルを使用して意思決定、すなわちアクションを実践する。例えば、顧客スコアを算出しキャンペーンを実施したり、コールセンターでの応対を変えたり、レコメンデーションに役立てたり、不正な金融取引を検出したり、設備の異常を検知するなどの、意思決定プロセスに活用します。 このプロセスを素早くまわすこと、それは意思決定のスピードに直結することを意味します。また、データを適切に準備し、全件データを使って精緻な予測モデリングをすることで、精度の高い予測モデルを作ることができ、それはすなわちよりよい意思決定を意味します。スピードが増せばその分PDCAサイクルがたくさん回ることになるので、それは結果の質の向上につながります。したがって、アナリティクスのためのIT環境をアセスメントする際には、ビジネス上の価値の視点から、まず、このサイクルが効率的に・高速にまわせるかどうかということが評価の基準になります。 アナリティクス・ライフサイクル(詳細版) 実はアナリティクス初心者には前述の簡易版は適切ではありません。重要なプロセスが暗黙的になっているからです。弊社のアナリティクス・ライフサイクル、完全バージョンは以下のようになります。 今回取り上げたい重要なポイントは、 課題定義 まず最初にすべきことはデータ分析・予測モデルの活用で解決したいビジネス上の課題定義 精度評価・モニタリング
さて、今回ご紹介する例は、最近議論が活発な、「機械(コンピューター)が人間の作業を奪う(?)」お話です。 機械は人間から仕事(今回の例では、仕事ではなく娯楽と言ったほうが近いかもしれません)を奪ったことになるのでしょうか?それとも、真の楽しみを味わえるように、単に単純労働から開放してくれただけなのでしょうか? 昨今、人工知能がもたらす変化という文脈で行われている議論ですが、今回は、昔からある最適化アルゴリズムで、人間の仕事を奪います。皆さんでその意味を考えてみてください。 イギリスの諜報機関GCHQがクリスマスメッセージとして送った難解なパズルが公開されており、優秀な人たちを楽しませています。その第一問が、以下の「お絵かきロジック」です。日本でも一時期流行しました。イラストロジックなどとも言われ、私自身もトライした記憶があります。 このパズルそのものについては、他の情報源に頼って欲しいのですが、簡単に説明すると、それぞれのセルを黒か白で塗りつぶすパズルで、行と列に書かれている数字は、黒マスが連続している数を順番どおりに示している「手がかり」です。いくつかのセルはすでに黒く塗りつぶされていますが、それらはこのパズルの答えを一つに確定するために必要です。 一部の箇所は、それぞれの行や列の情報だけを見て解くことが可能です。例えば、7番目の行を見てみましょう。手がかりは、(7 1 1 1 1 1 7)です。すなわち、全部で 7 + 1 + 1 + 1 + 1 + 1 + 7 = 19 個の黒いセルが必要となり、最低ひとマスは間隔が空いていないといけないので、7個の固まりの間の個数を考慮すると、7-1=6 個の白マスが必要となります。この二つの数字を足すと、19 + 6 = 25 となり一行の列数とおなじ数にちょうどなります。したがって、この結果から直ちにこの行の全てがあきらかになります。 黒7, 白1, 黒1, 白1, ・・・ ついてきていますよね。 しかし、そうは簡単にいかない箇所のほうが多いでしょう。その場合には、手がかりから部分的にしか黒く塗りつぶせないことになります。例えば、一行目を見てください。ヒントから(7 + 3 + 1 + 1 + 7) + (5
変わ(る・るべき・れる)データマネージメント データ、さらにはビッグデータを使用して競争優位性を獲得しようとするにつれて、企業・組織はよりスピード感をもって、試行錯誤を繰り返す必要にせまられおり、データマネージメント戦略やアプローチについても従来とは異なる方法にシフトしつつあります。 これまでのアプローチ 従来のアプローチでは、まず、ビジネスユーザー部門が「問い」を決めた上で、IT部門が「問いへの答え」のためのインフラとデータを準備していました。例えば、「先月の地域別、製品別、チャネル別の売り上げはどうなっているか?」や、顧客へのアンケートに基づいて、「顧客は何を考えているか?」などです。このような過去や現状を把握するための「問い」は、ほとんどの企業・組織で共通している、基本的な業務プロセスを実行するために適した方法です。 この方法では、ユーザー部門が本当に欲しい答えを得るまでにはIT部門と何度もやり取りを繰り返す(Iteration)必要があります。その作業には数週間要するケースも少なくありません。ビジネスユーザーにとっては、事前に完璧な「問い」をシステム的な要件として定義することは困難であり、一方でIT部門は業務に対する理解が100%完全ではないためです。しかし、ひとたび、ITインフラやデータが用意されると、その後は、「決まりきった反復的な(Repeatable)」分析、すなわち現状を把握するための分析(これはAnalysisです)ビジネス・インテリジェンスという目的に使用されます。 アナリティクスおよびビッグデータ時代のアプローチ 新たな洞察の発見や予測モデルを作成し、よりよい意思決定やアクションを実践することを主目的とするアナリティクスにおいては、このプロセスが極端に言えば逆になります。まず、IT部門が収集したデータを蓄積する基盤を構築し、その後にビジネスユーザーがその基盤を利用して新しいアイディアや問いを探索するという順序です。この作業は、創造的な発見的プロセスであり、ビジネスユーザーは使用しているデータが特定の目的にあっているかどうかを自身で判断することができると同時に、これまで知らなかった傾向や関係性を明らかにしたり、更なる深い分析のために役立つかもしれないデータを見つけたりします。 この新しいアプローチの特徴は、ユーザー自身でデータ加工やその先の分析を繰り返し実施(Iterative)することに適しているということです。アナリティクスにおいては、仮説検証、試行錯誤、さらには失敗をいかに高速に実施するかが重要なため、この繰り返し作業(Iterative)をユーザー自身で迅速に行う必要があるのです。 RepeatableとIterationとの違い 同じ動作を繰り返す、例えば毎月同じ種類のデータに対して同じクエリーを実行しレポートを作成するようなことがRepeatableです。それに対してIterationとは、異なる動作を繰り返す事を指し、データや見方を変えながらデータを探索しつつ仮説検証を繰り返したり、予測モデル作成や機械学習アルゴリズムのための説明変数や特徴量を探索しながら作成していくことを意味しています。BIレポーティングは、 Repeatable, アナリティクスはIterativeと覚えておいてください。 Iterativeなデータ加工プロセスでは以下のように、SQLだけでは困難な処理が多く含まれます。 集約(合計や平均などだけではなく、中央値や標準偏差などを含む) 転置(下記ABTにも関連) 統計的判断(ある事象、たとえば売り上げの減少が、単なる偶然のバラツキの範囲なのかなのかそうでないか) 欠損値や異常値の検出と補完(0で補完するだけでなく、平均値や中央値など) 新しい変数(カラム、列、特徴量とも言います)の作成 重複データの検出と対応 クレンジングや表記をあわせる標準化 SQLジョイン マージ(SQLジョインでは不可能な複雑な条件でデータを結合) 数値データの変換(対数変換や標準化) 次元圧縮 よく見かける現場の状況 これら2つのアプローチの違いは、従来活用していなかった履歴データや、ビッグデータ、非構造化データと呼ばれるような装置からのログデータやテキストデータを活用しはじめようとする際に顕著になります。業務システムや既にデータウェアハウスに格納されている、主キーやカラム構造がわかりやすいデータとは異なり、このような新しいデータは、行を特定するためのID項目。がなかったり、論理的な1行が複数行にまたがっていたり、欠損値が多い、そもそもどんな値が格納されているべきかを業務ルールから特定できるわけではないなど、必ずしもRDBMSに格納しやすいデータとはいえません。このようなデータを、キー構造や値の制約などを厳格に管理することに重きを置く従来型のRDBMSに格納しようとすると、IT部門は、まずユーザー部門に対しして、「どのような種類のデータをどのように使用するのか」といった目的定義からスタートします。わかりやすくいうと、どのようなSQLを投げるかが決まらないとテーブル構造やリレーションシップなどのデータモデル設計ができないからです。しかし、「アナリティクス」においては、どのようにデータを加工するかは、分析のプロセス中に考えることですし、分析が進むにつれて加工の仕方も変わってくるため、あらかじめ用法を明確に定義しておくことはできません。データを触ってみないと加工の仕方は決まりませんし、将来的に別の活用方法になることもあります。同じデータであっても、データを縦方向に長くする方が良いのか、横方向に長くのが良いかは、そのときどきのデータの見方によって変わります。従来のデータマネージメントのアプローチでは、この瞬間に「卵とニワトリ」の問題が発生し、アナリティクスの取り組みの大幅なスピードダウンを招くことになります。 なぜ従来型のアプローチになるのか? IT部門がこのような従来型のデータマネージメント・アプローチを取ろうとするのには、理由があります。RDBMSを利用する場合、さらにはHadoopを利用する場合には特に、ビジネスユーザーが生データを加工することはIT技術的・スキル的に困難だと考えており、なんらかの「おぜんだて」をしてユーザーに使いやすいソフトウェア環境とともに「公開」しようとする意識があるためです。実際にそのとおりであり、高度な分析をするためには、さすがにSQL程度は使えるor考え方がわかる必要はありますが、HadoopのMapReduceはハードルが高すぎます。しかし、アナリティクスにおいてSQLは道具として不十分であり、必要なデータ加工をするためにはMapReduceやその他のデータ加工言語を駆使して、場合によっては分散コンピューティングを意識しながら使いこなさないと実現できないデータ加工要件が存在します。この部分のスキルを獲得したり人材を確保するのはコスト高であるだけでなく、ビジネス・スピードを損ないます。 先行してビッグデータアナリティクスで競争優位性を築いている企業・組織はここの事情が少し異なります。彼らにとってアナリティクスの活用はビジネスモデルの根幹であるため、スキル獲得(教育、学習、採用)はコストがかかってもMUSTであると考えています。ただ、それでも、分析組織として拡大・成熟してきたチームの管理者は、昨今のデータ分析人材難もあいまって、自分の抱えるチームの生産性に課題を感じ始めています。 最新のテクノロジーがアプローチ方法の変革を可能にします 実は、このようなIT部門の懸念はすでに過去のものとなっています。テクノロジーは進化しソフトウェアは成長しています。いまや、データサイエンティストのような「分析もITもこなすスーパーマン」ではない「ビジネスユーザー出身の分析者」(ガートナーはこれを市民データサイエンティストと呼んでいます)であっても、Hadoopの技術的なスキルなくとも、グラフィカルなユーザーインターフェースや分析者が通常分析に使用する言語で、Hadoop上のデータを自由自在に加工できる手段が存在します。つまり、ビッグデータ時代においては、データは基本的な欠損値の補完などのクレンジング処理だけを施した生データを置いておくだけで、データ分析者が、高度なITスキルを持たなくともハイパフォーマンスに分析処理を実行することができるのです。 アナリティクス担当者(誤解しないでください。レポーティングしたい分析者とは異なります)が考えていることは、 「データの形式や品質はさておき、とにかくデータにアクセスできるようにして欲しい。加工は自分たちでできるから、とにかくスピード優先で」 となります。このような要望にこたえるためには、従来型のテクノロジーを使用したデータウェアハウスの改修という方法では困難です。様々な形式のデータを、データモデル設計をすることなく、適切なコストで、まずは蓄積するということが必要になり、そこは今の時代においてはHadoopが最適です。また場合によって、既存のシステムとの連携においては、フェデレーション技術のように仮想的に集めたかのように見せる必要があるケースもあります。このような環境では、従来のデータウェアハウスのように整ったデータが準備されているわけではなく、使用する際に整えることになるため、分析者がデータ品質を目的に応じて整える必要があり、Hadoop上でデータプロファイリングやクレンジングを自身で実施します。さらには、あらかじめ直近使用する予定のないデータをも捨てずに蓄積しておくデータレイクという戦略をとる企業・組織も出てきました。 最初のゴールはABT作成である IT部門が、このアナリティクスにおけるデータ加工の最初のゴールを理解すると、企業・組織におけるアナリティクスの取り組みが飛躍的に加速し、IT部門のビジネスへの貢献の仕方も理にかなったものになり、IT投資の目的や方向性を設定しやすくなります。 アナリティクスが欲しているのは、BIクエリーに適している正規化データモデルやスタースキーマ・データモデルではありませんし、また「目的特化型のデータ・マートが欲しい」というわけでもありません。まず最初の目的は、ABTすなわち、Analytical Base Tableを整えることです。ABTとは、15年以上前からある考え方で、アナリティクスにおいてデータの分布の確認や傾向の探索、予測モデルの作成のための基本テーブルのようなものです。 顧客の購買行動を予測する際を例に考えてみましょう。当時はそのまま「1顧客1レコード」と呼んでいましたが、最近ではSASジャパンでは「横持ちテーブル」ということが普通です。対して、履歴データを縦に持ったものを「縦持ち」と言います。簡単に言うと、顧客に関する全てのデータ、顧客マスターにある属性情報に始まり、契約情報、購買履歴、コミュニケーション履歴、キャンペーンへの反応履歴、店舗やWeb上での行動履歴、など、最近の言葉で言えば、顧客の360度ビューをデータとして表現し、1人の顧客につき1行使用し、これら情報を列方向に持たせたデータです。ご想像の通り、このテーブルは時には列数が数百、数千、数万になったりすることもあります。ただ単に履歴を横に持つから横に長くなるというよりは、顧客を特徴づける説明変数や特徴量を作成していくことでも、その数が増えていきます。単にAという商品を買ったというだけでなく、何曜日の何時にどの店舗に来店したのか、来店頻度は? 金額は? 金額の合計は? など、その顧客がどのような行動、嗜好をもつ顧客なのかを特徴づけるデータを作成します。どのような列、説明変数や特徴量を作成するのが良いかは、今回の趣旨ではないので省略しますが、これまでの業務上の勘と経験、ノウハウ、そして一番重要なのは、企業が顧客とどのような関係を気づきたいかという顧客戦略、これらがあれば、おのずと決まってきます。また、ある程度世の中にベストプラクスもあるので、書籍や弊社コンサルタントに期待することもできます。 なんだ、全てのデータをくっつけたデータマートを作ってあげればいいのではないかと思うかもしれませんが、ABTを作成する作業は前述の通り分析作業をしながらのIterativeなプロセスのため、分析者自身が作っていく必要があります。アナリティクスの活用成熟度の高い分析チームになると、データの一貫性を理由として、複数のテーマでこのABTの一部の列を共有するようになります。この段階になって初めて、ある程度仕様が固定化されたデータマートのようになりますが、ビジネスの変化に応じて柔軟・迅速に変更していく必要があるという性質は変わりません。 IT部門の新たな役割:データスチュワード このように、アナリティクスのためのデータマネージメントプロセスを実践するためには、アナリティクスという具体的なビジネス価値を創出するための要求とスピードに対して、迅速に対応する必要があります。その主たる役割は、従来型のシステム開発データベース構築やデータモデルの設計ではなく、「ユーザーの使いたいデータはどこにあるのか?」、「社外データはどのように調達できるかどうか?」、「他部門ではどのようにそのデータを活用しているのか?」といった疑問に答える役割で、一般的には、「データスチュワード」として定義されている役割です。データスチュワードという役割は、約10年前にその必要性が叫ばれたBIをサポートするBICC(ビジネス・インテリジェンス・コンピテンシー・センター)でも定義されていましたが、昨今、アナリティクスの広まりによって、その役割の重要性が再認識され始めています。部門横断的に業務とアナリティクスおよびITに対する一定の理解とスキルを有しつつ、主たる役割はアナリティクスとそれに必要なデータやスキルを効果的・効率的にマッチングすることです。最近では、必要な全てのデータやスキルを組織内で準備することが現実的ではなくなってきており、その解決策の一つである、「オープンイノベーション」の事務局的な役割を担っているケースもあります。
ビジネスに使える「良い予測結果」を得るために 今回は、8月にリリースされたSAS Forecast Serverの新しい機能を紹介しながら、データが理想どおりに画一的にはなっていない実際のビジネスの現場で「良い予測結果」を得るために必要な3つの要素についてご紹介します。 はじめに 需要予測はもともと、天候などの不確実なばらつきをもつ外的要因という制約のもとで、顧客満足度や販売機会を最大化(欠品による損失の最小化)しつつ、売れ残りや在庫保有といったコストを最小限にするための手段のひとつです。生産から販売までのリードタイムが長い商品の販売量の予測や、一定期間先の需要量の取引を行うエネルギーの売買に携わる企業にとっては、正確な需要予測が不可欠です。今回は、予測結果そのものの精度をビジネス上の課題解決に見合う精度にするために、欠かせない要素ついてご紹介します。 欠かせない三つの工夫 SASは長年、SAS/ETSやSAS Forecast Serverなど、時系列予測機能を提供してきましたが、それらツールを使用して実際に成果を出している企業に共通するのは、これらのツールに用意されている時系列予測アルゴリズムを単に使用するのではなく、精度を高めるためのなんらかの"工夫"をしているということです。それをまとめると以下の3つに集約されます。 予測対象の実績データ(以下、時系列データ)のセグメンテーション マルチステージ(他段階の)予測モデリング 予測結果の追跡 予測のためのアルゴリズムは世の中に多数存在しますが、それを単純に適用するだけでは、ビジネス上の意思決定に利用可能な精度を実現するのは実は困難です。従来は、上記3つの工夫をシステム構築の際に考慮し独自に仕組みを作りこむ必要がありました。SASはこれらをベストプラクティス化し、ツールそのものの機能としてリリースしました。新たにSAS Forecast Serverに備わった、それら3つの機能について簡単にご紹介します。 1.時系列データのセグメンテーション どの店舗でいつ何が売れるのかを予測しなければいけない小売業 客室の埋まり方を予測しなければならないホテル業 顧客満足度を落とさずに欠品率をコントロールするために、どの施設レベルで予測すべきかに頭を悩ませる流通業 エネルギーの使用量を予測しなければならないデータセンター事業者やエネルギー供給企業 乗客数や交通量を予測する航空関連企業 コールセンターの需要を予測して従業員の配置を計画する通信会社 など、どのような予測業務においても、最初のステップは、自社の時系列データがどのようになっているかを理解することです。 理想的な時系列データ 従来の予測技術にとって最も完璧な(うれしい)時系列データはこのような形(図1)をしています。量が多く、データ期間が長く、安定していて、同じパターンが繰り返され、欠損値がほとんどなくパターンが予測しやすいという特徴があります。 このような理想的な時系列データが仮に存在したとすれば、自動化された予測エンジンと単一の予測モデリング戦略で簡単に良い予測結果が得られます。 実世界の時系列データ しかし現実世界では、企業が保有する時系列データはもっと多様です(図2)。 洗剤のようにいつでも売れる安定した(Stable)需要 バーベキューセットのように季節性(Seasonal)のある需要 あるいはレベルシフト(Level Shift)があるような需要-例えば、市場や販売チャネルを拡大したタイミングなど- 新製品の投入や新市場への進出など、データ期間が非常に限定されている(Short History)。 自動車の特定の補修部品のようにスパースなデータ(あるいは間歇需要とも言います)(Intemittent)。 ハロウィングッズのように一年に一回のある週や月しか売れないものもあります(Holiday)。 このようにそれぞれまったく異なる時系列パターンに対して単一の予測モデリング戦略を適用しても良い予測結果は得られません。これらにどのように対処するかが「良い予測結果」を得られるかどうかの分かれ道になります。 時系列データのセグメンテーション この問いに対する解決策は、時系列データのセグメンテーションです。時系列データのセグメンテーションとは、時系列データのパターンに応じて異なるパターンに分類する方法です。これは、需要予測プロセスにおいて最も重要な最初のステップのひとつです。分類した後にそれぞれのパターンに応じた予測モデリング戦略を適用することが「良い予測結果」を得るための秘訣となります。 これにより、 Stableなデータに対しては、ロバストなARIMAモデルを適用し、 季節性を示すデータには季節性モデルを、 Level Shiftタイプにはレベルシフトの要素を説明変数に利用できるARIMAX手法を、 新製品パターンには類似性分析のテクニックを用い、 スパースなデータに対しては間歇需要のための予測モデルを、 Holidayパターンにはカスタマイズした時間間隔モデルを使用する
15年前 2000年、当時すでに(今では機械学習に分類されるいくつかのアルゴリズムを搭載した)予測モデリングツールSAS® Enterprise Minerはこの世に存在していました。また、予測モデリングにおけるSASの方法論であるSEMMAプロセスも同時に存在していました。SEMMAプロセスとはSASがそれまでに培ったベストプラクティスであり、Sample(当時は1%サンプリングで十分だと立証する論文がいくつもありました)、Explore(探索、分布の確認)、Modify(補完、置き換え、変換、連続量のカテゴリカル化など、予測モデルの精度を上げるための工夫。昨今Deep Learningでは逆にこれらをせずにありのままがいいという考え方もあります)、Model(決定木などのモデル手法の適用)、Assess(複数の予測モデルから予測パフォーマンスの良いものを選択)であり、これらを順に実施することで誰でもそれなりに精度の高い予測モデルが作れました。この方法論と方法論にのっとったEnterprise Minerのおかげで、初めての分析プロジェクトにおいて何の迷いもなく顧客の解約を予測する予測モデルを作成でき、一瞬のうちに自分が「できる分析者」になったかのように感じたのを覚えています。 学生時代、実験結果の分析にSASをプログラミングで使用していた筆者にとっては、アイコンを並べて線を繋ぐだけでよいこのツールが魔法のように感じていました。しかし同時に「アイコンの並べ方、設定、当てはまりのいい手法にはパターンがあるなあ」と感じていましたし、加えて「マウスのドラッグ&ドロップという操作がちょっと面倒」だとも感じていました。 その頃、あるお客様は、サンプリングではなく全件分析で得られる価値に重きを置き、数日にわたる予測モデリング処理を実行していました。当時の世界で最大級のUNIXを使用したチャレンジは、もちろん技術的な制約により処理を完結することそのもが一つの課題でもありました。まさに「ビッグデータ」を筆者が最初に体験した場でした。 2015年 15年前、少ないコンピューターリソースしか持たない我々は、いかに顧客をあまり多くない、説明しやすいグループに分けるかを考えていました。『顧客の顔の見える化』と当時の多くのプロジェクトでは呼んでいました。しかし、今日では消費者の嗜好が多様化し、サービスや商品も多様化かつ大量化し、サービスや商品の寿命が短くなり、販売チャネルも多様化しました。予測モデルを使用して、単に顧客を理解するだけではなく、収益を最大化するためには、そのような多様性を失わない大量のセグメントごとに予測モデルを作る必要がでてきたのです。 このような分析対象の数の増加や粒度の増加、さらには分析対象データ量の増大は、近年、組織の分析チームの責任者にとっては、「予測モデル作成業務の生産性の向上」というミッションとして、大きな課題になってきたのです。 従来、予測モデルの作成は、分析サービスを提供する企業などだけが実施する、一部の人の道具でした。しかし時代は変わりビッグデータブームにも後押しされ、アナリティクスを活用する/したい組織・企業は増加の一途をたどっています。しかし、高度な数学的考え方に基づく予測モデリング手法を高等教育で学んで社会に出る人材はそれほど増加していません。そこに、「アナリティクス人材」の不足問題が生じています。 2015年、ガートナー社は「市民データサイエンティスト」という言葉を新たに定義しました。これまで高度な分析に縁遠かった、統計学や数学の専門知識を持たない業務部門の担当者が必要に迫られて予測モデリングをするようになってきたという状況をうまく表現していると思います。 さらに、この15年で、情報技術の進化と共に、より計算が複雑な手法、すなわち、昨今では機械学習と呼ばれるような高度なアルゴリズム、複数のモデルを組み合わせるアンサンブル手法、など、以前は、コンピューターの処理能力の制約で利用できなかった洗練された大きな計算能力を要する手法が登場してきました。それぞれの手法には特徴や向き不向きがあり、データの性質や予測したい事象の性質に適した手法を使用することで、より良い意思決定が可能となります。SASもこの間、Base SASエンジンから、In-Databaseへ、そしてSAS In-Memory Analyticsへとアルゴリズムの実行環境をシフトしてきています。 この15年間で予測モデル作成プロセスそのものの考え方は変わっていませんが、それを取り巻く環境や期待が大きく変化したことにより、予測分析に対する要件も変化してきています。近年、アナリティクスを武器とする企業が求めている大きな3つのポイントは以下の通りです: 扱いやすさ: 高度な分析・ITスキルを持たないビジネスユーザーでも扱えること スピード: 大量データ、多数のセグメントに対してスケーラブルであること 正確性: 収益を左右するモデルのパフォーマンスが良いこと(精度が高いこと) SAS® Factory Minerリリース SASはこのような要望に応える形で、このたびSAS® Factory Minerという新製品をリリースしました。 ボタンクリック一つで自動的に、 最新の機械学習アルゴリズムを使用して、 これまでに培ったベストプラクティスに基づいた、 最良の予測モデルを作成することが可能となります。 従来、GUIとはいえ、人手でひとつひとつ時間をかけて実施していた予測モデル作成業務の時代から、全自動の-すなわち、モデリングプロセスにおける試行錯誤と手動プロセスを不要とし、データの特性に応じた最適なデータ変換手法と最適な機械学習アルゴリズムを自動で選択肢し、一つの操作でセグメントごとの予測モデルを作成できる-時代がやってきました。 まさに、予測モデリングの世界における産業革命です。 SAS® Factory Minerの紹介ビデオ 60秒で語るSAS Factory Miner
SAS Studioとは SAS Studioは、SASをWebブラウザから(HTML5)利用できるアプリケーションです。従来のようにクライアントPC上にSASをインストールする必要もなくなり、Webブラウザさえあれば、どこからでもSASエンジンを利用することが可能です。そのためもちろん、クラウド環境での利用にも適しています。統計やSASの学習目的であれば無償で利用可能なSAS University Edition / SAS OnDemand for Academicsのインターフェースに採用されているのでそれをご利用の方はすでに慣れ親しんでいらっしゃると思いますが、実はそれに限らず、ほぼ全てのSASユーザーの方がご自身のSAS環境で利用可能な次世代のインターフェースです。 SAS Studioを使用して、データ、SASライブラリ、SASプログラムを利用することができ、新規にプログラミングすることも可能です。 最新バージョンでは、多くのSAS Enterprise Guideユーザーに支持されている、マウスによるポイント&クリックでクエリを作成できる「クエリビルダ」も追加されました。 それだけはありません。SAS Enterprise Guideと同様、ポイント&クリック操作だけで背後でSASコードを自動生成させる様々な処理が用意されている「タスク」も用意されています。また、既存のタスクをベースに、あるいはテンプレートをベースに新規にユーザー定義タスクを作成できるようになっており、XMLを編集するだけで簡単に作成できます。 さらには、SAS Enterprise Guideのように、そのタスクとコードを組み合わせて、処理フローを作成するビジュアル・プログラミング機能も提供されています。 使い方 まずは、どのような操作感なのかを以下の動画でご確認ください!(日本語字幕付きなので音声出さなくても内容理解できます) SAS Studioの日本語の利用ガイドもありますので、是非ご活用ください。下記日本語ドキュメントは最新リリース3.4の一つ前のバージョンのものになります。最新バージョンであるSAS Studio 3.4用の日本語ドキュメントも間もなく公開できる予定で、こちらのSAS Studioのドキュメントページにアップされる予定です。 プログラミング入門ガイド SAS® Studio 3.3 SAS Studioを使用してSASプログラミングを行うための基本的な使い方を紹介しています。 SAS® Studio 3.3 ユーザーガイド SAS Studioの全ての機能の操作方法を日本語で説明しています。 動作アーキテクチャ タスクやプログラムコードを実行すると、SAS StudioはSASサーバーに接続しSASコードを実行します。SASサーバーは、クラウド環境上に配置することも可能ですし(SAS OnDemand for Academicsや、SAS University
今年もユーザー総会が8/6・8/7で行われました。会場にて、あるユーザーの方に「SAS Enterprise Guideのよりよい使い方などに関する情報があればもっと教えてほしい」と相談を受けましたので、今回はそれを取り上げたいと思います。 SAS Enterprise Guideとは、SAS Business Intelligenceの主要アプリケーションのひとつです。定型レポートの作成や定型レポートで発見した課題をより深く掘り下げて詳細な課題箇所を特定するアドホックレポーティングに使用する、グラフィカルユーザーインターフェースを備えたツールです。SAS Global Forumではそのようなツールの使い方Tips等実際のユーザーの方々の便利な利用方法が紹介されたりしています。今回は、SAS Global Forum 2015および2014から、SAS Enterprise Guideの使い方に関わるものをピックアップしてみました。 最新バージョンで追加された新機能については、こちらの What's New in SAS(R) 9.4 にまとまっており、最新バージョンの7.1および7.11においても継続的に機能が追加されていますので、是非ご参照ください。 二つほど最近追加された機能をご紹介します。 Enterprise Guideには昨今約90に上るタスク機能が搭載されています。初心者の方であれば自分の使いたいタスクを見つけるのが大変なので検索機能が欲しいでしょうし、使い慣れた方であれば、マウス操作とはいえ、使いたいタスクまでマウスを移動させる時間も惜しいでしょう。さらには、いつも使うタスクは決まっている人は、「最近使ったタスク」が欲しいことと思います。最近これらの悩みを解決する「タスクブラウザ」という機能が新たに追加されました。 さらに、私の身近にもEnterprise Guideをマウスで目にもとまらぬスピードで操っている人がいます。そのような人が長年待ち望んでいた機能も実現しています。プロセスフローダイアグラム上で結合したい複数のデータを選択し、クエリビルダを選択することで、複数の入力テーブルを一度の操作で設定することが可能となりました。 是非ご活用ください。 このようなことが、下記に紹介するドキュメントには掲載されています。 2015 Creating Keyboard Macros in SAS® Enterprise Guide® キーボードマクロを作成する方法が紹介されています Easing into Analytics Using SAS® Enterprise Guide® 6.1 基本的な使用方法が紹介されています Joining Tables Using SAS® Enterprise
SASではグラフ理論(グラフ分析と言ったりもします)や、そのビジュアライゼーションを容易に実践することができます。本ブログでは、何回かにわたりこのトピックを扱っていきたいと思います。グラフ(ネットワーク)は世の中のあらゆるところに存在します。リレーショナルデータベースのER図として抽象化されている世界(企業の業務など)とは異なり、現実の世界では全てのモノが相互に関連しています。昨今注目されているIoTにおいても単に生成されるデータを個別に分析するだけでなく、それによってつくられたネットワークそのものを分析対象にすることで新たな洞察が生まれる期待も大きいと考えられます。今回はまずソーシャルネットワークを例にその様子を紹介していきます。 はじめに IoTに代表される昨今のように全てが相互に接続された世界では、ある一つのモノそのものを詳細に分析するだけでなく、異なるモノとモノ同士がお互いにどのように関連しているかも理解することの重要性が増しています。ソーシャルネットワークは、モノやサービスについて消費者がどのように考えているか、あるコミュニティが自社に関係のある別のコミュニティとどのようにリンクしているのか、インフルエンサー(情報発信力あるいは影響力をもつ人々)はどこにいるのかなどについて驚くべき事実を提供してくれることが多いのです。このようなネットワークについて理解することで、自社のビジネスにとって役立つ洞察を与えてくれたり、次のマーケティングキャンペーンにおいて誰をターゲットとすべきかについての意思決定に役立つでしょう。 ネットワーク(グラフ) ネットワークとはモノ(ノード)と、それらモノとモノとを接続するリンクの集合によって構成されます。リンクによって様々な関係性を表現できます。この定義は非常に一般的ですが、我々はありとあらゆるところで、このネットワークを見出すことができます。 数学的には、ネットワークはグラフと呼ばれています(データビジュアライゼーションで使われるグラフとは異なる意味なので注意してください)。相互に接続されたモノは数学的には頂点といい、頂点と頂点を結ぶリンクは、エッジ(辺)といいます。グラフの性質は数学、工学さらには社会科学といった領域でグラフ理論という研究対象となっています。 一方で、ネットワーク・ビジュアライゼーションはこのグラフをビジュアルに表示するためのものです。もっとも一般的な形は、リンクノードダイアグラムで、頂点を表す点または円があり、それらが辺を表す直線や曲線でつながっているものです。頂点の属性は、大きさや色、形にマップされ、辺の属性はリンクの幅や色にマップすることができます。 辺の属性として重要なのが「方向」です。ほとんどの関係性(リンク)は方向性がない、対称なものです。例えば、Facebookにおける友人などがそれにあたります。しかし「方向」があり非対称なネットワークもあります。Twitterにおける"フォロー"がそうです。このような場合には、ビジュアライゼーションは矢印などのような線で関係性の方向を表現することができます。 ソーシャルネットワーク 複雑系の一つの特徴的な側面であり、またそれが全体を予測することを困難にしている理由の一つでもあるものに、それを構成する構造と各構成要素の振る舞いとの間の相互作用があげられます。 その相互作用は、ソーシャルネットワークにおいて特に顕著にみられます。あなたを知っている人があなたの行動に影響を与えたり、またその逆であったりするでしょう。この後紹介するように、ネットワークは「アクター」(人間のことが多いですが、時には自動化されたコンピュータ・エージェントであったり、組織であったりします)によって構成され、それぞれの間の関係性や行動(フォロー、いいね!やリツイート)によって関連付けられます。「アクター」の行動による影響は、関連付けられている別のアクターに対して広範囲に作用します。つまり、全体の中で重要な位置にいるアクターは、グループ全体に対して大きな影響を与えることができるのです。 では、我々はどのようにソーシャルネットワークを理解すればよいのでしょうか?基本的な問いから始めてみます。 ネットワークの基本的な構造はどうなっているか?ひとつの団結したグループなのか?それとも緩くつながった強固なコミュニティなのか? インフルエンサー(影響力のある人)は誰なのか? これらの問いを総合するとネットワークの影響がお互いにどのように作用しているのかをマクロな視点とミクロな視点で明らかにすることができます。 データ準備 今回は、ソーシャルネットワークの分析を紹介するためにツイッターデータを使用します。SAS Visual Analyticsでは、ツイッターデータを取り込むことが可能ですが、非常に大きなデータをインポートするとデータが非常に膨大になります。そのような場合にネットワークをよりよく理解するために、ネットワーク分析のためのツールであるSASのOPTGRAPHプロシジャを使用します。将来のバージョンでは同様のことをSAS Visual Analytics上だけでテキスト解析やフォーキャスティングと共に利用できることになる予定です。 この例では、#SASUSERS, #SASSGF14といったハッシュタグで抽出したツイッターデータを使用します。このデータは以下のような構造をしています。 前述したように、このネットワークは、これらのツイートをしているユーザーたちと(テキストそのものは今回は関係ありません)、それぞれのユーザー間の関係性(AがBをフォロー)によって表現されます。その情報に基づいて、二つの列、FROM_IDとTO_ID(このIDはツイッターのユーザーIDです)を使用したデータ構造を作成します。RELATIONSHIP列は、このリンクの意味を表現しています。 このテーブルをSAS Visual Analyticsにロードしてみるだけでも、以下のような興味深いネットワーク構造を見ることができます。 フォローワーの数などを人の属性に設定することにより、このネットワークに含まれている人あるいは組織についての最初の洞察を得ることができます。 もちろん、このように考える方もいるでしょう。フォローワーの数が多いからといっても必ずしもその人物がネットワーク上の重要な人物とは限らないだろう、と。では、より深く理解するためにコミュニティとキーとなるアクターを特定する方法を見てみましょう。 コミュニティの検出 コミュニティの検出、あるいはクラスタリングとは、つながりの強いノード同士をグループ化してネットワークをいくつかのサブ・ネットワークに分解していくプロセスです。 SASではこのようなグラフ分析のためのツールOPTGRAPHプロシジャを提供します。OPTGRAPHが提供する様々な機能はまたの機会にご紹介します。今回は、このコミュニティ検出に使用したいと思います。以下の例では、指定した分解解像度に基づいて、一度に二種類のコミュニティグループの計算をしています。解像度を大きくするとより多くのコミュニティを生成することができます。 proc optgraph loglevel = moderate data_links = data.tweet_edges out_nodes = work.tweet_groups graph_internal_format = thin; data_links_var from =
SAS Global Forum では、毎年SASの全てのキーマンが集結します。もちろん2015も例外ではありませんでした。2014年にスマートメーター活用セミナーの講師として来日もした、グローバルセールス&開発マネージメント ビジネスディレクターのTim Fairchildおよび、エネルギーソリューション担当プロダクトマーケティングマネージャーのAlyssa Farrellと短い朝食ミーティングで意見交換をしてきました。日本では電力小売り自由化もありアナリティクスの活用が進んでいますが、世界的に見てもエネルギー業界にアナリティクスの大きな潮流がやってきています。 それを表すかのように、SAS Global Forum 2015において非常に多くのユーティリティ業界に関するプレゼンテーションがありました。それをご紹介します。 生存時間分析を使用した変圧器の寿命予測とSAS Enterprise Minerを使用した過負荷状態で変圧器を使用している際のリスクモデリング(Predicting transformer lifetime using survival analysis and modeling risk associated with overloaded transformers Using SAS® Enterprise MinerTM 12.1) 「いつ変圧器が故障するのか?」 これが米国のユーティリティ企業が毎日頭を悩ませている問題である。ユーティリティ企業のインフラで最も重要なものの一つが変圧器である。コストを削減し計画的にメンテナンスし、故障による損失を低減するためには、この変圧器の寿命を把握することが重要である。そしてもう一つ重要なことは、過負荷による突発的なパフォーマンスダウンを避けるために高リスクな変圧器を事前に特定しメンテナンスすることである。この論文の目的は、SASを使用して変圧器の寿命を予測し、それらの故障に繋がる様々な要因を特定し、メンテナンスを効率的に行うために変圧器を、負荷状態に基づいて、高リスク、中リスクそして小リスクといったカテゴリに分類するモデルを作成することである。この研究で使用したデータは、米国のユーティリティ企業のものであり、2006年から2013年までのデータである。このデータに対して生存時間分析を行った。Cox回帰分析(比例ハザードモデル)を使用して、変圧器の故障の要因を特定した。また負荷に応じたリスクカテゴリを作成するために、いくつかのリスクベースモデルを使用した。(続きはこちら) 顧客クラスタリングにおけるイノベーティブな方法(An Innovative Method of Customer Clustering) この論文は、SASを使用して顧客セグメントを作成する新しい方法について紹介する。著者はある巨大なユーティリティ企業が提供している9つのプログラムに登録している顧客を調査した。これらにプログラムとは、請求の平準化、支払方法、再生可能エネルギー、効率化、機器の保護、使用量レポートなどである。640,788の家庭のうち、374,441のデータが利用可能であった。これら約半数(49.8%)の分析対象顧客はいくつかのタイプのプログラムに属しており、顧客の特徴を通してこれらプログラムの間の共通性を見出すためには、多くの場合、クラスター分析と相関マトリックスが利用される。しかし、所属しているか否かという二値という性質により、これらの手法の価値はかなり限定的になる。それだけでなく、各プログラムは相互に排他的であることもその一因となる。これらの制限を乗り越えるために、各顧客がどのプログラムに属するかの予測スコアを算出するために、PROC LOGISTICを使用した。(続きはこちら) ブラジルの電力部門における電力損失の査察のためのターゲット選定の改善のためのモデリング-CEMIGの事例(Modeling to improve the customer unit target selection for inspections of
はじめに 顧客の行動を理解することは、優良な収益源を継続的に確保する上で重要な取り組みであり、マーケティング・キャンペーンを企画する際に考慮すべき重要事項でもあります。SAS Visual Analytics 7.1を使うと、ユーザーの行動や、クリックパス、その他のイベントベースのシナリオを分析、探索、視覚化することができます。組織内のすべてのタッチポイントを視覚化し、いわゆる「カスタマー・ジャーニー」をモニタリングすれば、現状と顧客の期待とのギャップを特定し、総合的なカスタマー・エクスペリエンスを改善できます。フロー・ビジュアライゼーション機能で閲覧行動の流れを視覚化することにより、 人気のスポットを把握したり、全般的な傾向を浮かび上がらせたり、 個々のユーザーやパス(経路)の集積結果に関する洞察を得たり、 成約や解約に至る顧客接点の経緯に関する洞察を得たり することが可能になります。 通常、パス分析が使われるのは、一定の時間枠内に順番に発生するイベント群(イベント・シーケンス)について、そのパターンや順序、頻度、全体的な傾向などを調べたい場合です。例えば、どのようなパスをたどった見込み顧客が、新たな顧客となる確率が高いかを知るには、既存の顧客が最も頻繁に利用したパスに注目することになります。パス分析は、顧客ライフサイクル(1. 見込み顧客、2. 試供品の申し込み、3. 顧客、4. 製品のアップグレードなど)のような直線的なイベント・ストリームの解析に最適ですが、Webサイトの利用状況分析にも広く使われています。あなたがデータ・サイエンティストであれば、顧客が実際にたどったパスを比較し、最適なパスを探し出したいと思うでしょう。そしてそれが、収益性の改善につながる興味深い洞察や機会をもたらすことも少なくありません。 また、昨今ではいわゆるアソシエーション分析をより活用するための、ビジュアライゼーションとしての活用が広まっています。多くの場合アソシエーションの結果は非常に多くの集計結果を確率的な情報と共にランキング形式で表として出力されます。しかしある組み合わせや経路に着目する場合に、そのレコードのみから判断するだけではなく、その組み合わせや経路に含まる商品やイベントに関する他の組み合わせ情報も確認する必要があり、そのためには、パス分析のようなビジュアライゼーションが不可欠になってきます。この二つの武器を組み合わせて活用しているお客様の使い方の多くは、 パス分析機能で全体の流れを俯瞰、探索をしたのちに、 アソシエーション分析でより定量的に分析、注目する組み合わせやパスを抽出 ビジネス課題によっては、その後単純なスコアリングを実施したり、あるいはさらに高度なアルゴリズムを使用したレコメンデーションを実行し、アクションにつなげる といった流れでアナリティクス業務に適用されています。 課題 パス分析は決して簡単ではなく、特にWeb利用状況分析に使う場合は困難が伴います。顧客がWebサイト内を巡り歩く方法は多岐にわたるため、あるシナリオについて最適なパスを特定したとしても、実際にその最適なパスをたどるユーザーはごく少数にとどまる可能性が大いにあります。ですから、正しい洞察を得るためには、パス分析の結果に特別な注意を払う必要があります。例えば、使われる頻度が最も少ないパスと最も多いパスを、シーケンス数や離脱数(例:注文を完了させずにセッションを離れてしまう顧客の数)の観点から比較したいとします。 この場合は、パス分析にセグメンテーションを適用するのが効果的です(詳細は後述します)。なぜなら、これによって1つのパスに含まれるステップ数が大幅に減るため、顧客がたどったパスをより高度なレベルで集約し、状況を俯瞰できるようになるからです。ほとんどの場合、皆さんが目標にしているのは、最適なパスをたどって最終目的(商品の購入など)を達成してくれる顧客の数を増やすことでしょう。よく使われるパスに関する理解が深まれば、Webページのデザインの改良、適切なマーケティング・キャンペーンの開発など、顧客行動に影響を及ぼす取り組みを効果的に行えるようになります。 SAS Visual Analyticsにおけるパス分析の実際 では、パス分析の基本的なステップを見ていくことにしましょう。最初はごく簡単な例から始めます。次のようなシンプルなデータセットがあるとします。 この表は、顧客(John、Jane、Bob)が各セッション(transId列)中に閲覧したWebページ (item列)を示しています。ご覧のように、JohnはこのWebサイトを2回、異なる時間帯に訪れています。なお、この例では「sequence」列にイベントの発生順が入っていますが、通常は日付とタイムスタンプが入ります。 このデータは非常にシンプルですから、それぞれの顧客がたどったパスは簡単に分かります。 John: ABC、ADE Jane: BDEED Bob: AFD SAS Visual Analyticsでこの例を視覚化すると、次のようなサンキーダイアグラムが得られます。 ダイアグラムはパスごとに色分けされており、離脱(赤色のパス2)を含む5つの異なるパスがあることが分かります。この時点ですでに、パスの一部が共通しているなど、興味深い洞察が得られます。例えば、緑(John)と青緑(Jane)ではDとEのイベントが共通しているほか、3つのパスの開始イベントが同じです(A)。 SAS Visual Analyticsのパス分析では、リンクの集約(アグリゲーション)方法と色分けを変更することもできます。集約方法を切り替えてイベント別にリンクを色分けすると、次のようになります。 先ほど指摘した「部分的に共通するパス」が、ここでは黄色で強調されています。このダイアグラムのデフォルト設定では、リンクの幅にはシーケンス数(つまりユーザーが通過した頻度)が反映されます。しかし、購入数や売上額といった指標にもとづいてパスの重み付けを行い、パスのもつ影響力を表示に反映させたい場合もあるでしょう。次の例では、パスの重みとして通貨指標を割り当てています。 次は、分析対象となるイベントを増やした、もう少し複雑なデータセットの例を見てみましょう。このデータセットは、現存するWebサイトのアクセスログ・ファイルのごく一部を取り出したものです。以下で見るように、可能なパスの数は指数関数的に増えます。このような場合は、ランキングやセグメンテーションなどの手法が重要な役割を演じます。 ここでも、最初の例と同様、一定の期間内にWebサイトにアクセスした顧客について、それぞれがたどったパスを調べます。閲覧可能なページやイベントの数が増えているため、顧客がたどるパスの種類も増えることになります。このデータソースを最初の手法で視覚化すると、こうなります。 驚くことではありませんが、多くの顧客は「Welcome」ページ経由で他のページにアクセスしています。これはおそらく、ユーザーは検索エンジンで見つかった最初のリンクをクリックすることが多く、サブカテゴリーはあまりクリックしない傾向があるからでしょう。ご覧のように、パスが非常に長いため、ダイアグラムもかなり横長になりますが、次の図のように、概要パネルやパス選択などのツールでダイアグラム内をナビゲートできます。 パス分析のためのセグメンテーション 全体のイベントの数を減らす方法の1つは、イベントをグループ化することです。SAS Visual Analyticsでは、独自のカテゴリーを作成することができます。この例では、数多くのイベントを購入(Buy)、検索(Search)、製品(Product)というグループに分けることにします。