SAS Japan
活用事例からデータ分析のテクニックまで、SAS Japanが解き明かすアナリティクスの全て前回、この機能を紹介した際には、海外に実在する施設や地図上での活用例をご覧いただきました。 その続編となる今回は、以下の2点に関してご紹介します。 (尚、以下のデモ画面に表示されている数値(座席数、利用率、収益率、等)はすべてダミーデータです) 1.日本地図上に実在する施設に対するカスタム境界線分析 2.カスタム境界線機能で、こんなことまでできるなんて… 1.日本地図上に実在する施設に対するカスタム境界線分析 私は埼玉県さいたま市に在住しているのですが、だからというわけではありませんが、今回は、埼玉スタジアムの座席レイアウトを地図上の埼玉スタジアム上に描画してみました。(図1.参照) 図1.埼玉スタジアム地図上に描画された、観客席レイアウト 図1.では、「客席別利用率」ページが表示されています。 左側には客席ゾーン別の座席数が棒グラフで表示され、右側には、スタジアムの客席レイアウトが表示され、利用率によって色分けされています。また、棒グラフ上でゾーンCが選択され、スタジアム内の対応する客席の部分がハイライトされている状態です。 もちろん、SAS Visual Analytics(以降、VA)の標準機能を使用して、特定の客席エリアをクリックし、そのエリアのチケット料金や、収益の推移、などの詳細情報をポップアップで表示させることも可能です。 右側の地図が本当に埼玉スタジアムのある地点なのかを分かりやすく見ていただくために、図2.ではズームアウトしたものも載せました。埼玉スタジアムは国道122号線沿いにあるんですね。 図2.図1.から地図を少しズームアウトした状態 以下の図3.は同じレポート内の「ゾーン別客席マップ」ページです。棒グラフのゾーン別の色に合わせて、客席エリアの色を合わせたものです。 図3.「ゾーン別客席マップ」ページ 2.カスタム境界線機能で、こんなことまでできるなんて… 実は、VAの地図描画用オブジェクトである、「ジオマップ」では、地図を非表示にすることができます。 あれ?、地図描画用の機能なのに、地図を非表示にする意味あるの?と思われるかと思いますが、これがあるんですね。 その一例をご紹介します。 以下の図4.は、とある列車の車両内の座席別収益率を分析するレポートです。座席ごとの収益率が色分けで表示されています。(座席別に収益率を把握する必要があるかどうかは別のお話ですが) 図4.列車内座席別収益率レポート この座席レイアウトも「ジオマップ」オブジェクトを使用し、地図上に描画されているものなのですが、地図は境界線(領域)を描くためには必要ですが、この例のような場合は、描いた後は地図が必要ないので非表示にしているわけです。地図を非表示にしていること以外は、その他の例と同様に、チャートやアナリティクスとのインタラクション等はもちろん可能です。 上記の図4.でも、座席別収益率の棒グラフ上で、最も収益率の低い座席(右端の棒)を選択し、該当の座席位置をハイライト表示しています。 SAS Visual Analytics on SAS Viyaでは、こんなこともできるんですね。 例えば、人体図の中の内臓別の疾患状況をビジュアルに分析する、工場内プラントの設備(工程)ごとの稼働状況を図解でビジュアルに可視化し分析する、店舗内の商品陳列棚別の在庫状況や売上状況を図解でビジュアルに可視化し分析する…なんていうこともできそうですね。
みなさんご存知の通り、SAS Visual AnalyticsはセルフサービスBI&Analyticsツールで、ビジネスユーザー自身で簡単にレポートやダッシュボードを作成することができます。その際、標準で備わっている数多くのチャートオブジェクトを使用することができますが、お客様要件によっては、標準のチャートタイプだけでは表現できないものもあります。それに答えるためにSAS Visual Analytics 8.2(以下VA)には大きく2つの機能が用意されています。 データドリブンコンテンツ 地図上のカスタム境界線描画 1番目の「データドリブンコンテンツ」とは、サードパーティのビジュアライゼーション・ライブラリ(D3.js, C3, Google Chart Toolsなど)と連携することで、チャートタイプやビジュアルのバリエーションを大幅に拡張可能な機能ですが、 今回は、2番目の「地図上のカスタム境界線描画」機能に関してご紹介します。 VAに標準搭載のチャートオブジェクトには地図描画のための「ジオマップ」オブジェクトが含まれています。この機能を活用することで、例えば、地図上で隕石落下地点と被害の度合いを分析(図1.参照)したり、都道府県別の売上や店舗別の顧客数などをビジュアライズし、分析(図2.参照)することができます。 図1.隕石落下地点と被害の度合い分析ダッシュボード 図2.店舗別の売上と利益をバブルのサイズと色で表示 地図描画のタイプとしては、図1の「座標」、図2の「バブル」以外に「領域」を選択可能です。 「座標」とは、地図上の該当ポイントに円形や星形などのアイコンを表示するものです。 そして、「領域」では、基本的に地図上の国の境界線や、その一つ下のレベルである州や都道府県の境界線領域を描画します。例えばアメリカの州や日本の都道府県の領域を指定した値に基づき色分けして表示するものです。(図3.参照) 図3.都道府県ごとの売上分析 さらに、地図上に表示するこの「領域」をカスタムで描画することが可能で、これを「カスタム境界線(領域)」描画機能と呼んでいます。 この機能を活用することで、例えば、特定施設内の人や物の動線を描画したり、家屋ごとのソーラー発電量を実際の地図上に描画することなども可能になります。 その基本的な手順を、アメリカにあるコロラド・コンベンション・センター(以下CCC)内のミーティングフロアにある各種の会議室領域の描画を例に、以下に示します。 図4. VAレポート上に表示された完成版(部屋ごとの面積などを色分けして描画することができます) CCCのフロアレイアウト画像を入手し、市販ツールあるいはオープンソース製品を使用し、Esri shapeファイルを作成 Esri ShapeファイルをVA環境にインポート インポートしたデータに基づきカスタム境界線(領域)をレポート上に描画 1. CCCのフロアレイアウト画像を入手し、市販ツールあるいはオープンソース製品を使用し、Esri Shapeファイルを作成 この例では市販のEsri Desktopツールを使用し、CCCのサイトから入手したフロアレイアウトの画像をEsri地図上に重ね(図5.参照)、部屋の輪郭をなぞって描き(図6.参照)、結果をEsri Shapeファイルとして保存(図7.参照)します。(詳細に関しては、使用するツールのマニュアルを御覧ください。) 図5. Esri地図上のCCCのある地点の上に、CCCのフロアレイアウト画像を重ねる 図6. 部屋の輪郭をなぞって描く(描いた領域ごとにIDを設定しておきます。この例ではRoomID) 図7. 結果をEsri Shapeファイルとして保存 2. Esri ShapeファイルをVA環境にインポート VA環境に実装されているマクロ%SHPIMPRTを使用し、Esri ShapeファイルをSAS Datasetに変換(以降Shapeデータ)し、VA環境(インメモリー)にロードします。 詳細は、以下サポートサイトにあるSAS Viya管理者(Administration)マニュアルを御覧ください。 https://support.sas.com/documentation/onlinedoc/viya/index.html
予測モデル生成において、従来は、人が考えてデータの中から特徴を抽出する必要がありましたが、ディープラーニングでは、この特徴を自動的に抽出して学習することが可能になっています。 半面、どのように特徴が抽出されているのかに関しては、基本的にはブラックボックスであり、説明責任が求められるような業務要件では、その分析結果を業務に活用することが難しい場合もあります。 しかし、近年ディープラーニングから出てきた結果の根拠=判断根拠を可視化する手法がいくつか考案されてきています。 関連情報サイト: https://qiita.com/icoxfog417/items/8689f943fd1225e24358 https://pair-code.github.io/saliency/ http://blog.brainpad.co.jp/entry/2017/07/10/163000 SAS Viyaでは、各種のディープラーニング(DNN, CNN, RNN)を用いた学習が可能ですが、今回はCNNを用いた画像認識において、判断根拠となり得る情報の出力に関してご紹介します。 この例は、複数のイルカの画像をCNNで学習し、対象の画像(写真)がイルカなのかどうかを判別するものです。 モデルを作成後、以下の画像をモデルに当てはめてスコアリングを実施。 この画像は「イルカ」だと判定されたのですが、その判断根拠の一つとして、以下のように、この画像のどの部分がより重要であると判断されているのかを可視化することが可能になっています。 【レイヤー1のfeature map】 【レイヤー18のfeature map】 SAS Viyaでは、モデルのスコアリング時のオプションとして、指定したレイヤ(層)の特徴マップ(feature map)を画像として指定ライブラリに出力することが可能です。 >> スコアリング用のアクション:”dlScore” の layerOut={出力先ライブラリとテーブル名} オプションと layers={出力対象レイヤ名} オプション >> 上図はライブラリに出力された画像(feature map)を表示したものです。
SAS University Edition や SAS OnDemand for Academics は、教育・研究・学習目的に無償で使えるソフトウェアですが、使い方の学習には教材が必要だという方もおられると思います。もちろん、SASはソフトウェアに関する膨大なドキュメントをご用意していますが、「どこから始めたらいいの?」「英語ではちょっと…」という声もあるでしょう。 SAS Japanでは、SAS入門者の方向けに日本語字幕をつけたチュートリアル・ビデオ群をご用意しています。このビデオは、ほとんどが5~10分の短いもので、SASとは何かから始まり、SAS University Edition や SAS OnDemand for Academics のインターフェイスである SAS Studio の解説、他の環境との差、データへのアクセス、データの操作、グラフの作成、基本的な統計解析、時系列分析の手法をサンプルデータを使いながら説明しています。サンプルデータは、標準でSASに付属しているものや、オンラインドキュメントを参考にして作成するものなどがあり、どなたでも、どんな環境でも学習を開始することができます。 これらの SAS Studio の使用法の解説では、主に「タスク」とよばれる機能を用いた操作を行います。「タスク」は、「棒グラフの描画」や「分散分析」などの機能をプログラミングなしで利用するためのインターフェイスで、データやパラメータをマウス等で指定することで、SASのプログラム・コードが自動生成されます。もちろん、SASの機能を最大限引き出すために、ゼロからプログラムを書くことも可能です。自動生成されたプログラムを参考にしながら、SASプログラミングを学習することにも適しています。 実は、これらの日本語字幕付きのビデオは、SASのチュートリアル・ビデオのごく一部で、SAS Video Portal にはより多くのビデオが用意されています。ここでは、SAS製品の紹介や、操作法・プログラミングのチュートリアルに加え、SASのアナリティクスが実際の活用事例を紹介する Analytics in Action ビデオもご覧になれます。音声は英語のみですが、英語や日本語の字幕を表示できるものもあります。まずはビデオから、SASアナリティクスの世界を覗いてみませんか?