Japanese

Machine Learning
小林 泉 0
機械学習のパラメータをオートチューニングしよう(分類編)!

機械学習で予測モデルを作るとき、課題のひとつにパラメータのチューニングがあります。 パラメータとはどういう設定値や制限値で機械学習の予測モデルを作るのかを示すものです。 料理に例えると、チャーハンを作る過程が機械学習のアルゴリズムだとすると、どういう具材をどのくらいの量入れるのかがパラメータです。 お米の品種や卵の有無、豚肉か鶏肉か、調味料の種類や量がパラメータになります。チャーハンの良し悪しはこれらパラメータの良し悪しに左右されます。おいしいチャーハンを食べるためには、具材をベストな組み合わせと量で投入する必要があります。 昼食においしいチャーハンを食べたので、チャーハンでたとえました。 話を戻すと、機械学習の決定木の深さであったり、ニューラルネットワークのニューロン数であったり、パラメータは自分で設定する必要があります。機械学習では複数のパラメータを組み合わせて、ベストなレシピを作らねば良い予測モデルは作れません。   SAS Viyaでは各種機械学習アルゴリズムを提供していますが、各機械学習にそれぞれのパラメータが用意されています。料理に例えると、メニューにチャーハンのみならず餃子、ラーメン、寿司、ステーキ、チーズケーキがあるようなものです。シェフ(≒データサイエンティスト)は全てのベストなレシピ(≒パラメータ)を探索せねばならず、労力がいります。 しかし! SAS Viyaには更に便利な機能として、オートチューニングというものが用意されています。 オートチューニングは最も良いパラメータを短い時間で探索してくれる機能です。料理に例えると、究極のチャーハンレシピをViyaが自動的に作ってくれる機能です。夢のようですね。 オートチューニングでは機械学習のパラメータを変えながら複数の予測モデルを作り、最も良い予測モデルのパラメータを探してくれるというものです。決定木だけでもパラメータは10種類以上あるのですが、それらの最良な値をみつけてくれます。 パラメータチューニングを行う際、最も安易な探索方法は各パラメータの全パターンを試すことです。全パターンを試せば、その中から最も良いものはたしかにみつかります。しかし欠点はパラメータチューニングに長い時間がかかってしまい、現実的な手法ではありません。 SAS Viyaのオートチューニングはより賢いパラメータ探索のアルゴリズムを4種類用意しています。 遺伝的アルゴリズム(Genetic Algorithm, GA):パラメータを遺伝子と見立てて、淘汰、交叉、突然変異を組み換えすことでパラメータを探索する。 ラテン超方格サンプリング(Latin HyperCube Sampling, LHS):層別サンプリングの一種で、各パラメータをn個の区間に分割し、区間からランダムに値を取り出してパラメータを探索する。 ベイズ最適化(Bayesian Optimization):説明変数と予測の間にブラックボックス関数があると仮定し、ブラックボックス関数のパラメータの分布を探索する。 ランダムサンプリング(Random Sampling):ランダムにパラメータの値を選択して探索する。 探索アルゴリズムを詳しく説明していると終わらないので説明を短くまとめました。SAS Viyaではいずれかのアルゴリズムを利用してオートチューニングを実行することができます。   今回はPythonからSAS Viyaを操作して、オートチューニングを試してみたいと思います。 まずはPython SWATをimportし、CAS Sessionを生成してデータをロードします。 # PythonからCASを操作するためのSWATライブラリをインポート import swat   # mysessionという名称のCASセッションを作成 mysession = swat.CAS(host, port, user, password)   #

Machine Learning
SAS Viyaのチートシートを作ってみました。

SAS Viyaでは購入前に使い勝手を試していただくため、無償使用版を提供しています。 https://www.sas.com/ja_jp/software/viya.html#preview もう試していただいた方もいらっしゃるかもしれませんが、SAS StudioやJupyter Notebook、Visual AnalyticsからSAS Viyaを操作して、データマイニングや機械学習を便利に試していただくことが可能です。 この無償使用環境では動作確認済みのデモプログラムを提供していますので、機械学習やプログラミングに不慣れでも迷うことはありません。   しかし機械学習を実業務で使い始めようとすると、どのプロシージャやメソッドを使えば良いのか、わからなくなることが多々あります。 SAS Viyaでは機械学習ユーザに不足ないよう、多種多様なプロシージャを提供していますが、プロシージャが増えるとどの場面でどれを使うんだっけ?と迷ってしまいます。   そこで、SAS Viyaのチートシートを作ってみました。 このチートシートを使えば、用途にあわせて必要なプロシージャを選択していくことができます。 SAS Viyaが提供するプロシージャから重要なものを掲載しています。   SAS ViyaはSAS PROCとActionsetという2種類のプログラミング仕様があります。 チートシートもPROC用とActionset用で2種類作りました。   PDF版は以下にありますので、ぜひご参照ください。 viya_cheat_sheet_20170721_jp  

Advanced Analytics | Programming Tips
SAS Viyaでフーリエ変換

