SAS Japan
活用事例からデータ分析のテクニックまで、SAS Japanが解き明かすアナリティクスの全て例年、SAS Global Forumでは2日目の朝は、最新のSASテクノロジーを紹介する『Technology Connection』というセッションで始まりますが、今年は、そのセッションが少し変わった形式になりました。最新のテクノロジーを紹介するだけでなく、その開発を支える社員にフォーカスをあて、どのようにそのテクノロジーが開発されたのかを紹介しながら進められました。 各プレゼンターごとに流された紹介ビデオの中で、今年のTechnology Connectionのメインテーマである、『生涯学習』について語られました。Chief Technology Officerのオリバー・シャーベンバーガーは、もともとCTOになるつもりはありませんでした。実際、彼は林業で博士号を取得しています。しかし統計学への熱意が彼を大学の世界からソフトウェア開発の世界に導き、ハイパフォーマンス・コンピューティング、アナリティクス・プラットフォーム、人工知能そして他の先進技術に携わることになりました。『私は毎日が勉強です。皆さんもそうだと思います。SASも常に革新を続けて新しい製品を生み出し続けています』と彼は、機械が我々の生活を豊かにする象徴としてセグウェイに乗りながら、聴衆に語りかけました。 次世代のテクノロジー - SAS Graphics Accelerator プレゼンターの一人、エド・サマーズは、10歳で網膜色素の異常と診断され徐々に視力を失いました。彼は現在法的盲であり、チャートやグラフを14年間見たことがありません(でも、「ビジョン」を持っています)。彼は、SAS Graphics Accelerator を使用して、データビジュアライゼーションとアナリティクスを視覚障害者にも利用可能にした非常に重要な彼の仕事をデモンストレーションしました。このテクノロジーは、SASのアナリティクス・ビジュアライゼーションを話し言葉と音に変換します。結果は、データを音で表現することで、視覚障害者がデータの様子を『見る』ことができるようになっています。聴衆みんなで目を閉じて、確かにデータが上昇トレンドにあることを確認しました。単にデータの値を読み上げるだけでなく、グラフの右肩上がり具合を音階で表現されることで、まさに『耳で見る』ことができるようになりました。『私たちは皆、それぞれ自分なりの世の中への貢献の仕方があります。データビジュアライゼーションを誰にでも利用可能にすることが、私の役目です』とサマーズは締めくくりました。筆者はこの数日後、SAS本社のCaryの彼の勤務するオフィスのカフェテリアでばったり出会い、しばし歓談しました。やはり、このプレゼンはとても緊張したらしいです。 SASは従来より、このような『ユーザー補助機能』をソフトウェア機能として提供してきています。グラフ上の数字の読み上げ機能なども数年前から実装されています。現在どのような製品でどのような対応がされているかはこちら「Accessibility at SAS」にまとまっているのでご参照ください。今後は、コグニティブ技術+アナリティクスという領域でさらなる進化をしていくことが考えられています。 「エッジ・アナリティクス」 - SAS Event Stream Processing R&Dのシニアディレクターである、ジェリーは、Event Stream ProcessingとInternet of Things の担当であり、彼の車のナンバープレートを、「ESP&IOT」にしてしまうくらい(ビデオにも写っています)彼にとって、ESPは彼の一部であり、ライフワークです。彼は壇上で、自動車業界においてESPがどのように中央のサーバー上や、エッジアナリティクスといわれるデータの発生源で、イベントストリームデータを分析するかをデモンストレーションしました。彼は、コネクテッド・カーに関するユースケースを取り上げ、実際に道路温度が0度以下になったポイントで警告を表示することができることを示しました。彼曰く、『ストリーミングアナリティクスは単に効率を上げるだけではなく、世の中をより安全な場所に変えることができるのです』 Enterprise GuideでDATA Stepデバッガーを使用することで、生産性を向上する ケイシー・スミスはEnterprise Guideの新機能である、DATA Stepデバッガーについて紹介しました。スミスの母親は30年以上もノースカロライナ州立大学でSASを教える教授であり、スミスは幼い頃母親からSASを教わっています。プログラムのバグを修正することはとても時間のかかることであり、またイライラする作業でもあります。そのデバッグ作業をとても簡単にできることを彼はデモンストレーションで披露しました。この機能を開発した理由を彼は次のように述べています。『現実の顧客は、現実の課題を解決している。我々はそれをサポートしたい。』 データ分析においてなによりも大事なのは探索やモデリングのためのデータ準備のフェーズです。特に昨今、正規化された基幹システムからのデータだけではなく、様々な非定型のデータを効率的に正確に結合・整形する必要性が高まっています。そのようなデータに対して(異なる目的のために考案された)SQL一辺倒の利用では非常に非効率です。様々なプログラミング言語を経験した筆者の意見としては、そのようなデータ準備には専用に考案されたSASのData Stepの利用は最も優れた選択の一つだと感じています。それでも細かなデータ加工には複雑なIF条件文のネストなどにおける困難さはつきものです。そのようなデータ加工をステップ・バイ・ステップでデバッグできる、このData Stepデバッガーはとても便利ですので、是非、試してみてください。 FCAAバスケットボールのデータを使用しFactorization Machineで試合結果を予測する ジョージ・シルバは、統計家かつソフトウェア開発者であり、彼は機械学習に携わる自分の仕事を(顧客が価値を出すまでは)まるで赤ちゃんのようだと表現しています。シルバのプレゼンはアマゾン社のインテリジェントなパーソナルアシスタントである、Alexaで行われました。シルバが用意したデモを使用して、CTOのシャーベンバーガーが音声で命令をAlexaに出し、NCAAバスケットボールのデータを探索する様子を披露しました。シルバは試合結果を予測するのにファクタライゼーションモデルという機械学習手法を使用しました。ファクタライゼーション・マシンについては、SGF2017のこちらのセッションが参考になると思います。「Factorization Machines: A New Tool for Sparse Data」
今年のSAS Global Forum は、USのフロリダ州オーランドで開催されました。 例年同様日曜日スタート 従来と異なるのは、パートナー様向けの、SAS Partner Forum 2017 がSGFと同時開催されたことです。日本から参加されたSASジャパンのパートナー企業様は、前日夜のレセプションから始まり、イベント週間の先頭をきって、日曜日朝8:30からのSAS Executiveも登壇するセッションに参加いただき、みっちり午後までのスケジュールを、忙しくこなして頂きました。その様子は、こちらのSAS Partner Blogよりビデオでご覧いただけます。お忙しい中を時間を割いて日本からご参加いただくパートナー企業様が年々、増加しており、今年もセッション他、有意義なコミュニケーションの時間を過ごさせていただきました。誠にありがとうございます。多種多様なスキル・経験をお持ちのパートナー企業皆様に囲まれ、今後のSASビジネスに非常に心強さを感じました。 明日のリーダーを育成する さて、SAS Global Forum、通称SGFは、初日の夜のOpening Sessionからスタートなのですが、その前に、前述のパートナー様向けのイベントだけでなく、毎年最も重要なイベントの一つであるAcademic Summitが行われます。これは、SASが重要視することの一つである、人材育成・教育への投資、そしてその結果、社会へ優秀なデータサイエンティストを生み出すための活動であるAcademic Programの年次の総会のようなものです。教育関係者だけではなく企業関係者も参加することで、実務で役立つ教育の促進と人材の確保というエコシステムを形成しています。これを特徴付ける数字としては、このイベントのスポンサーを見てもわかります。 通常のパートナー企業様のスポンサーが29社 アカデミックのスポンサーは、16教育機関。 この数から見ても、本イベントを大学などの教育機関が重要視していて、教育と企業との連携が盛んであることが伺えると思います。 SAS Global Forumそのものが、教育機関と民間企業の接点の場であり、学生の発表や表彰、そして参加大学の企業へのアピールの場にもなっています。さて、Academic Summitのアジェンダを見てみましょう。 ネットワーキング SAS担当エグゼクティブの挨拶 スカラシップ受賞者の紹介 Student Ambassador Program受賞者の紹介 Student Symposiumファイナリストの発表 ゲスト講演 Student Symposium(SGF2017で実施されるコンペティション)の優勝チームである、Kennesaw State University の "The Three Amigos"は、「銀行の定期預金契約者の決定要因をロジスティック回帰と決定木で分析」したものでした。その他Student Symposiumの発表は以下のようなものがありました。 Dataninjas: Modeling Life Insurance Risk (Kennesaw State University)
はじめに 以前このブログ「グラフ理論入門:ソーシャル・ネットワークの分析例」でもご紹介しましたが。SASは従来からネットワーク分析(グラフ分析)をサポートしています。ネットワーク分析の基本的なことはまず上記のブログをご参照ください。 今回は、プログラミングスキルがあるアプリケーション開発者やデータサイエンティスト向けです。Pythonからネイティブに利用できるSAS Viyaを使用して、ネットワーク分析をする簡単な利用例をご紹介します。 2016夏にリリースされたSAS Viyaは、アナリティクスに必要な全てのアルゴリズムを提供しつつ、かつオープンさを兼ね備えた全く新しいプラットフォームです。これにより、SAS Viyaをアプリケーションにシームレスに組み込むことや、どのようなプログラミング言語からでもアナリティクス・モデルの開発が可能になりました。今回は、SASのパワフルなアナリティクス機能にアクセスするために、そのオープンさがどのように役立つののかにフォーカスします。 前提条件 SAS Viyaは、REST APIにも対応しているため、それを使用しても良いのですが、一般的には、使い慣れたプログラミング言語を使用する方が効率が良いと考えられるため、今回は、データサイエンティストや大学での利用者が多い、Pythonを使用したいと思います。 デモ環境としては、Pythonコードを実行できるだけでなく書式付テキストも付記できる、Webベースのオープンな対話型環境であるJupyter Notebookを使用します。Jupyterをインストールした後に、SAS Scripting Wrapper for Analytics Transfer(SWAT)をインストールする必要があります。このパッケージは、SAS Cloud Analytic Services(CAS)に接続するためのPythonクライアントです。これにより、Pythonから全てのCASアクションを実行することが可能となります。SWATパッケージの情報やJupyter Notebookのサンプルはこちらをごらんください。https://github.com/sassoftware SAS Cloud Analytic Services(CAS)にアクセスする SAS Viyaのコアにあるのは、SAS Cloud Analytic Services(CAS: キャス)というアナリティクスの実行エンジンです。"CASアクション"という個々の機能を実行したり、データにアクセスしたりするためには、CASに接続するためのセッションが必要となります。セッションからCASへの接続には、バイナリ接続(非常に大きなデータ転送の場合にはこちらが推奨です)あるいは、HTTP/HTTPS経由のREST API接続のどちらかを使用することができます。今回は、デモンストレーション目的で非常に小さなデータを扱うので、RESTプロトコルを使用します。SAS ViyaとCASのより詳細な情報はこちらのオンラインドキュメントをごらんください。 多くのプログラミングと同様、まずは使用するライブラリの定義からです。Pythonでは、importステートメントを使用します。非常に良く使われるmatplotlibライブラリに加えて、ネットワークをビジュアライズするためのnetworkxも使用します。 from swat import * import numpy as np import pandas as pd import matplotlib.pyplot as
2014 およそ2014年からSAS on Hadoopソリューションを本格展開してきました。時代背景的には、2014頃は依然として、業態の特性からデータが巨大になりがちで、かつそのデータを活用することそのものが競争優位の源泉となる事業を展開する企業にHadoopの活用が限られていたと思います。その頃は、すでにHadoopをお持ちのお客様に対して、SASのインメモリ・アナリティクス・エンジンをご提供するというケースが大半でした。 その後、急速にHadoopのコモディティ化が進んだと感じます。 2015 2015頃になると、前述の業態以外においてもビッグデータ・アナリティクスの成熟度が上がりました。データ取得技術の発展も伴い、これまで活用していなかった種類や量のデータを競争優位性のために活用を志向するようになり、蓄積および処理手段としてのHadoopの選択が加速します。この頃になると、数年前には必ずあったHadoopそのものの検証ステップを踏まない企業が増えてきます。データ量、処理規模、拡張性、コスト効率を考えたときに妥当なテクノロジーがHadoopという結論になります。ビッグデータはデータのサイズだけの話ではありませんが、筆者の足で稼いだ統計によると、当時大体10TBくらいが、従来のテクノロジーのまま行くか、Hadoopを採用するかの分岐点として企業・組織は算段していたようです。この時期になると、従来のテクノロジーの代替手段としてのHadoopの適用パターンが見えてきました。 新しいデータのための環境 従来捨てていた、あるいは新たに取得可能になった新しいデータをとりあえず蓄積して、何か新しいことを始めるためのある程度独立した環境として、コスト効率を考慮してHadoopを採用するパターン 既存のデータウェアハウスへ価値を付加(上の発展形であることが多い) 新たなデータを使用してHadoop上で加工し、アナリティクス・ベーステーブルにカラムを追加し、アナリティクスの精度を向上 ETL処理負荷やデータ格納場所のHadoopへのオフロード BI & アナリティクスの専用基盤 SQLベースのアプリケーションだけをRDBMSに残し、その他の機械学習、ビジュアライゼーションなどSQLが不向きな処理をすべてHadoop上で実施 多くは、インメモリアナリティクスエンジンと併用 データレイク (筆者の意見としては)いざ新しいデータを使用しようと思ったときのスピード重視で、直近使用しないデータも含めて、全てのデータを蓄積しておく。よくあるのが、新しいデータを使用しようと思ったときには、まだデータが蓄積されておらず、利用開始までタイムラグが生じてしまうケース。その時間的損失すなわち利益の喪失を重要視し、そのような方針にしている企業が実際に当時から存在します。 2016 海外の事例等では数年前から見られましたが、2016になると、日本でも以下の傾向が見られます 既存Hadoopをそのコンセプトどおりスケールアウトしていくケース グローバル・データ・プラットフォームとして、複数のHadoopクラスターを階層的に運用するケース AI、機械学習ブームにより機械学習のためのデータの蓄積環境として IoTの流れにより、ストリーミング処理(SASでいうと、SAS Event Streaming Processingという製品です)と組み合わせて まさに、Hadoopがデータプラットフォームとなる時代がやって来たと思います。その証拠に、SAS on Hadoopソリューションは、日本においても、金融、小売、通信、サービス、製造、製薬といったほぼ全ての業種において活用されています。 Hadoopの目的は、従来型のBI・レポーティングではなく、アナリティクス このような流れの中で、Hadoopの採用には一つの確固たる特徴が浮かび上がっています。もちろん弊社が単にITシステムの導入をゴールとするのではなく、ビジネス価値創出を提供価値のゴールにしているというバイアスはあるのですが。。。 Hadoopの導入目的は、ビジネス価値を創出するアナリティクスのためであることがほとんどである したがって、Hadoopに格納されるデータには主にエンドユーザーがアナリティクス観点の目的志向でアクセスするケースがほとんどである つまり、ある程度の規模のITシステムではあっても、Hadoopに格納されるデータはアナリティクスの目的ドリブンでしかアクセスされません。主たるユーザーは、分析者やデータ・サイエンティストです。彼らが、「使いたい」と思った瞬間にアクセスできる必要があるのです。このようなユーザーサイドのリクエストは、従来のBIすなわちレポーティングのような固定化された要件定義をするような依頼ではないため、その都度従来のようにIT部門と要件をすり合わせて、IT部門にお願いするという方法では成り立ちません。その数日、数週間というリードタイムが意思決定を遅らせ、企業の業績に悪影響をもたらすからです。あるいはIT部門の担当者を疲弊させてしまいます。つまり、アナリティクスにおいては、分析者・データサイエンティストが自分自身で、Hadoop上のデータにアクセスし、必要な品質で、必要な形式で、必要なスピードで取得するために自由にデータ加工できる必要があるのです。 このあたりの話については、下記でも紹介していますので、是非ご覧ください。 【ITmedia連載】IT部門のためのアナリティクス入門 第2回 やっと分かった ビッグデータアナリティクスでHadoopを使う理由 第3回 データ分析で成功するためのデータマネジメントとIT部門の新たな役割 【関連ブログ】 アナリティクスの効果を最大化するデータマネジメント勘所 これが、Hadoopにおいて、セルフサービス・データマネージメント(データ準備)ツールが不可欠な理由です。SASはアナリティクスのソフトウェアベンダーとして、このHadoop上でITスキルの高くない分析者・データサイエンティストでも自分自身で自由にデータを取得できるツールを開発し提供しています。それが、SAS Data Loader for Hadoopです。 SAS Data Loader