みなさま、こんにちは。 さて突然ですが、フーリエ変換ってご存知ですか? おそらく物理学や経済学で波形データを分析したことのある方には馴染みがあるでしょうが、フーリエ変換は波形データを扱う手法です。 フーリエ変換では周期的な波形を、sin波やcos波の重ね合わせで説明しようというものです。 たとえば以下のような波形データは、どの時間にどのくらいの強さの波が流れているかを表現しています。 これをフーリエ変換することで、周波数と振幅で表すことができるようになります。 ↓ フーリエ変換! ↓   従来のSAS製品では波形データでフーリエ変換をする機能を提供していなかったのですが、SAS ViyaのSAS Forcastingという製品を使うことで、フーリエ変換を実施することができるようになりました。 SAS Viyaでできるのは短時間フーリエ変換(Short time Fourier transform)です。 今回はSAS Viyaでフーリエ変換を実施してみたいと思います。プログラミング言語はPythonを使用します。 まずは前準備として、必要なライブラリをインポートし、CAS sessionを作成します。 CAS sessionはSAS Viyaでデータ分析を行うCASというエンジンへ認証し、接続するものです。 # CAS sessionの用意 import swat   host = "localhost" port = 5570 user = "user" password = "p@ssw0rd"   mysession = swat.CAS(host, port, user, password)   #

Analytics | Students & Educators
SAS Univeristy Edition の更新方法 (2017年7月版)

学術研究、教育、および自己学習の目的に無償で利用できる SAS University Edition は、毎年7月末にライセンスの期限が切れます。ライセンス期限の2ヶ月ほど前から、SAS University Edition Information Center にライセンス失効のお知らせと更新の案内が表示されますが、SAS University Edition のインストール時期によって必要な作業が異なりますので、以下に紹介します。 まずは、仮想マシンのSAS University Edition を起動し、表示されたURLから SAS University Edition Information Center にアクセスします。仮想マシンの起動後のウインドウで、URLが記載されている場所は下の画像を参考にしてください。(クリックすると画像が拡大されます。) SAS University Edition Information Center のデザインは、SAS Univeristy Edition のインストールの時期によって異なります。2016年12月以前にインストールした場合は、下の画面が表示されます。 こちらが表示された場合は、下記URLにアクセスし、新たにダウンロードした SAS University Edition を、仮想マシンに再登録する必要があります。 こちらが表示された場合は、左下の「お知らせ」にある「ダウンロード」ボタンから更新作業を行います。これ以降、ブラウザに表示される指示に従ってください。もし、うまく更新できない場合は、ブラウザのCookieを削除してからもう一度更新作業を行ってください。それでも更新できない場合は、上記URLから新たに SAS University Edition をダウンロードし、仮想マシンに再登録してください。 更新作業が完了すると、下の画像のように、SAS University Edition Information Center の「お知らせ」部分に、「SAS University Edition

Machine Learning
SAS Viyaを体感してみよう! ~SAS Viya無償試用版利用ガイド~

みなさんは、SAS Viyaを無償で試す方法を知っていますか? 手順は簡単、 ① SAS Japanホームページ内のSAS Viya無償試用開始サイトにアクセス ② 無償試用版リストから希望の製品を選択 ③ SASプロファイル情報を登録 ④ 登録済みのSASプロファイル情報でサインイン ⑤ SASから届くメール内にある試用版サイトリンクをクリックし、同メール内に記載されたIDとパスワードでサインイン ⑥ SAS Viyaにサインインして試用開始 これだけです。 ※尚、このガイドは、2018年8月時点の内容に基づいて作成されています。利用手順は予告なく変更される場合がありますので、実際に表示される画面や送られてくるメール内容に従っての操作をお願いします。 ブラウザはChrome 64bit版が推奨です。(ブラウザは Chrome 61以上, Firefox 56以上, MS Edge40.1以上を使用してください) では、1ステップずつ詳しくご紹介しましょう。 ① SAS Japanホームページ内のSAS Viya無償試用開始サイトにアクセス 以下のリンクをクリックして、SAS Viya無償試用開始サイトを表示しよう。 https://www.sas.com/ja_jp/software/viya.html#preview ② 無償試用版リストから希望の製品を選択 この手順では、「SAS Visual Data Mining and Machine Learning」を選択した例で紹介しています。 (以下のリストに表示されていない製品に関しては、チュートリアル等使用をガイドするような資料は提供していませんが、同一環境内で試用することはできます。) ③ SASプロファイル情報を登録 (すでにSASプロファイル登録済みの場合は、このステップは必要ありません。) 以下の画面内で、「Create one」リンクをクリックします。

Artificial Intelligence
PythonからSASの画像処理機能を使って画像マッチング

5月23日に開催されたSAS Forum Japan 2017の「SAS Viyaディープダイブ」セッションでは、SASのAIに搭載されている画像処理機能が入門レベルとして紹介されました。 セッション内では、皆様にとってもお馴染みの「浅草雷門」の写真を使った画像マッチングのデモも紹介しました。雷門を正面から撮った写真の中から、「雷門の提灯」の部分を切り出し、これをテンプレート画像として使用し、この「雷門の提灯」が写っている写真だけを画像マッチングによって見つけ出すというデモです。 さあ、ちゃんと「雷門の提灯」が写っている写真だけを見つけ出すことができたのでしょうか? 以下は、Jupyter Notebookを使用し、PythonからSAS の画像処理機能を活用してマッチングを実行した結果です。(コードの一部抜粋) 【ライブラリのインポート】 In [16]: # import libraries import swat import matplotlib.pyplot as plt import os import json import numpy as np 【テンプレート画像「雷門の提灯」のロード】 In [24]: # load an image to cas r = conn.image.loadImages(casout={"caslib":"casuser", 'name':tmp_file_data[0], 'replace':True}, path=tmp_file_path) tmpTable = conn.CASTable(tmp_file_data[0]) 【この画像にマッチングさせます】 【マッチング対象画像のロード】

Analytics | Machine Learning
SAS言語派集まれ!SAS StudioからSASのAIを使ってみよう!

5月23日に開催されたSAS Forum Japan 2017では、通常のセッション枠とは別に、「スーパーデモ」と題して、各種SAS製品やソリューションのデモが紹介されました。通常セッションの休憩時間はもとより、セッション時間中でも多くの方々が「スーパーデモ」エリアに集まり、食い入るようにデモも見られていました。 その中で、私が実施したデモ内容をご紹介します。 SASのAI機能は、SAS言語のみならず、Python, R, Java, Luaなどの汎用プログラミング言語からも活用可能ですが、このデモでは、SAS Studioを使用し、SAS言語でSASのAI機能を活用したモデル作成を行いました。 詳細(スライド版)に関しては、以下をご覧ください。(SlideShareに公開済み) SAS言語派集まれ!SAS StudioからSAS Viyaを使ってみよう! from SAS Institute Japan 詳細(デモ版)に関しては、以下をご覧ください。(YouTubeに公開済み) 今なら無償でSAS Viyaを試用することができます。詳細は以下のブログを参照してください。 SAS Viyaを体感してみよう! ~SAS Viya無償試用版利用ガイド~

Analytics | Artificial Intelligence
SASのAI機能で異常検知してみよう!

5月23日に開催されたSAS Forum Japan 2017の「SAS Viyaディープダイブ」セッションでは、SASのAIに搭載されている教師なし学習の3つの手法(SVDD(Support Vector Data Description), ロバストPCA, Moving Window PCA)を用いた異常検知の概要が紹介されました。 手法ごとの適用分野やSAS Studioを用いて実行した結果の紹介と、異常検知を業務に適用する際に留意すべき事項も交えてご紹介しています。 詳細(スライド内容)に関しては、以下をご覧ください。(SlideShareに公開済み) SAS Viya で異常検知してみよう! from SAS Institute Japan 詳細(講演ビデオ)に関しては、以下をご覧ください。(YouTubeに公開済み) 今なら無償でSAS Viyaを試用することができます。詳細は以下のブログを参照してください。 SAS Viyaを体感してみよう! ~SAS Viya無償試用版利用ガイド~

Analytics
Pythonで操るSASの画像処理技術入門編

5月23日に開催されたSAS Forum Japan 2017の「SAS Viyaディープダイブ」セッションでは、SASのAIに搭載されている画像処理機能が入門レベルとして紹介されました。 従来からSASを活用されている方々にとっては、「SAS」と「画像処理」って、なかなか結びつかないのではないでしょうか? 「画像処理技術」に関して、SASではどのようなアプローチをとってきているのか...を、過去、現在、そして未来に分けて紹介しています。 詳細(スライド内容)に関しては、以下をご覧ください。(SlideShareに公開済み) Pythonで操るSAS Viyaの画像処理技術入門編 from SAS Institute Japan   詳細(講演ビデオ)に関しては、以下をご覧ください。(YouTubeに公開済み)

Machine Learning
Python, Rで使うSAS Viya!

みなさま、SAS Viyaはご存知でしょうか? SAS ViyaはSASが2016年末に出した新データ分析プラットフォームでして、データの探索、整形から機械学習まで、幅広くデータ分析することができる万能品です。 こんな感じのロゴです。 SAS Viyaの特徴にインメモリエンジンによる分散処理とオープンというものがあります。 SAS Viyaでのデータ分析はすべてCASというエンジンで実行されるのですが、このCASはサーバのメモリ上にデータをロードし、分析処理が展開されます。しかも複数サーバ構成でも良い感じにスケールして並列分散処理するので、1台のサーバにデータが乗らないとか、1台だけだと遅いとかいうことはありません。   SAS Viyaの特徴 さらにSAS Viyaはオープンな特徴があります。 どうオープンなのかというと、実は裏表なく嘘のつけない性格・・・というわけではありません。 SAS ViyaはSAS言語のみならずPythonやR、Java、LuaそしてREST APIといったさまざまな言語で操作することができるオープン性を持っています。 従来のSAS製品だとSAS言語を覚えないと使うことができなかったのですが、SAS Viyaでは多くのデータサイエンティストさんが使っているPythonやRでデータ分析ができます。しかも同じプラットフォームでデータ分析するので、言語間で違う結果が出るということはありません。同じ設定で分析すれば、どの言語を使っても同じ結果が返ってきます。 さらにいえばPythonやRでデータ分析するときも、多くの場合は1台のサーバやパソコンで処理すると思います。そのさい、サーバやパソコンはCPUやメモリのすべてをデータ分析に割くということはありません。マルチコアCPUを使っていても、大体はシングルコアで処理されます。 しかしSAS Viyaではリソースを使い切ります。4コアであれば4コア、サーバ3台構成であれば3台を余さず使って、より速く効率的に分析します。 全体像でいうとこんな感じです。 どうやって使うの? PythonやRでSAS Viyaを使いはじめるときは、まずはSWATというOSSを導入する必要があります。 SWATはSpecial Weapon and Tacticsの略・・・ではありません。 SAS Scripting Wrapper for Analytics Transferという、SAS Viyaを操作するためのラッパーです。SASが作って、GitHubで公開しています。 Python SWAT https://sassoftware.github.io/python-swat/index.html R SWAT https://github.com/sassoftware/R-swat これらをpip installやinstall.packagesで入手して使いはじめることができます。 SWATはWindows、Linux、MacOSいずれもサポートしていますので、お好きなプラットフォームに導入できます。 Pythonでのプログラミング例はこんな感じです。たったこれだけで、SAS Viyaを使って決定木モデルを作ることができます。とても簡単です。 #

Internet of Things
小林 泉 0
SAS Forum Japan 2017 センサーによるリアルタイム行動トラッキング

SAS Forum Japan 会場自体がデモスペースへ SAS Forum Japan 2017では、株式会社ATR-Promotionsにご協力いただき、会場2Fのスペースにレーザーセンサーを設置、人の動線をリアルタイムに捉えて計測・分析するIoTデモンストレーションを実施しました。 会場で利用した「人位置計測システム」の計測イメージ参考映像。(※こちらはSAS Forum Japan の映像ではありません)   利用した技術について 利用技術①センサー LRF:レーザーレンジファインダ(安全な出力の赤外線レーザー) 利用技術②人位置計測システム ATRacker レーザーセンサーを複数台設置し、人々の位置・行動を、1秒間に数十回計測したデータを、ATR-Promotions社ソフトウェアの人位置計測システム「ATRacker」の形状認識・行動推定アルゴリズムで動線データ化しています。 特徴) 高精度(距離20mで誤差5cm以内のセンサを使用して計測、追跡) 形状認識(腕の位置などを利用して身体、身体の向きも捕捉) 行動追跡(同一人物を追跡。統計モデルによりレーザが遮られても位置を予測) 匿名性の確保(カメラと異なり顔や服装を捕捉しない) 大人数の同時計測(同時に50人以上の位置を計測、追尾) リアルタイム処理 外部プログラム連携 参照) http://www.atr-p.com/products/HumanTracker.html http://www.atr-p.com/products/pdf/ATRacker.pdf 利用技術③SAS® Event Stream Processing(略称 SAS ESP) リアルタイムでストリーミングデータを処理するSASソフトウェア。 ATRackerよりストリーミングでデータをリアルタイムに取得し・追加処理しています。今回の展示例では、特定の位置に人が急速に近づいた場合に、リアルタイムアラートを発します。 参照) https://www.sas.com/ja_jp/software/event-stream-processing.html 利用技術④利用したハードウェア AFT:The Analytics Fast Track™ for SAS® 最新のビッグデータ・アナリティクスを、自社データですぐに試す為に用意されたハイスペックマシン。 必要なSASのビッグデータ・アナリティクス製品がインストール&構成済みであり、スイッチを入れて、データを投入すれば、すぐに使える状態にしております。 POC等の実施に際し、当マシンを貸し出すことで、POC環境の用意をわずか数日で揃えることが可能です。 72

Analytics | SAS Events
小林 泉 0
今年のSAS Forum Japan 2017はすごい-怒涛のデモ20連発!

2017/5/23にSAS Forum Japan 2017が開催されます。まだ参加後登録がお済でない方は下記からご登録ください。 SAS Forum Japanご登録サイトへ 今回は、その中でもセッション以外のところも今年はすごいので、ご紹介します。 すごいところ①:スーパーデモ20連発 今回のブログのタイトルにもありますが、今年はグローバルのイベントである、SAS Global Forumを模して、「スーパーデモ」なるものを実施します。これは約15分のデモセッションを次から次へと繰り返し行うものです。通常のセッションの数が限られているため、そこでご紹介しきれないSASソリューションや、セッションの補足的な説明など計20ものデモセッションが行われます。是非、時間の都合をうまくやりくりして頂いて、通常セッション、スーパーデモを渡り歩いて頂けると幸いです。 *括弧は、(何回目/全回数)の意味です。 *プログラムは変更される可能性がありますので、最新のプログラムと詳細はこちらからご確認ください。 12:15 - 12:30:さよならBI 〜 一歩先ゆくデータ分析の決定版 SAS Visual Analytics まるごとデモ!(1/4) 12:30 - 12:45:為替リスクヘッジの新しい取り組み(1/2) 12:45 - 13:00:コーディングなしでSASを使ってみよう!(1/3) 13:00 - 13:15:さよならBI 〜 一歩先ゆくデータ分析の決定版 SAS Visual Analytics まるごとデモ!(2/4) 13:15 - 13:30::SAS言語派集まれ!SAS StudioからSAS Viyaを使ってみよう! 13:30 - 13:45:需要管理(需要予測〜在庫最適化)のNext Generation 13:45 - 14:00:コーディングなしでSASを使ってみよう!(2/3) 14:00 -

SAS Events
小林 泉 0
SGF2017 レポート - 良いデータサイエンティストになる秘訣

昨年2016年のSAS Global Forumでも講演して好評だったEmma Warrillowという方が今年も講演されたので紹介します。まずは復習として、彼女が昨年披露した良いデータサイエンティストになるための5つの秘訣を見てみましょう。 ビジネスを理解しなさい:アナリティクスの目的はビジネス課題を解決することである ストーリーを語りなさい:単に分かったことを共有するのではなく、分析結果に基いてビジネスをどうすべきかを議論しなさい 視覚的にストーリーを語りなさい:グラフや図を使用して、より理解を深めることを心がけること よい質問を繰り返しなさい:よりたくさん質問することで、より理解が深まる 新しい技術についていくこと:よりよい表現方法を常に模索すること (2016 SAS Global Forum でのEmma Warrillowの講演より。proceedingはこちら) 「それで?あなたはどう思うの?」と返したくなるデータ分析や仕事の報告、「顧客の理解を深めるための労(繰り返しの問い)を惜しむ」ケースは、ビジネスシーンでよく見受けられますが、あなたの会社ではいかがでしょうか?15年前、あるお客様から、「顧客の顔が見えないのでデータマイニングでなんとかしたい」という相談を受けたのを今でも覚えています。データ自身は何も語ってくれません。事実に基いてストーリーを考え、適切な問いを繰り返すことで初めて洞察(自分たちの顧客に対する理解)が得られるのです。 『問いかけること』 が、とても大事です。 さて、この彼女が今年もプレゼンをし、少しリバイスした秘訣を披露してくれました。レベル感はあまりそろってませんが、どれも、忘れがちなことなので、今一度自分自身の気を引き締めるために取り上げることにしました。 ①スプレッドシートを送付するだけという行為はNG 受け取った人は、無視するか、イライラするか、誤って解釈するだけです。概要、どのように見るべきか、結論は?相手にどうして欲しいのかを伝えることが必要不可欠です。 ②POETを意識すること StorylyticsのLaura Warren より Purpose(目的): このチャートの目的は… Observation(あなたの着眼点): 見て欲しいのは... Explanation(説明): 何を意味しているかというと… Take-away or Transition(要点): 次のステップは… ③アナリティクス・チームのブランディング 多くの企業・組織におけるアナリティクスチームは、PRの問題を抱えています。アナリティクスが真に有効で、またアナリストがちゃんとビジネスを理解していると認知されることが、とても重要です。 ④御用聞きにならないこと 自分がある専門領域のエキスパートであることを自覚し、適切な問い、適切な提案をすることが大事です。 ⑤正しく伝えること ストーリーテリングで人を動かすために、Peter GruberのThe Four Truths of the Storytellerを参考にすると良い。 Truth to the

Data Visualization | SAS Events
小林 泉 0
SGF2017 レポート - 例年とはちょっと違うTechnology Connection

例年、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」

Data for Good | SAS Events | Students & Educators
小林 泉 0
SGF2017 レポート - 初日、オープニングセッション他

今年の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)

Programming Tips
小林 泉 0
グラフ理論②:PythonとSAS Viyaでグラフ分析

はじめに 以前このブログ「グラフ理論入門:ソーシャル・ネットワークの分析例」でもご紹介しましたが。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

Data Management
小林 泉 0
Hadoopだからこそ必要なセルフサービス-そしてアダプティブ・データマネジメントの時代へ

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

Artificial Intelligence | Machine Learning
小林 泉 0
ディープ・ラーニングとAI

この写真に写っているのは何でしょうか?きっと皆さん考えることもなく瞬時に家だと分かるでしょう。なぜなら、何百、何千という種類の家を見てきた経験から、家を構成する特徴(屋根、ドア、窓、玄関前の階段など)を脳が認識できるようになっているからです。そのため、たとえ家の一部分しか写っていない写真でも、自分が何を見ているかが瞬時に分かります。家を認識する方法を学習済みなのです。 多くの皆さんは、この話題ですぐに、「あぁ、ディープ・ラーニングの話だな」とピンとくることでしょう。今回は、昨今メディアを賑わせ、誤解も多くある、ディープ・ラーニングとAI(人工知能)の理解について、簡単に頭を整理してみましょう。 ディープ・ラーニングとは、家の画像の認識、分類、説明など人間が行うようなタスクを実行できるようにコンピューターに学習させることに特化した、人工知能(研究)の一領域です。しかし、ビジネスにおけるディープ・ラーニングの手法と応用はどのような状況にあり、アナリティクスの将来にディープ・ラーニングはどのようなメリットをもたらしてくれるのでしょうか? ディープ・ラーニングとその仕組みについて、SASのアナリティック・サーバー研究開発担当副社長であるオリバー・シャーベンバーガー(Oliver Schabenberger)に話を聞きました。 ディープ・ラーニングをどのように定義していますか? 【オリバー・シャーベンバーガー】ディープ・ラーニング手法は機械学習の一種であり、いわゆる「弱いAI(人工知能)」の一形態と考えられます。「弱いAI」とはAI分野の専門表現で、人間の脳と同じように動作する思考マシンの作成を前提としていないことを意味します。その代わり、「ディープ・ラーニング手法は人間が行うような特定のタスクをインテリジェントな方法で実行することができる」という前提に立っています。そして私たちは今、こうしたインテリジェンス強化システムが人間よりも優れた正確性、安定性、反復性をもってタスクを実行できるケースが多々あることを明らかにしつつあります。 ディープ・ラーニングは機械学習とビッグデータが重なり合っている領域だという人もいますが、それだけではありません。「ディープ」および「ラーニング」という側面の意味を詳しく考えてみましょう。 ディープ・ラーニングの1つの側面(=ディープ)は、ニューラル・ネットワーク・モデルを「より深く」適用することによってアナリティクスの精度が高まる、ということを指しています。学習(ラーニング)システムは、そのモデルあるいは環境を階層構造として表現します。それぞれの層(レイヤー)は、例えば画像における規則性の形態(形状、パターン、境界線など)のように、課題に関する異なるタイプの情報を表していると考えることができます。こうした階層構造とニューロン間の情報フローという2つの特長から、ニューラル・ネットワークは学習システムを構築するための標準ツールとなっています。コンピューティングとアルゴリズムの高度化により、現在では、ほんの数年前と比べても、より多くの層からなるニューラルネットを構築できます。ディープ・ニューラル・ネットワークは多くの学習手法の土台となる概念です。 第2の側面(=ラーニング)は、より多くのデータを利用する際のパフォーマンス(スピード、精度、一般化可能性)の改善という意味においても、システムが「学習」を行うことを指しています。この側面は、パターンの認識、テキストの読解、音声の理解、事象や物体の分類など、「これまで人間が学習してきたタスクを機械が実行する」という応用用途も指し示しています。システムは課題を解決するのではなく、課題に関してトレーニングを受けるのです。 ディープ・ラーニングはどのような点でAI(人工知能)なのでしょうか? 【シャーベンバーガー】多くの人々は「人工知能」という言葉を聞いたとたん、機械が人間に取って代わるのではないかと不安になりますが、ディープ・ラーニングの場合、そうはなりません。コンピューターは依然として「石頭」 です。あくまで、パターン認識、音声認識、質問への回答など、人間が行うようなタスクを機械独自の方法で疑似的に実行しているにすぎません。また、学習した能力を別のタスクに一般化することもできません。例えば、最近、数回の対局で世界最強の囲碁棋士に勝利したAlphaGo(アルファ碁)は、Googleの子会社であるDeepMindが開発した驚異的なディープ・ラーニング・アルゴリズムですが、画像を分類したり、洗浄機の中身を食器棚に片づけたりといった用途には役立ちません。それでも、囲碁に関しては驚異的なプレイヤーなのです。 しかしながら、人間の大脳新皮質が担っている機能に関する最新の理解とディープ・ニューラル・ネットワーク手法との間には、興味深い類似点があります。新皮質は多くの認知能力を担っていますが、そこでは階層構造を通じて入力信号が伝播されており、それらの層がモノの表現を生み出す規則性を発見していることが分かってきたのです。 [Tweet "コンピューターは依然として「石頭」 です。あくまで、パターン認識など、人間が行うようなタスクを機械独自の方法で疑似的に実行しているにすぎません。"] 同様に、ニューラル・ネットワーク・アルゴリズムもレイヤーとニューロンで編成されます。しかし、「ニューラルネットがコグニティブ・コンピューティングの世界で有用性が証明されてきたのは、それが人間の脳を模倣しているから」というよりは、「過去のアプローチとは異なる方法、すなわち、我々人間の大脳新皮質とは異なる方法でデータを処理するからこそ、ニューラルネットは成功を収めてきている」と言うべきではないかと私は思います。 ディープ・ラーニングの理解しやすい例を示していただけますか? 【シャーベンバーガー】ディープ・ラーニングと標準的なアナリティクス手法の違いが分かる優れた例として、 Atari社のBreakoutというゲーム(筆者と同年代以上の方であればご存知のはずの「ブロックくずし」のオリジナル作品らしいです)をプレイするタスクを考えてみましょう。最初に、考えられる選択肢について議論し、それから実際の動作をYouTubeのビデオでご覧いただきます。 1つの選択肢は、ブレイクアウトの遊び方を知っているゲームボットを書くことです。パドル(プレイヤーが水平に移動させるバー)とその動き方、ボール、ボールがパドルや壁やブロックにぶつかったときの跳ね返り方のルールなどの要素をプログラミングします。つまり、ゲームのロジックと戦略を、ソフトウェア自体に組み込むのです。ソフトウェアをコンパイルしたら、導入して実行し、ゲームボットがどのようにプレイするかを観察します。ゲームプレイ能力の改良が必要な場合は、コード改変、コンパイル、導入、実行、テストというサイクルを繰り返していきます。 もう1つの選択肢は、「深層強化学習」と呼ばれるディープ・ラーニング手法を用いて課題を解決する方法です。ディープ・ニューラル・ネットワークでゲーム環境を表現し、この環境内で動く方法、アクションの取り方、そのアクションを取ることで得られる報酬をプログラムに指示します。つまり、報酬はゲーム画面の上部に表示されるスコアであり、アクションはパドルを動かすことであるとコンピューターに伝えます。コンピューターが知る必要があるのは、これが全てです。実行が始まるとコンピューターは、パドルを動かし、スコアがどうなるかを読み取ります。この選択肢の場合、ゲームをプレイするというタスクは、「ゲームの現在の状態と、取るべきアクション(パドルの動かし方)の2つを変数として、将来の報酬を最大化せよ」という最適化課題へと変わります。 それでは、Google DeepMind社が実装したAtariブレイクアウトの深層強化学習をビデオでご覧ください。 このソフトウェアは、壁やブロック、さらにはボールの存在さえも知りません。知っているのは、自分で動かせるパドルがあることと、少しでも高いスコアを獲得するという目的だけです。それでも、学習開始から2時間後には、熟練者並みにプレイしています。誰もコンパイル、導入、実行を繰り返す必要はありませんでした。4時間後には、ゲームをクリアできるようになっています。特定の領域に関する知識は一切投入されていません。 ディープ・ラーニングについて詳しく学ぶにはどうすればよいでしょうか? 【シャーベンバーガー】私はつい最近、SASのサイトにディープ・ラーニングとは? という新しい記事を寄稿しました。ディープ・ラーニングが重要な理由と動作の仕組みについて、幅広い情報を盛り込んであります。また、ディープ・ラーニングに関するWebセミナーや、ディープ・ラーニングの現状についてデータ・サイエンティストが対談しているビデオへのリンクも用意しました。ディープ・ラーニングについて同僚に説明する際もお役に立つと思います。 いかがでしたでしょうか。ディープ・ラーニングとAIの位置づけが少しクリアになったのではないでしょうか。 ゲームと言えば、任天堂の「スーパーマリオ」というゲームを人工知能でクリアしてしまおうという取り組みもあります。インターネット上で検索すると色々情報が見つかるので調べてみてください。学習過程の動画を見ていて、筆者が始めてこのゲームをやったときの、最初の頃まだうまく操作できてないときの動かし方(右に無謀に突き進んでは行き過ぎてやられる)にそっくりだなと感じました。 データマイニング、機械学習、ディープ・ラーニングについて、弊社日本語サイトを更新したので是非ご活用ください。これらのテクノロジーの実用についてのより詳細な情報をご提供しています。

Learn SAS | Programming Tips
小林 泉 0
Jupyter and SAS

Jupyter Notebookとは? Jupyter Notebookとは、ノートブック形式のインターフェースでコードの開発(記述や実行)ができるWebアプリケーションです。約50ほどの世の中のプログラミング言語に対応しています。 http://jupyter.org/ Jupyter and SASとは? Jupyterの環境に、オープンソースのSAS kernel for Jupyterを追加することで、Jupyter Notebook上でSAS言語を使用(シンタックスのハイライト、実行、ログの確認、アウトプットの表示)することが可能になります。 Jupyter Notebookでは、作業の内容は、ノートブック(*.ipynb)形式で保存されます。Jupyter Notebookでは、SASコードや実行結果だけでなく、リッチテキスト形式で文章を記載することが可能です。ノートブックはHTML形式や、PDF、あるいはSASコードとして出力することも可能です。 SAS 9.4とLinux環境があれば、ほとんどの方が導入・ご利用いただくことが可能です。 Jupyter Notebookを開くと、Notebookダッシュボードが表示されます。ここに、ノートブックや他のファイルの一覧が表示されます。     SAS University Editionでも使えますか? 2016の7月から、Jupyter NotebookとSAS Kernel for JupyterがSAS University EditionのvAppに含まれることになりました。従来、SAS University Editionのインターフェースは、SAS Studioのみでしたが、今後はJupyter Notebookもご利用いただくことが可能となります。 https://support.sas.com/software/products/university-edition/faq/jn_whatis.htm  

SAS Events
小林 泉 0
SGF2016: Hadoop関連セッション・論文(ユーザー・パートナー編)

SAS Global Forum 2016のユーザープログラムでの発表論文を、”Hadoop”というキーワードで検索し、SAS on Hadoopソリューション関連の論文を集めてみました。企業の競争戦略と密接に結びついているHadoop関連の事例はなかなか公開されないのですが、いくつかありました。これ以外にも、Hadoop事例を話すセッションがいくつかありました。 SAS Global Forum 2016 Proceedings – ユーザーおよびパートナーによるHadoop 関連の講演 Analytics and Data Management in a Box: Dramatically Increase Performance Teradata様が提供するHadoopの話です Nine Frequently Asked Questions about Getting Started with SAS® Visual Analytics インプリメンテーション・パートナーがVA & Hadoopの使用法、導入方法、管理方法についてエンドユーザーから良く受ける質問について触れられています。 Making It Happen: A novel way to save taxpayer dollars by

SAS Events
小林 泉 0
SGF2016: Hadoop関連セッション・論文(SAS社員編)

SAS Global Forum 2016のユーザープログラムでの発表論文を、”Hadoop”というキーワードで検索し、SAS on Hadoop関連の発表・論文を集めてみました。ざっと見たところ、SAS on Hadoopソリューションにまつわる全ての話題が網羅されていると感じます。 SAS Global Forum 2016 Proceedings – Hadoop 関連のSAS社員による講演・論文 SAS® and Hadoop: The 5th Annual State of the Union 9.4M3で実現しているSASとHadoopの連携について概説。2014年には、SAS Forum Japanでも登壇した、Paul Kentが語ります。   Introducing - SAS® Grid Manager for Hadoop Grid ManagerのHadoop版の話です。 Deep Dive with SAS® Studio into SAS® Grid Manager 9.4 SAS

Machine Learning | SAS Events
小林 泉 0
SGF2016: Machine Learning関連セッション・論文(ユーザー・パートナー編)

SAS Global Forum 2016のユーザープログラムでの発表論文を、”Machine Learning”というキーワードで検索し、機械学習関連の論文を集めてみました。 SAS Global Forum 2016 Proceedings - Machine Learning 関連のユーザーやパートナーによる講演・論文 Turning Machine Learning Into Actionable Insights 機械学習=意思決定プロセスの自動化     PROC IMSTAT Boosts Knowledge Discovery in Big Databases (KDBD) in a Pharmaceutical Company 日本の塩野義製薬様の機械学習への取り組み Diagnosing Obstructive Sleep Apnea: Using Predictive Analytics Based on Wavelet Analysis in SAS/IML®

Machine Learning | SAS Events
小林 泉 0
SGF2016: Machine Learning関連セッション・論文(SAS社員編)

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

SAS Events
小林 泉 0
SAS Global Forum 2016 開催報告②: Tech Connection SessionでSAS新製品をより詳しく知る

オープニングセッションの翌日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®

Customer Intelligence | Internet of Things | SAS Events
小林 泉 0
SAS Global Forum 2016 開催報告①: Opening Sessionで革新的な新アーキテクチャを発表

また、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

Analytics
小林 泉 0
機械学習の活用におけるベストプラクティス「アナリティクス・ライフサイクル」

反省&改善プラン中 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環境をアセスメントする際には、ビジネス上の価値の視点から、まず、このサイクルが効率的に・高速にまわせるかどうかということが評価の基準になります。 アナリティクス・ライフサイクル(詳細版) 実はアナリティクス初心者には前述の簡易版は適切ではありません。重要なプロセスが暗黙的になっているからです。弊社のアナリティクス・ライフサイクル、完全バージョンは以下のようになります。   今回取り上げたい重要なポイントは、 課題定義 まず最初にすべきことはデータ分析・予測モデルの活用で解決したいビジネス上の課題定義 精度評価・モニタリング

Artificial Intelligence | Programming Tips
小林 泉 0
機械はあなたの娯楽までをも奪うのか?

さて、今回ご紹介する例は、最近議論が活発な、「機械(コンピューター)が人間の作業を奪う(?)」お話です。 機械は人間から仕事(今回の例では、仕事ではなく娯楽と言ったほうが近いかもしれません)を奪ったことになるのでしょうか?それとも、真の楽しみを味わえるように、単に単純労働から開放してくれただけなのでしょうか? 昨今、人工知能がもたらす変化という文脈で行われている議論ですが、今回は、昔からある最適化アルゴリズムで、人間の仕事を奪います。皆さんでその意味を考えてみてください。 イギリスの諜報機関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

Analytics | Data Management
小林 泉 0
アナリティクスの効果を最大化するデータマネージメント勘所

変わ(る・るべき・れる)データマネージメント データ、さらにはビッグデータを使用して競争優位性を獲得しようとするにつれて、企業・組織はよりスピード感をもって、試行錯誤を繰り返す必要にせまられおり、データマネージメント戦略やアプローチについても従来とは異なる方法にシフトしつつあります。 これまでのアプローチ 従来のアプローチでは、まず、ビジネスユーザー部門が「問い」を決めた上で、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に対する一定の理解とスキルを有しつつ、主たる役割はアナリティクスとそれに必要なデータやスキルを効果的・効率的にマッチングすることです。最近では、必要な全てのデータやスキルを組織内で準備することが現実的ではなくなってきており、その解決策の一つである、「オープンイノベーション」の事務局的な役割を担っているケースもあります。

Advanced Analytics | Analytics
小林 泉 0
ビジネスで「需要予測機能」を活用するために必要な3つの要素

ビジネスに使える「良い予測結果」を得るために 今回は、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パターンにはカスタマイズした時間間隔モデルを使用する

Analytics | Machine Learning
小林 泉 0
アナリティクスの産業革命-機械学習による自動化

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  

1 5 6 7 8