Japanese

Analytics
0
Data for Good: 人間の経済活動は生物を絶滅に導くのか?

“Data for Good”という言葉をご存知でしょうか。これはデータを活用して社会的な課題を解決しようとする活動です。SAS Japanでは”Data for Good”を目指した取り組みを展開しております。その一つとして、SASはData for Good活動をする学生コミュニティ、「SAS Japan Student Data for Good community」を発足します。これは、社会問題へのアプローチを通して、Data Scienceの流れの経験・スキルの向上・学生間の交流拡大・社会への貢献などの達成を目的とするコミュニティです。 このコミュニティのData for Good活動の一環として、本記事では世界の絶滅危惧種についての分析をご紹介します。 現在、世界中で何万種もの生物が絶滅の危機に瀕しています。個体数を減らすこととなった原因はもちろんそれぞれの生物によって異なるでしょうが、主たる原因は人間による環境破壊や開発であると言われています。確かに人間の活動が生物に悪影響を及ぼしうることは直感的に正しいと感じられますし、また、仮にそうだとすれば、人間の開発活動を示す値と絶滅危惧種の数には何らかの具体的な関係があるはずだと考えられます。そこで、今回は、国ごとの絶滅危惧種数や開発指数を用いて、それらの関係を調査します。 今回の調査ではSAS Visual Analytics 8.3を用いてデータ分析を行いました。 今回使用したデータのリストはこちらです。 総人口 (World Bank Data) https://data.worldbank.org/indicator/SP.POP.TOTL 面積  (World Bank Data)  https://data.worldbank.org/indicator/AG.SRF.TOTL.K2 人口増加率 (World Bank Data) https://data.worldbank.org/indicator/SP.POP.GROW CO2排出量 (World Bank Data) https://data.worldbank.org/indicator/EN.ATM.CO2E.PC?locations=1W 一人当たりCO2排出量  (World Bank Data) https://data.worldbank.org/indicator/EN.ATM.CO2E.PC?locations=1W GDP  (World

Artificial Intelligence
Makoto Unemi (畝見 真) 0
SAS Viya:RNNでsin波を予測してみた

PythonからSAS Viyaの機能を利用するための基本パッケージであるSWATと、よりハイレベルなPython向けAPIパッケージであるDLPyを使用して、Jupyter NotebookからPythonでSAS Viyaのディープラーニング機能を使用した時系列予測を試してみました。  大まかな処理の流れは以下の通りです。 1.必要なパッケージ(ライブラリ)のインポート 2.Sin波データの生成 3.セッションの作成 4.RNN向け時系列データセットの作成 5.モデル構造の定義 6.モデル生成(学習) 7.予測  1.必要なパッケージ(ライブラリ)のインポート swatやdlpyなど、必要なパッケージをインポートします。 import numpy as np import pandas as pd import matplotlib.pyplot as plt import swat.cas.datamsghandlers as dmh from swat import * import dlpy from dlpy import Sequential from dlpy.layers import * from dlpy.model import Optimizer, AdamSolver, Sequence

Analytics | Artificial Intelligence | Machine Learning
Makoto Unemi (畝見 真) 0
SAS Viya:一般物体検出(Object Detection)を試してみた

PythonからSAS Viyaの機能を利用するための基本パッケージであるSWATと、よりハイレベルなPython向けAPIパッケージであるDLPyを使用して、Jupyter NotebookからPythonでSAS Viyaの機能を使用して一般物体検出(Object Detection)を試してみました。  今回は、弊社で用意した数枚の画像データを使用して、処理の流れを確認するだけなので、精度に関しては度外視です。  大まかな処理の流れは以下の通りです。 1.必要なパッケージ(ライブラリ)のインポートとセッションの作成 2.一般物体検出向け学習用データの作成 3.モデル構造の定義 4.モデル生成(学習) 5.物体検出(スコアリング)  1.必要なパッケージ(ライブラリ)のインポートとセッションの作成 swatやdlpyなど、必要なパッケージをインポートします。 from swat import * import sys sys.path.append(dlpy_path) from dlpy.model import * from dlpy.layers import * from dlpy.applications import * from dlpy.utils import * from dlpy.images import ImageTable   from dlpy.splitting import two_way_split from dlpy.blocks import *

Students & Educators
データサイエンティストに求められる「本当の役割」とは

最近、SNSなどで「AI開発ミステリー ~そして誰も作らなかった~」という記事が話題になりました。人工知能(AI)を導入しようという企業の最悪の顛末をコミカルに描いたジョーク・ストーリーですが、これを面白がる人が多いというのは、多少なりとも日本のIT業界の現実を反映しているのかもしれません。 このような事態になっているのは、AIに対する過度な期待が原因の一つかもしれません。AIは、機械に任せれば素晴らしいことが起こる魔法ではなく、明確に定義されたタスクを実行するように機械をトレーニングする方法です。人間が行うタスクを機械が代替することになるのですが、人間が活動しているシステムのなかで、どの部分を機械にやらせるかを考え、実装し、運用しなければなりません。これは、これまでSASが実現してきたアナリティクスの延長にほかなりません。 「AIが発達すればデータサイエンティストはいらない」という説もあります。データサイエンティストが機械学習を実装する役割だけを持つのであれば、そうかもしれません。しかし、本当に必要とされる仕事が「人間が活動するシステムの中でのアナリティクスの活用」であるなら、まさにAIが使われる仕組みを考え、実装し、運用できる状態にする人材こそが求められているのではないでしょうか。 今年5月、SAS Forum Japan のなかで開催された「データサイエンティスト・キャリア・トラック」では、アナリティクスを活用する組織のなかでデータサイエンティストがどのように活躍するかについて、企業の方々から学生向けの講演をいただきました。例えば、ITや数理モデルを使いこなせることは初級レベルで、ビジネススキルを身に着けながら、最終的には経営幹部候補となるキャリアパスを提示している組織や、一方で、趣味で培ったスキルをビジネスに生かすデータサイエンティストがいます。このように、データサイエンティストのキャリアは組織・個人によってさまざまですので、多様人材がそれぞれの強みをもって活躍することができそうです。 しかし、どの組織・個人でも共通しているのは「目的志向」である点です。何のためにデータ分析をするのか、それがどのような価値を持つのかを明確にしなければ、課題解決のためのデータ分析はできません。データサイエンティストは単にデータ分析の技術で課題解決するだけでなく、「課題設定」をする役割を持たなければ本当の価値は生み出せないのです。そもためには、さまざまな問題意識を抱える人たちと異業種交流をするなど、幅広い視野が必要となりそうです。 データサイエンティスト協会が示した3つのスキルのうち、「ビジネススキル」については、ときどき「ドメイン知識」(業界や業務についての知識)として紹介されることがあります。しかし、本当に必要なのは、その知識を解決すべき課題に変換する力だと考えます。データサイエンティストを目指す学生が、すべての業界・業務についての知識を得ることは難しいですが、アナリティクスが活用される代表的な業界において、どんな課題がどのようにアナリティクスにより解決されているかを知ることで、応用力を身に着けられるのではないでしょうか。そこで、SAS Japanでは、次のような内容の学生向けセミナー「データサイエンティストのキャリアと活躍のかたち」をシリーズで開催します。 データサイエンティストのキャリア ... 「データサイエンティスト・キャリア・トラック」の講師陣による、それぞれの組織や個人としてのデータサイエンティストのキャリアや活躍のかたちを紹介 ビジネスで活用されるアナリティクス ... データサイエンスやアナリティクスがどのような業界のどんな課題を解決するために活用されているかをSAS社員が紹介 学生によるデータサイエンスの学び ... 学生がどのようにデータサイエンスを学習しているかを学生自身による体験を交えながら紹介 第1回は11月30日(金)に開催します。データサイエンティストを目指す学生の皆様のご参加をお待ちしています。

Advanced Analytics | Analytics | Artificial Intelligence | Machine Learning
Makoto Unemi (畝見 真) 0
SAS Viya:Python API向けパッケージ:DLPyの最新版1.0拡張機能概要紹介

SASでは、従来からオープン・AIプラットフォームであるSAS Viyaの機能をPythonから効率的に活用いただくためのハイレベルなPython向けAPIパッケージであるDLPyを提供してきました。 従来のDLPyは、Viya3.3以降のディープラーニング(CNN)と画像処理(image action set)のために作成された、Python API向けハイレベルパッケージです。 DLPyではKerasに似たAPIを提供し、より簡潔なコーディングで高度な画像処理やCNNモデリングが可能でした。 そして、この度、このDLPyが大幅に機能拡張されました。 最新版DLPy1.0では、以下の機能が拡張されています。 ■ 従来からの画像データに加え、テキスト、オーディオ、そして時系列データを解析可能 ■ 新たなAPIの提供: ・ RNN に基づくタスク: テキスト分類、テキスト生成、そして 系列ラベリング(sequence labeling) ・ 一般物体検出(Object Detection) ・ 時系列処理とモデリング ・ オーディオファイルの処理と音声認識モデル生成 ■ 事前定義ネットワーク(DenseNet, DarkNet, Inception, and Yolo)の追加 ■ データビジュアライゼーションとメタデータハンドリングの拡張 今回はこれらの拡張機能の中から「一般物体検出(Object Detection)」機能を覗いてみましょう。 SAS Viyaでは従来から画像分類(資料画像1.の左から2番目:Classification)は可能でした。例えば、画像に映っている物体が「猫」なのか「犬」なのかを認識・分類するものです。 これに加えて、DLPy1.0では、一般物体検出(資料画像1.の左から3番目:Object Detection)が可能になりました。 資料画像1. (引用:Fei-Fei Li & Justin Johnson & Serena Yeung’s Lecture

Data Management
Makoto Unemi (畝見 真) 0
クラウド上のSAS Viyaから、オンプレミス上にあるデータへ、セキュアにアクセス

近年、クラウドファーストを唱える企業が増加し、データ分析のために、クラウド上に展開されている分析サービスを活用したり、クラウド上に独自に分析アプリケーションを構築するケースも増えています。 しかし、クラウド上にある分析サービスやアプリケーションで分析する対象のデータは、オンプレミス上に蓄積されているケースが大半であり、クラウドからこれらのデータにアクセスできるようにするための作業や環境設定は面倒かつ非効率で、膨大なデータをクラウドとやり取りするなどの運用コストも大きく、かつセキュリティのリスク回避も考慮しなければなりません。 こうした課題を解決するために、SAS ViyaではSAS Cloud Data Exchange (CDE)を提供しています。 SAS Cloud Data Exchange (CDE) は、プライベート/パプリックのクラウド上にあるアプリケーション(=SAS Viya)からファイヤーウォールの後ろにある、顧客のオンプレミス上にあるデータに安全かつ確実にアクセスし、大量のデータをクラウドへ高速に転送することを可能とするデータ接続機能です。 CDEは、SAS Viyaのセルフサービス・データ準備向け製品であるSAS Data Preparationに含まれる機能です。 CDEを使用すれば、クラウド上にあるSAS Viyaからオンプレミス上にある様々なデータソース(Oracle, Teradata, Hadoop etc.)へ最小限の手順で容易かつセキュアにアクセスすることが可能になります。 サポート対象データソース: ・DB2, ODBC, Apache Hive, Oracle, Redshift, SQL Server, Postgres, SAP HANA, Teradata, SAS Data Sets CDEでは、最小限の一つのポート(Https port)を使用し、オンプレミス上にあるデータソースにアクセスするための資格情報(ユーザーID /パスワード)も保護された領域に格納し、使用するため、安全性が高められています。 また、クラウド上のSAS Viyaが複数のワーカーノードで分散構成されている場合には、オンプレミス上のデータを並列で高速にSAS Viya環境へロードすることが可能です。 利用手順概要は以下の通りです。 オンプレミス側にSAS Data Agent

Analytics
0
和歌山県データ利活用コンペティション参考資料(8) 都道府県を行政基盤でグループ分けする (クラスタリング )

前回の記事では、SAS Visual Analytics を用いて時系列データを扱う手法をご説明しました。第7回目となる本記事では、データをグループ分けするクラスタリングについてご紹介します。 クラスタリングとは、多様な特徴を持つデータ群の中から、似通った性質を持つサンプルを抽出しグループ化する機械学習手法です。例えば、顧客をクラスタリングし、各クラスターの特徴(年齢・嗜好等)に合わせた適切なDMを送る、などの活用例があります。本記事では、行政基盤の性質に基づき都道府県をクラスタリングします。本ブログのシリーズの第3回・第5回にて同じデータを異なる手法で分析しておりますので、併せてご参照ください。 本記事では、総務省の「社会・人口統計体系 都道府県データ 社会生活統計指標 :D 行政基盤」のデータを使用しました。   SAS Visual Analytics 8.3 におけるクラスタリング分析 from SAS Institute Japan   本例で作成したクラスターの数は5つですが、オプションから数の変更ができます。特徴量のビンの数も同様に変更可能です。 さて、今回使用した5つの変数は第3回・第5回の記事の分析で、人口増減率に影響を及ぼすとされた要素でした。スライド内クラスター2のラインをご覧ください。財政力指数は低いものの、土木費割合が高いという特徴を共有するクラスターであると読み取れます。これは、第5回の記事のディシジョンツリーを用いた分析によると、財政力が弱いにも関わらず人口増減率が高い自治体の持つ特徴でした。したがってクラスター2内の要素の人口増減率が高い傾向にあることが予想されます。また最も要素数の多いクラスター5についてですが、どのビンにおいても概ね中程度の値を取っており、平均的なクラスターであるとみなせます。このようにクラスタリングによってデータを分類し、各クラスターの特徴に着目することで、データをより分析しやすくすることが可能です。   ここで、SAS Visual Analytics におけるクラスタリングに使われている手法、k-means法の仕組みついてご紹介します。ここではn個のデータをk個のクラスターに分類するとします。 1) n個のデータのうち最初のk個をクラスターの核とし、各データを一番近い核のクラスターに属するように分割します。 2) 各クラスターの重心を求めます。 3) 各データを、それぞれが一番近い重心のクラスターに属するように再分割します。 4) 再分割されたクラスターの重心を求め、(3)の操作をクラスターに変化がなくなるまで行います。 このように、最終的に変動がなくなったクラスターに基づきクラスタリングが行われています。 以上、クラスタリングの手法についてご説明しました。引き続き本ブログのシリーズでは、SAS Visual Analytics を用いた図表・グラフの作成や統計解析の方法について紹介いたします。ぜひご参照ください。 高校生・大学生を対象とした第2回和歌山県データ利活用コンペティションへの参加も募集中ですので、奮ってご参加ください。(追記:募集は締め切られました)  

Analytics
0
和歌山県データ利活用コンペティション参考資料(7) 待機児童の有無は何によって決まるか (ロジスティック回帰)

第3回のブログでは、SAS Visual Analytics の活用例として統計解析のひとつである線形回帰を紹介しました。その続きのブログとなる今回は、ロジスティック回帰について説明します。 回帰分析は変数どうしの関係を分析することができます。そのなかでも以前紹介した線形回帰はシンプルでよく利用されますが、すべての場合において最も適当な分析手法であるとは限りません。たとえば、目的変数が離散的な場合(例:喫煙の有無、就業状態、移住の意思)には、ロジスティック回帰のほうが当てはまりのよい結果を得ることができます。本記事では、ロジスティック回帰を用いて待機児童の有無に影響を与える変数の分析を紹介します。 このスライドでは、厚生労働省が公開している保育所等関連状況取りまとめ(平成30年4月1日)から申込者の状況についてのデータと、総務省が公開している平成28年度地方公共団体の主要財政指標一覧から全市町村の主要財政指標を利用しました。データのインポートについてスライド内でも説明していますが、インポートの際の注意点など詳細に関してはこちらのブログを参考にしてください。 SAS Visual Analytics 8.3 におけるロジスティック回帰の利用 from SAS Institute Japan ロジスティック回帰オブジェクトでは、自動的に最適なモデルが選択されます。オブジェクトを最大化し、詳細を表示すると使用したモデルを確認することができます。 スライド内の分析では、ロジットモデルを使用していました。 また、詳細からは当てはめの統計量、パラメータ推計値などの情報を確認することができます。 今回の分析結果の解釈として、待機児童の有無に影響を与えている要因は「財政力指数」「経常収支比率」「ラスパイレス指数」「実質公債費比率」でした。それぞれの変数についてパラメータ(効果量)推定値をみると、「財政力指数」が最も大きい正の値(2.49)となっており、「財政状況のよい市区町村ほど待機児童が発生しやすい」といえます。対して「申込者数」の推定値は(5%有意であるものの)0.000094と非常に小さく、申込者数の多寡が待機児童の有無に与える影響は小さいと言えます。ここから、自治体規模の大小と待機児童の有無は関係していないと推測できます。 そのほかのパラメータをみても、財政状況がよいほど待機児童がいることが分かりますが、ここから単純に「待機児童を減らすためには、財政状況を悪化させればよい」ということにはなりません。たとえば、待機児童が多い自治体では共働きが多く、結果として住民税収が増加し財政状況がよくなるなど、さまざまなストーリーを想定することができます。回帰分析から因果関係を主張するときには注意が必要です。 この分析では、財政指標を利用しましたが、他にも女性の就業率、出生率、世帯構成などのデータを利用するとより効果的な分析ができるでしょう。データセット内に2値の変数がない場合でも、スライド内の例のように自分で基準を決めることで新しい変数を作成することができます。これによって分析の幅が広がりますが、レポートには必ず変数の定義を記述してください。 引き続き本ブログのシリーズでは、図表・グラフの作成や統計解析の方法について紹介いたします。 第2回和歌山県データ利活用コンペティションへの参加も募集中ですので、高校生・大学生のご参加をお待ちしています。(追記:募集は締め切られました)

Analytics | SAS Events | Students & Educators
SAS Global Forum 2019 で発表しよう(学生向けプログラムあり)

全世界のSASユーザーが集う年次のイベント SAS Global Forum。 次回は2019年4月28日から5月1日まで、米国テキサス州ダラスで開催予定です。 現在、SAS Global Forum 2019での発表演題を募集しています。 本イベントは、600を超えるセッションでワークショップ、プレゼンテーション、e-ポスター、デモおよび交流プログラムが用意されており、アナリティクス活用についての事例やテクノロジーが多数紹介されます。昨年は5400人もの登録者があり、世界中のデータサイエンティストと情報交換が可能です。(2017年の様子を過去のブログで紹介しています。その1, その2, その3) 学生向けのプログラムも用意されており、多くの大学生・教育関係者が参加します。 Student Ambassador Program ... 「学生大使」として無料でイベントに招待(旅費や宿泊代もサポートされます!) Student Symposium ... 学生がチームで戦うコンテスト。ファイナリストはイベントに招待されます。 Academic Summit ... 学生と教育関係者向けの講演と交流プログラム。昨年、参加した日本の学生によるレポートはこちら。 ビジネスやアカデミアのユーザーが一堂に会するグローバルイベントで、学生が自身の分析・研究・提案を発表することで、ビジネスやアナリティクスの専門家からのフィードバックにより自身のアイデアを深めると同時に、国際的にネットワークを広げることができます。 まずは、10月22日の締切までにアブストラクトを投稿しましょう! SAS Japan アカデミア推進室では、投稿に向けて学生の皆さんをサポートいたします。 興味のお持ちの方は JPNAcademicTeam@sas.com までご連絡ください。

Advanced Analytics | Analytics | Artificial Intelligence | Data Visualization | Machine Learning
Makoto Unemi (畝見 真) 0
AI民主化を加速する「自動分析機能」が登場

AIプラットフォームSAS Viyaでは、「AI実用化」や「AI民主化」を促進するために、従来から自動予測モデル生成や、機械学習やディープラーニングの判断根拠情報の提供などを可能としていましたが、SAS Visual Analytics on SAS Viyaの最新版8.3では、新たに「自動分析」機能が実装されました。 「自動分析」機能を使用すると、予測(ターゲット)に影響を与えている変数の特定や、変数ごとにどのような条件の組み合わせがターゲットに依存しているのかを「文章(条件文)」で表現して教えてくれます。 この例で使用するデータ「HMEQJ」は、ローンの審査を題材にしたもので、顧客ごとに1行の横持ちのデータです。このデータ内にある「延滞フラグ」が予測対象の項目(ターゲット変数)で、0(延滞なし)、1(延滞あり)の値が含まれています。 データリスト内の「延滞フラグ」を右クリックし、「分析」>「現在のページで分析」を選ぶだけで、「延滞フラグ」をターゲット変数に、その他の変数を説明変数とした分析が自動的に行われ、 以下のような結果が表示されます。 分析結果画面内説明: ① ドロップダウンリストで、予測対象値(0:延滞なし、1:延滞あり)の切り替えが可能です。この例では、「1:延滞あり」を選択し、「延滞する」顧客に関して分析しています。 ② 全体サマリーとして、すべての顧客の内、延滞実績のある顧客は19.95%であり、「延滞する」ことに関して影響度の高い変数が順に表記されています。 ③ 「延滞する」ことに関して影響を与えている変数の度合い(スコア)を視覚的に確認することができます。 ④ 「延滞する」可能性が最も高くなるグループ(条件の組み合わせ)が文章で示されています。この例では、③で「資産に対する負債の割合」が選択され、これに応じて文章内の該当箇所がハイライトしています。 ⑤ この例では、③で「資産に対する負債の割合」が選択され、これに応じて「0:延滞なし、1:延滞あり」別の顧客の分布状況がヒストグラムで表示されています。選択された変数が数値属性の場合は、ヒストグラムで、カテゴリ属性の場合は積み上げ棒グラフで表示されます。 分析に使用する説明変数(要因)に関しては、右側の「データ役割」画面内で選択することができます。 以上のように、分析スキルレベルの高くないビジネスユーザーでも、簡単かつ容易に、そして分かり易くデータから有効な知見を得ることができます。 ※AIプラットフォーム「SAS Viya」を分かり易く学べる「特設サイト」へGO!

Analytics
0
和歌山県データ利活用コンペティション参考資料(6) 訪日外客数・出国日本人数の傾向と予測 (時系列データの利用)

これまでのSAS Visual Analytics 活用例では、一時点のデータを表やグラフに示し、分析していましたが、統計データには毎年、毎月や四半期ごとに集計されているものが多くあります。そこで今回はデータのなかに時間情報が存在する時系列データの操作について説明します。 時系列データには国や地方自治体が公表しているデータに加え、気象情報、商品の売上、株価、為替レートなど様々なデータがあります。時系列データを利用することで、過去の傾向やパターンを把握したり、将来はどうなるのか予測することができます。SAS Visual Analytics のオブジェクトには、時系列データではないと作成できないものがあり、その中でも今回は、二軸の時系列プロットと予測の利用例を説明します。 このスライドでは、日本政府観光局(JNTO)が公開している「年別 訪日外客数・出国日本人数・国際旅行収支(IMF方式)の推移」を利用しました。このファイルには、1959年から2016年までの年ごとの訪日外客数、出国日本人数とその伸び率、国際旅行収支のデータがあります。データのインポートについてスライド内でも説明していますが、インポートの際の注意点など詳細に関してはこちらのブログを参考にしてください。   SAS Visual Analytics 8.3 における時系列データの利用 from SAS Institute Japan   予測オブジェクトでは、自動的に最適な予測モデルが選択されます。オブジェクトを最大化し、詳細を表示すると使用された予測モデルを確認することができます。 スライド内の予測では、ARIMAが使用されていました。 また、データ役割からWhat-If 分析を選択すると、シナリオ分析とゴール探索を実行することができます。シナリオ分析では、要因の値を設定することで、予測値がどれくらい変化するかを確認できます。ゴール探索では、予測の目標値を設定することで、その目標を達成するために必要な要因の値を決定することができます。 今回スライド内で紹介したほかに時系列データを利用するオブジェクトとしては、時系列プロットと比較時系列プロットがあります。作成したオブジェクトを右クリックするとメニューが表示されるのでそこから変更することができます。 引き続き本ブログのシリーズでは、図表・グラフの作成や統計解析の方法について紹介いたします。 第2回和歌山県データ利活用コンペティションへの参加も募集中ですので、高校生・大学生のご参加をお待ちしています。(追記:募集は締め切られました)

Analytics
0
和歌山県データ利活用コンペティション参考資料(5) 人口増減率に影響を与える行政基盤の解明 (ディシジョンツリー)

本ブログのシリーズでは、SAS Visual Analyticsを用いた図・グラフの作成や統計解析についてご紹介しています。第5回目となる今回は、ディシジョンツリーを用いた分析方法をご説明します。 第1回和歌山県データ利活用コンペティション:大学生の部の課題は「人口減少問題を解決するための施策」でした。前々回の記事では、各自治体の行政基盤が人口増減率に与える影響を線形回帰を用いて評価しました。この手法は説明変数の与える影響の大きさを定量的に評価できるものの、各説明変数間の関係の読み取ることは困難でした。そこで本記事では同じ題材を用いて「ディシジョンツリー」による分析方法をご説明します。ディシジョンツリーでは、各説明変数が目的変数に及ぼす影響を階層ごとに分析することができます。 前々回の記事と同じく、総務省の「社会・人口統計体系 都道府県データ 社会生活統計指標 :D 行政基盤」と「人口推計:都道府県別人口増減率-総人口」のデータを使用しました。 SAS Visual Analytics 8.3 におけるディシジョンツリーの利用 from SAS Institute Japan   今回の分析において、人口増減に最も大きな影響を与える要素は「財政力指数」でした。都市部など財政力が強い地域の人口が増加しやすいことは感覚的に自然な結果でしょう。 注目すべきは、財政力指数が低い自治体において次に大きな影響を与える要素が「土木費割合」であったことです。無論インフラの整備は市民の暮らしやすさに欠かせない要素ですが、人口増加につながる理由としては、「公共事業による雇用の創出」と捉えることが適切でしょう。今回は行政基盤のみを説明変数に設定しましたが、有効求人倍率や最低賃金等、市民の生活や労働に関連する要素を説明変数に据えることで、より詳細な分析が可能であると予想されます。第一回和歌山県データ利活用コンペティションのサイトにこのテーマに関する優秀作品が掲載されておりますので、ご参照ください。 ディシジョンツリーによる分析は、説明変数が目的変数に及ぼす影響や各説明変数間の関係が理解しやすいというメリットがありますが、モデル作成時に用いたデータに過剰適合し汎化性能が低いというデメリットもあります。目的に応じてツリーの枝数や階層数を適切に調整するようにしましょう。 以上、ディシジョンツリーを用いた分析手法についてご説明しました。本ブログのシリーズの他の記事もぜひご参照ください。 第2回和歌山県データ利活用コンペティションへの参加も募集中ですので、高校生・大学生のご参加をお待ちしております。(追記:募集は締め切られました)      

Analytics
0
和歌山県データ利活用コンペティション参考資料(4) 育児と仕事の関係を考察する (クロス集計表と可視化)

前回のブログでは、統計解析の一例として、線形回帰分析の方法をご紹介しました。今回はデータを用いてクロス集計表(分割表)を作成し、円グラフ・棒グラフに可視化する方法をご紹介いたします。 第1回和歌山県データ利活用コンペティションでテーマに挙げられていた「人口減少問題を解決するための施策」をテーマに分析をします。人口減少の原因に女性の社会進出に対する意識が影響しているのではないかと考えました。もし、まだ子育てをしていない女性が育児と仕事を両立したくてもそれが難しいと感じるようでしたら、このことは人口減少の障害になりかねません。そこで、就業希望者と求職者について男女・育児活動の有無を項目にし、関連性を探りました。   以前、データのインポート方法を紹介したブログで利用した総務省統計局の平成29年 就業構造基本調査 都道府県編  「男女,育児の有無・頻度・育児休業等制度利用の有無,年齢,就業希望の有無・求職活動の有無別人口(無業者)-全国,全国市部,都道府県,都道府県市部,政令指定都市」のデータを利用します。 データのインポート方法に関する記事は過去のブログ記事をご参照ください。 SAS Visual Analytics 8.3 におけるクロス集計表の作成と可視化 from SAS Institute Japan 作成したグラフから、女性の中でも育児活動の有無により求職者数にはあまり差がない一方で、就業希望者数は育児活動をしている女性の方が多いことがわかります。このことから、子育てをしている女性は仕事をしたいとは思っても実際には求職活動を行っていないということがわかります。 今回のように男女・育児活動の有無など質的変数同士の関係を考察する場合、データをクロス集計表にまとめると分析がしやすくなります。また、インポートしたデータの中から必要なものを取り出すためにフィルタを活用することが効果的です。グラフを作成する際は、軸にどのようなカテゴリを選択するか、メジャーには何を用いるかなどについて自分の分析したい目的に合わせて考えてみてください。 引き続き本ブログのシリーズ Visual Analyticsを用いた図・グラフの作成や統計解析について紹介いたします。 第2回和歌山県データ利活用コンペティションへの参加も募集中ですので、高校生・大学生のご参加をお待ちしております。(追記:募集は締め切られました)

Analytics
0
和歌山県データ利活用コンペティション参考資料(3) 人口増減率に影響を与える行政基盤の解明 (線形回帰の利用)

前回のブログではSAS Visual Analyticsを用いて地図上にデータを表示するジオマップの作成方法をご紹介しました。本記事では統計解析の一例として、線形回帰分析の方法をご説明します。 第1回和歌山県データ利活用コンペティション:大学生の部の課題は「人口減少問題を解決するための施策」でした。人口減少の原因を把握することは、施策を決定するうえで重要な過程の一つです。社会福祉や育児支援等、さまざまな要素がその原因の候補として考えられますが、どの要素が原因として最も妥当であるかを判別するために、各要素が人口増減に与える影響を線形回帰により分析します。本記事では、都道府県ごとの人口増減率と行政基盤との関係を例にとり、線形回帰の分析方法をご紹介します。 今回使用したデータは、総務省の「社会・人口統計体系 都道府県データ 社会生活統計指標 :D 行政基盤」と「人口推計:都道府県別人口増減率-総人口」です。   SAS Visual Analytics 8.3 における線形回帰の利用 from SAS Institute Japan   データのインポート方法の記事はこちらです。 今回は連続型データの説明変数のみを分析しましたが、離散型データの説明変数も「分類効果」に設定することで分析可能です。また、説明変数同士に関係性がある場合は、それらを「交互作用効果」に追加します。 線形回帰のモデル評価において、「財政力指数」と「社会福祉費割合」のp値が有意水準0.05を下回っていたため、これらは説明変数として有効であると判断できます。「財政力指数」が高い自治体は多方面にわたり数々のサービスを提供可能で、「社会福祉費割合」が高い自治体は市民の生活の安定により多く貢献しています。これらのことから、市民の生活支援を充実させることが、人口増加のために行政のなすべき課題の一つであることがわかります。 しかし、今回作成した回帰モデルの決定係数は0.6995であり、依然として改善の余地が見受けられました。第一回和歌山県データ利活用コンペティションのサイトにこのテーマに関する優秀作品が掲載されておりますので、ご参照ください。 以上、線形回帰の方法をご説明しました。引き続き本ブログのシリーズではSAS Visual Analyticsを用いた図・グラフの作成や統計解析について紹介いたします。 第2回和歌山県データ利活用コンペティションへの参加も募集中ですので、高校生・大学生のご参加をお待ちしております。(追記:募集は締め切られました)

Analytics
0
和歌山県データ利活用コンペティション参考資料(2) 宿泊施設の利用状況を地図上に表示して地域差を分析する (ジオマップ)

前回のブログでは、SAS Visual Analytics にデータをインポートする方法を紹介しました。こうしてインポートしたデータをもとに、さまざまな図表・グラフの作成や統計解析を実行することができます。本記事では地図上にデータを表示するジオマップの使い方を説明します。 第1回和歌山県データ利活用コンペティションでは、「観光客を誘客するための施策」と「人口減少問題を解決するための施策」が募集テーマとなっていました。施策を検討するためには、まず現状を把握することが重要です。観光客の誘客に関しては、年間の訪問者数、宿泊者数、消費額や訪問目的などが考えられます。人口減少問題に関しては、人口の増減率、年齢別の人口構成、転出先や転入元などが考えられます。これらのデータは地理情報を含んでおり、地図上に表すことで効果的な図を作成することができます。本記事の例では、和歌山県が属する関西地区の宿泊データを利用してジオマップを作成します。 まずは、観光庁の宿泊旅行統計調査から平成29年1月~12月分(年の確定値)の集計結果をダウンロードします。ダウンロードしたファイルをSAS Visual Analytics にインポートする方法は、前回のブログ記事を参考にしてください。 SAS Visual Analytics 8.3 におけるジオマップの利用 -宿泊旅行統計- from SAS Institute Japan ジオマップをもとに調査をすすめると、和歌山県の宿泊稼働率が比較的低い要因を知ることができました。客室稼働率を高めるには、季節変動を抑え、年間を通じて旅行者を集客することが重要であるといえそうです。 つぎに、第2回のテーマである「高齢者が活躍できる社会づくり」「UIターン就職・若者の定住促進」に関連するデータを利用した例です。このスライド内では、時系列データを利用したアニメーション形式のジオマップ作成を紹介しています。時系列データに関しての詳細は、こちらのブログ記事を参考にしてください。 SAS Visual Analytics 8.3 におけるジオマップの利用 -高齢者の就労- from SAS Institute Japan ジオマップを用いてデータを図示することで、地域比較がより分かりやすくなり時系列の変化も直感的に把握することができます。また、分析を進めるための手がかりともなります。今回のコンペティションでは地理情報を含むデータの利用が予想されますので、その際はぜひジオマップを活用してみてください。 引き続き本ブログのシリーズでは、図表・グラフの作成や統計解析の方法について紹介いたします。 第2回和歌山県データ利活用コンペティションへの参加も募集中ですので、高校生・大学生のご参加をお待ちしています。(追記:募集は締め切られました)

Analytics
和歌山県データ利活用コンペティション参考資料(1) データのインポート

SAS Japan と伊藤忠テクノソリューションズ株式会社は、第2回和歌山県データ利活用コンペティションに共同で協賛し、参加者に「データサイエンス教育プラットフォーム」を提供します。 このブログでは、データサイエンス教育プラットフォームの利用例をシリーズで紹介します。 本コンペティションは次世代のデータサイエンティストを育成することを目的に開催され、全国の高校生及び大学生が腕をふるいます。データサイエンス教育プラットフォームでは、プログラミングを知らない学生でもデータ分析ができるように、データの取り込み、集計、基本的な統計解析、高度な機械学習手法などをビジュアルなインターフェースで実行できる SAS Visual Analytics をWebブラウザから利用できます。

Data Visualization
SAS Visual Analytics on SAS Viya: こんな「かっこいいダッシュボード」でビジネス戦略練るのも面白い!

机上で男女が世界地図を広げて、何かの打ち合わせをしています。 航空会社A社の企画担当が、競合他社の路線を分析しているのか? それとも、これから二人で行く海外旅行のプランを立てているのか? いえいえ、これはSAS Visual Analyticsで作成されたダッシュボードの画面です。 このダッシュボードの構成は以下の通りです。 ・使用しているデータ:OpenFlightsで公開されている世界の空港の利用状況のデータ ・真ん中の世界地図:「ネットワークダイアグラム」オブジェクトを使用し、背景に地図を表示して、路線を描画 バブルの大きさは、利用頻度を表しています。 ・左側の棒グラフ:利用頻度の高いトップ10の航空会社 ・右下と左下の数値:「キーの値」オブジェクトを使用し、注目すべき指標をクローズアップしています。例えば右下の値は、利用頻度が最も高い空港名とその数を示しています。 ・人の手や机、カメラ、パソコン等は背景に使用している画像です。 今、このダッシュボードでは、左側の棒グラフ上で「Air China」が選択され、ネットワークダイアグラムと2つの指標はAir Chinaに自動的に絞り込まれた内容が表示されています。 でも、まだ、これは張りぼて? と思っていませんか。 以下は、左側の棒グラフ上で「US Airways」を選択した状態です。 ネットワークダイアグラムや2つの指標の内容が変わっているのがわかりますね。 ご覧の通り、インタラクティブなダッシュボードです。 みなさんも、こんなクールなダッシュボードで戦略を練ってみれば、新たなアイデアが湧いてくるかもしれませんね。 このブログは、SAS CommunityサイトのVisual Analytics ギャラリーに公開されている内容に基づいています。

Advanced Analytics | Analytics | Machine Learning
SAS Viya:ビジュアルパイプラインで予測モデル生成(自動特徴量エンジニアリングテンプレート編)

ビジュアルパイプラインで予測モデル生成(テンプレート使用編)では、SAS ViyaのModel Studioを使用し、標準で実装されているパイプラインのテンプレートを使用して、予測モデルを自動生成する手順を紹介しました。 今回は、標準実装のテンプレートに含まれている、「自動特徴量エンジニアリングテンプレート」を紹介します。 「特徴」=入力=変数(独立変数、説明変数)であり、 特徴量エンジニアリングとは、予測モデルの精度を高めるために、学習用の生データに基づき、特徴を変換したり、抽出したり、選択したり、新たな特徴を作り出す行為です。 以下は、特徴量エンジニアリングの例です。 ・郵便番号などの高カーディナリティ名義変数のエンコーディング(数値化) ・間隔尺度の変数の正規化、ビニング、ログ変換 ・欠損パターンに基づく変換 ・オートエンコーダー、主成分分析(PCA)、t-SNE、特異値分解(SVD)などの次元削減 ・季節的な傾向を把握するために、日付変数を別々の変数に分解して曜日と月と年の新しい変数を作成 より良い「特徴」を作り出し、選択することで、予測モデルの精度が向上するだけでなく、モデルを単純化し、モデル解釈可能性を高めるのにも役立ちます。 しかし、従来、予測モデリングのプロセスにおいて、データサイエンティストは、その多くの時間を特徴量エンジニアリングに費やしてきました。しかも、特徴量エンジニアリングの良し悪しは、データサイエンティストのスキルに大きく依存してしまいます。 こうした課題に対処するために、SAS Viyaでは、自動特徴量エンジニアリングテンプレートを提供しています。このテンプレートを使用することで、特別なスキルを必要とせず、特徴量エンジニアリングにかける時間を短縮し、より精度の高い予測モデル生成が可能になります。 以下が、SAS ViyaのModel Studioに実装されている「自動特徴量エンジニアリングテンプレート」です。 このテンプレートは、大きく3つのステップで構成されています。 高カーディナリティ変数に対するエンコーディング(数値化) 最良変換、PCA / SVD、オートエンコーダーを使用して新たな特徴を作成 特徴エンジニアリング未/済みデータに基づく予測モデルの精度比較 ステップ1.高カーディナリティ変数に対するエンコーディング(数値化) このステップの最初のノードは、「SASコード高カーディナリティ」という名のSASコードノードです。 SASコードノードを使用することで、SASプログラムをパイプラインに組み込むことができます。 このノードを選択し、右側画面内でコードエディタ:「開く」をクリックすると、その内容を確認できます。 このSASコードノードでは、最初に、20〜1,000レベルのカーディナリティの高い変数(固有値が多すぎる名義変数)を識別します。minlevelsとmaxlevelsの値を更新することで、この範囲を簡単に変更することもできます。次に、数値変換(TRANSFORM = LEVELENCODE)を指定し、これらの変数に対してのみレベル(水準)エンコーディングを行います。実際に変換を行うためには、「データマイニングの前処理」にある「変換」ノードを実行する必要があるため、「変換」ノードが接続されています。 レベルエンコーディングでは、名義を数値に変換します。これは、カーディナリティの高い変数を扱う場合に特に便利です。これらの変数は、ほとんどの機械学習アルゴリズムにおいてコンピューティングリソースの負荷をあげてしまうことが多いからです。最初に名義変数のレベルをアルファベット順に並べ替え、各レベルに昇順に数字(1から始まる)を割り当てます。 ステップ2.最良変換、PCA / SVD、オートエンコーダーを使用して新たな特徴を作成 ステップ2では、以下の3つの異なる自動特徴量エンジニアリング手法が適用されます。 変換-最良(Best):このノードは、「データマイニングの前処理」にある「変換」ノードを使用して、すべての間隔変数に対して「最良(Best)」の変換を行います。この方法では、各間隔変数に対して、ランク付け基準(ターゲットとの相関など)に基づいて、単一変数の変換(逆変換、標準化、センタリング、ログ変換など)を比較し、最も高いランク付けを持つ変換を選択します。 特徴抽出- PCA:このノードは、「データマイニングの前処理」にある「特徴抽出」ノードを使用して、間隔入力変数に対する自動特徴抽出手法として「自動」を指定しています。「自動」では、間隔入力変数の総数が500以下の場合は、主成分分析(PCA)が適用され、それ以外の場合は、特異値分解(SVD)が適用されます。 特徴抽出-自動エンコーダ:このノードでは、オートエンコーダを用いて特徴抽出を行います。この手法では、特徴抽出にすべての入力変数(間隔と名義)を使用します。オートエンコーダーは、入力データを再構成するために使用できる特徴のセットを学習することを目的とした教師なし学習技術です。手短に言えば、ニューラルネットワークは、ターゲット(出力)ニューロンを入力ニューロンと等しく設定することによって訓練されるものです。 このノードでは、中間隠れ層が10に設定されているので、10個の新しい特徴が作成されます。 ステップ3.特徴エンジニアリング未/済みデータに基づく予測モデルの精度比較 最後のステップでは、勾配ブースティングを用いた5つの異なる予測モデルが生成されます。 ・高カーディナリティー変数のレベルエンコーディング+特徴抽出(PCA)を施したデータに基づくモデル ・高カーディナリティー変数のレベルエンコーディング+特徴抽出(オートエンコーダー)を施したデータに基づくモデル ・高カーディナリティー変数のレベルエンコーディング+変換-最良を施したデータに基づくモデル ・高カーディナリティー変数のレベルエンコーディングを施したデータに基づくモデル ・元のデータ(特徴量エンジアリングを施していない)に基づくモデル 5つのモデルを生成後、パフォーマンスを比較します。勾配ブースティングは、非常に効果的な教師あり学習アルゴリズムであり、予測精度の面で他のアルゴリズムより優れていることが多いため、使用しています。

Advanced Analytics | Analytics | Machine Learning
SAS Viya: ビジュアルパイプラインで予測モデル生成(テンプレート使用編)

ビジュアルパイプラインで予測モデル生成(基本編)では、SAS ViyaのModel Studioを使用し、パイプラインを一から作成し、予測モデルを生成する手順を紹介しました。 今回は、前回からの続きとして、予め用意されているパイプラインのテンプレートを使用した、モデル生成手順を紹介します。 パイプライン・テンプレートの選択と実行 実行結果(モデル精度)の確認 1.パイプライン・テンプレートの選択と実行 パイプラインの追加アイコンをクリックすると、 「パイプラインの新規作成」ダイアログが表示されます。 パイプラインの名前を入力し、「テンプレート」から「テンプレートの参照…」を選択すると、 標準で実装されているテンプレートのリストが表示されます。 この中から使用したいテンプレートを選択し、「OK」をクリックします。今回は、「分類尺度のターゲット変数の高度なテンプレート」を使用します。 さらに、「保存」をクリックすると、 選択したパイプラインの内容が表示されます。 このテンプレートでは、以下の7つのモデルを生成し、結果を比較することができます。 ・データに対する前処理(欠損値補完と変数選択)後に、ロジスティック回帰(ステップワイズ法)とニューラルネットワークでモデル生成 ・データに対する前処理(欠損値補完)後に、ロジスティック回帰(増加法)でモデル生成 ・データに対する前処理無しで、勾配ブースティング、フォレスト、ディシジョンツリーでモデル生成 ・上記6つのモデルのアンサンブルモデルの生成 ※テンプレートに使用されている機能ノードごとの詳細なオプション内容は右側画面内で確認でき、必要に応じて変更可能です。また、パイプライン内への機能ノードの追加・削除・変更などカスタマイズも可能です。 ※一から作成したパイプラインや、既存テンプレートをカスタマイズしたパイプラインを、その企業独自のテンプレートとして共有し、活用することができます。 ※一つのプロジェクト内に、複数のパイプラインを作成し、結果を比較することができます。 パイプラインの実行アイコンをクリックし、実行します。実行中の機能ノードは時計アイコンがクルクル回転し、正常に完了すると緑のチェックマークが表示されます。 2.実行結果(モデル精度)の確認 パイプラインの実行が完了したら、ビジュアルパイプラインで予測モデル生成(基本編)と同様に、「モデルの比較」ノードのスノーマンアイコンをクリックし、メニューから「結果」を選択し、このパイプラインの実行結果を確認することができます。 また、一つのプロジェクト内で、複数のパイプラインを作成している場合には、パイプライン間でモデル精度を比較し、プロジェクト内でのチャンピオンモデルを確認することができます。 画面上部の「パイプラインの比較」をクリックします。 パイプライン2の勾配ブースティングのモデルの精度が最も高い、チャンピオンモデルであることが示されています。 以上が、パイプラインのテンプレートを使用して、予測モデルを生成する際の手順です。 コーディングスキルを持たないビジネスユーザーでも、まず、学習用のデータを選択し、予測対象の項目を選択し、テンプレートを選んで実行するだけで、精度の高いの予測モデルを自動生成することができるということです。 ※ビジュアルパイプラインのテンプレートを使用したモデル生成は、SAS Viya特設サイトにある動画でもご覧いただけます。  

Advanced Analytics | Analytics | Machine Learning
SAS Viya: ビジュアルパイプラインで予測モデル生成(基本編)

AIプラットフォームであるSAS Viyaでは、SAS言語のみならず、PythonやR、Java、Luaなどの汎用プログラミング言語からViyaのAI&アナリティクスの機能を使用し、予測モデルを生成することができるようになっています。しかし、昨今、「AI民主化」の流れに沿って、予測モデル生成を必要としているのはデータサイエンティスト(以降:DS)だけではなく、業務部門のビジネスアナリストや一般のビジネスユーザーも必要としています。こうしたコーディングスキルを持たないビジネスユーザー向けに、SAS Viyaでは、GUI上でマウスの簡単操作だけで予測モデル生成を可能としています。 もちろん、DSの中にも、コーディングせずに、もっと簡単に精度の高い予測モデルを生成できる手段があれば活用したいと感じている人達もいます。 SAS Viyaでは、Model Studioを使用し、機械学習のモデル、時系列予測のモデル、テキストマイニングのモデルをGUIベースの簡単マウス操作で作成することができます。モデル生成プロセスをグラフィカルなフロー図として描き、実行するだけです。このフロー図のことを「パイプライン」と呼んでいます。 Model Studioで予測モデルを生成するには、大きく2通りの方法があります。 1つは、マウスの簡単ドラッグ操作でパイプラインを一から作成する方法と、もう一つは、予め用意されているパイプラインのテンプレートを使用する方法です。 まずは、パイプラインを一から作成する際の基本的な手順を紹介します。 プロジェクトの新規作成と学習用のデータソース選択 パイプラインの作成と実行 実行結果(モデル精度)の確認 1.プロジェクトの新規作成と学習用のデータソース選択 SAS Viyaの統合GUIのホームページのメニューから「モデルの作成」を選択すると、 Model Studioの画面が表示されます。 「プロジェクトの新規作成」をクリックします。 「プロジェクトの新規作成」画面内で、プロジェクトの名前を入力し、モデルの種類(データマイニングと機械学習 / テキスト分析 / 予測)を選択し、学習用のデータソースを選択します。今回は、「データマイニングと機械学習」を選び、ローンの審査モデルを作成します。HMEQJというデータソースは、顧客ごとに1行の横持ち形式のデータです。 「保存」をクリックすると、ローン審査モデルプロジェクトが作成され、選択したデータソースの変数リストが表示されます。 予測対象の項目(ターゲット変数)を指定します。変数名:BAD(ラベル名:延滞フラグ)を選択し、右画面内で、役割に「ターゲット」を選択します。 延滞フラグには、過去に延滞の実績があればフラグに“1”が、無ければ“0”が設定されています。 2.パイプラインの作成と実行 予測対象の項目を指定後、画面上部にある「パイプライン」をクリックします。 パイプラインには「データ」ノードのみが表示されています。左端の機能ノードアイコンをクリックすると、 パイプラインに追加可能な機能ノードのリストが表示されます。 今回は、欠損値補完を行った上で、勾配ブースティングとランダムフォレストでモデルを生成してみましょう。まず、データに対する前処理として欠損値補完を行います。 「データマイニングの前処理」内にある「補完」を「データ」ノード上にドラッグすると、 「データ」ノードの下に「補完」ノードが追加されます。 同様の手順で、「教師あり学習」内にある「勾配ブースティング」を「補完」ノード上へドラッグすると、「補完」ノードの下に「勾配ブースティング」ノードが追加されます。(同時に「モデルの比較」ノードが自動的に追加されます) このようにドラッグ操作でノードを追加する以外に、パイプライン上のメニューからノードを追加することもできます。 「補完」ノードの右端にある、3つのドットが縦に並んでいる(スノーマン)アイコンをクリックし、「下に追加」>「教師あり学習」>「フォレスト」の順に選択すると、 「補完」ノードの下に、「フォレスト」ノードが追加されます。 機能ノードごとの詳細なオプションの設定は、右側画面内で行います。 パイプラインが完成したら、パイプラインの実行アイコンをクリックし、実行します。実行中の機能ノードは時計アイコンがクルクル回転し、正常に完了すると緑のチェックマークが表示されます。 3.実行結果(モデル精度)の確認 パイプラインの実行が完了したら、「モデルの比較」ノードのスノーマンアイコンをクリックし、メニュー から「結果」を選択します。 モデルの比較結果が表示されます。今回は勾配ブースティングのモデルの精度の方が高い=チャンピオンであると判定されています。 「アセスメント」タブ内では、リフトやROCの情報などを確認することができます。 以上が、ビジュアルパイプラインで予測モデルを一から生成する際の基本的な手順です。 ※ビジュアルパイプラインによるモデル生成(基本)は、SAS Viya特設サイトの「機械学習」トピック内にある動画でもご覧いただけます。

SAS Administrators
SAS Viyaの新しい権限設定方法

このブログでは、SAS Viyaで提供される各種機能やリソースへのアクセス制限を設定する方法を紹介します。 ユーザーやグループが行うことができる(あるいは参照することができる)内容はルールによって設定されます。ルールは以下の権限要素によって構成されています。: ・プリンシパル:ユーザーまたはグループ。 ・ターゲット:サービス、フォルダ、レポートなどのリソース。 ・権限:アクセスのタイプ(たとえば、読み取りまたは書き込み)。 ・設定:アクセスが提供されているかどうかの表示、たとえば許可または禁止。 ルールのターゲットは、uniform resource identifier(uri)を使用して識別されます。URIは、フォルダやレポート、データプランなどのコンテンツ、またはデータのインポートなどの各種の機能などを表すことができます。 SAS Viyaでのuriの例をいくつか紹介します。 ・データプラン:/ dataPreparationPlans / plans / 810e2c6b-4733-4d53-94fd-dfeb4df0de9e ・フォルダ:/ folders / folders / e28e35af-2673-4fc7-81fa-1a074f4c0de9 ・機能性:/ SASVisualAnalytics / ** 以下の例では、「レポート開発者」カスタムグループを作成し、そのグループのユーザーのみがSAS Visual Analyticsでレポートを作成することができるように設定しています。 カスタムグループを作成します。 ルールを使用して、そのグループに使用機能に対する権限を設定します。 1. カスタムグループを作成 SAS Viyaの環境の管理(SAS Environment Manager)上で、管理者(管理者のみがユーザーとグループを管理できます)が、ユーザー>カスタムグループ>カスタムグループの新規作成を選択します。 カスタムグループの新規作成画面で、「名前」にグループ名、「ID」に一意のID、「説明」に必要に応じて説明を記載します。 新しいグループが作成されたら、編集ボタンをクリックして、新しいメンバーをグループに追加します。 ユーザーまたは他のグループを新しいグループのメンバーとして追加することができます。 2.ルールを使用して、そのグループに使用機能に対する権限を設定 「レポート開発者」グループのみがSAS Visual Analyticsの機能にアクセスできるようにルールを作成、または更新します。まず、SAS Visual Analyticsに現在適用されているルールを見ていきます。 環境の管理(SAS Environment

Data Visualization
セルフサービスBI&AIの決定版SAS Visual Analytics 8.3 on SAS Viya新機能概要

SAS Visual Analytics on SAS Viya(以降VA)の次期版8.3に搭載予定の新機能をダイジェストで紹介します。 レポート作成効率の向上 レポート表示能力の拡張 表形式オブジェクトの機能拡張 SAS Mobile SDK 1.レポート作成効率の向上 レポート作成や設定は1度だけ、後はこれを再利用し、レポート作成の効率を向上 1-1.レポートデータビュー 従来からVAではレポート作成・編集時、左側に表示される「データ」リスト画面内で、必要な階層項目や計算項目の作成、カスタムカテゴリーの作成、不要な項目の非表示、などを設定し、このデータビューに基づいてレポートを作成してきました。 VA8.3では、同じデータソースに基づく複数の異なるデータビューを定義し、これを異なるレポート間、ユーザー間で共有し、再利用することができるようになります。 同じデータソースに基づく、異なるレポートを作成する際の効率が大幅に向上します。 1-2.共通フィルター 従来は、オブジェクトごとに右画面内で設定できるフィルター(オブジェクトフィルター)を使用する場合、例えば、レポート内に3つのチャートオブジェクト(円グラフ、クロス表、棒グラフ)があり、円グラフと棒グラフにだけ同じ条件で絞り込みをかけたい場合は、円グラフと棒グラフの両オブジェクトにそれぞれ同じフィルターを設定する必要がありました。 VA8.3では、作成したフィルター定義を複数の異なるオブジェクトに再適用することが可能になります。さらに、このフィルター定義は共通フィルターとしてデータビューに保存し、「1-1.」項で紹介したように、レポート間、ユーザー間でも共有し、再利用が可能になります。 1-3.絞り込み条件保持 従来、レポート参照者がレポートを表示し、好みの条件を選択し、レポート表示内容を変更した場合、そのレポートを一旦閉じた後、再度同じ内容を参照したい場合は、再度同じ作業を繰り返す必要がありました。 しかし、VA8.3では、レポート参照時にレポートに対して行った最終操作結果状態を保持することが可能となり、レポート再表示時に、同じ作業を繰り返す必要が無くなります。 1-4.格子ガイド利用 VA8.3では、レポート作成・編集時に、背景にグリッドを表示し、レポートページ内のお好みの位置に、オブジェクトを正確かつ素早く配置することが可能になります。 2.レポート表示能力の拡張 レポートが、あなたに、ストーリーを語ります。 2-1.再生可能ダッシュボード 再生可能なダッシュボードを使用することで、レポート参照者は、静的ではなく動的なダッシュボードをフルスクリーンで体験することができます。 会議の場などで、PowerPointのスライドショーのように、BIレポートを効果的に表示することも可能です。 あなたが設定したタイミングで、設定した順序で、レポートページ単位やページ内オブジェクト単位で、ダッシュボード内容が自動再生されます。 2-2.レポート自動リフレッシュ機能拡張 従来のVAでは、レポート全体を最短1分間隔で自動リフレッシュすることが可能でしたが、VA8.3では、レポートのページ単位、ページ内のオブジェクト単位に、最短1秒間隔で自動リフレッシュが可能になります。 これによって、リアルタイムBIレポートモニタリングが実現されます。 例えば、ページ内の折れ線グラフは1秒間隔で、リアルタイムなデータの変動を表示し、棒グラフは2分間隔で、別のデータの更新状況を表示する、といったことが可能になります。 3.表形式オブジェクトの機能拡張 そのままでは、数値の羅列で、ビジネス状況を直感的に捉えるのは難しいリスト表やクロス集計表の表現力が拡張されます。 3-1.表のセル内にグラフ表示 表のセル内に、数値だけでなく、棒グラフやヒートマップなどを表示することができます。 このビジュアライゼーションによって、問題点を迅速に特定し、データの傾向を直感的に捉えることが可能になります。 3-2.数値の表示桁数短縮 表のセル内に表示する数値の桁数が多い場合に、ワンタッチで短縮形表示に変更することが可能になります。これによって、表示スペースを節約して、表を読み易くできます。 4.SAS Mobile SDK iOS用SAS SDKおよびAndroid用SAS SDKを使用して、SAS Viyaサーバ上のコンテンツにアクセスするための強力なモバイルアプリを作成することが可能です。

Artificial Intelligence
SAS Viya: DLPyを用いたディープラーニングの判断根拠情報出力

ディープラーニング&画像処理用Python API向けパッケージ:DLPyでは、DLPyの基本的な機能を紹介しました。その中で、ディープラーニングの判断根拠となり得る情報、つまり入力画像のどこに着目しているのかをカラフルなヒートマップとして出力することができるheat_map_analysis()メソッドに触れました。 今回は、heat_map_analysis()メソッドを使用して、ヒートマップを出力する際に指定可能な有効なオプションに関していくつか紹介します。 GPU活用 ヒートマップ解析時の判別(予測)処理再実行回避 ヒートマップ出力対象画像タイプ(正・誤判別)指定 ヒートマップ出力対象画像指定 1.GPU活用 SAS Viyaのディープラーニングでは、ネットワークの層ごとにGPUを使用するかどうかの指定が可能ですが、ヒートマップを出力する際にも、指定したテストデータをモデルに当てはめての予測処理は実行されることになるので、同様にGPUを使用することが可能です。 GPUを使用することで、ヒートマップ出力の時間を短縮することができます。 2.ヒートマップ解析時の判別(予測)処理再実行回避 最初にheat_map_analysis()メソッドを実行する際には、モデルにテストデータを当てはめて判別(予測)処理が行われますが、以降、heat_map_analysis()メソッドを使用して、必要な判断根拠情報を再出力する際には、最初の実行時に計算された値を再利用するので、都度再計算(判別・予測処理)は行わず、より効率的、迅速に、ヒートマップを出力することができます。 「1.GPU活用」でのheat_map_analysis()メソッドではパラメータとして「data=te_img」が指定され、モデルにテストデータを当てはめていましたが、下記の再実行の例では、このパラメータは指定されず、結果のメッセージにも「Using results from model.predict()」と、実行済みの計算結果が使用されている旨が表示されています。 3.ヒートマップ出力対象画像タイプ(正・誤判別)指定 ディープラーニングのモデルにテストデータを当てはめて判別(予測)した結果として、正しく判定された画像と間違った判定が下された画像があります。 heat_map_analysis()メソッドの「img_type」パラメータを使用し、正:”C”(Correct Classification), 誤:“M”(Miss Classified), すべて:“A”(All)、を指定して該当画像の判断根拠情報を出力することが可能です。 以下は、誤判別された画像(img_type=‘M’)の判断根拠情報出力例です。 画像のどの部分に着目して、間違った判断に至ったのかを確認することができるので、モデル精度を改善するためには、学習用にどのような画像が必要なのかといった、示唆も与えてくれます。 4.ヒートマップ出力対象画像指定 heat_map_analysis()メソッドの「filename / image_id」パラメータを使用し、特定の画像を指定して、出力することも可能です。 以下は、画像ファイルリストの上位2つの画像のヒートマップをファイル名指定で出力している例です。 以下は、画像ファイルリストの先頭の画像のヒートマップをID指定で出力している例です。 上記例の詳細に関しては、こちらのGitfubサイトをご覧ください。  DLPyの詳細に関しては、こちらのGithubサイトをご覧ください。  

Advanced Analytics | Analytics | Artificial Intelligence | Machine Learning
「Pipefitter」の応用 ~CNN(特徴抽出器)+機械学習(分類器)でCNNの欠点を補完

前回は、SASの「Pipefitter」の基本的な使用方法を紹介しました。続く今回は、基本内容を踏まえ、ひとつの応用例を紹介します。 SAS Viyaのディープラーニング手法の一つであるCNNを「特徴抽出器」として、決定木、勾配ブースティングなどを「分類器」として使用することで、データ数が多くないと精度が出ないCNNの欠点を、データ数が少なくても精度が出る「従来の機械学習手法」で補強するという方法が、画像解析の分野でも応用されています。 以下は、SAS Viyaに搭載のディープラーニング(CNN)で、ImageNetのデータを学習させ、そのモデルに以下の複数のイルカとキリンの画像をテストデータとして当てはめたモデルのpooling層で出力した特徴空間に決定木をかけている例です。 In [17]: te_img.show(8,4) 以下はCNNの構造の定義です。 Build a simple CNN model   In [18]: from dlpy import Model, Sequential from dlpy.layers import * from dlpy.applications import *   In [19]: model1 = Sequential(sess, model_table='Simple_CNN')   Input Layer   In [20]: model1.add(InputLayer(3, 224, 224, offsets=tr_img.channel_means))   NOTE: Input

Advanced Analytics | Analytics | Artificial Intelligence | Machine Learning
機械学習のパイプラインを簡素化するPython向けパッケージ「Pipefitter」

SASでは、Python向けパッケージ/ライブラリとして、機械学習のパイプラインの実装を簡素化する「Pipefitter」を提供しています。 SASの「Pipefitter」パッケージは、SAS Viyaまたは、SAS v9の反復可能なワークフローの一つの段階として、データ変換とモデルフィッティング向けパイプラインを開発するためのPython APIを提供します。 このパッケージを使用すると、SASでデータを操作して、次のような処理を実装できます: ・欠損値補完 ・デシジョンツリー、ニューラルネットワーク、およびその他の機械学習テクニックを使用したパラメータ推定値の適合 ・ハイパーパラメータチューニングを使用したモデル選択の高速化 ・スコアリングとモデル評価 「Pipefitter」のもう一つの重要な特徴は、SASが提供する他の2つのPythonパッケージの能力に基づいていることです。 SWAT: SAS Viyaプラットフォームのインメモリー分析エンジンであるSAS Cloud Analytic Services(CAS)を活用し様々なデータ操作や分析を可能にするPython向けパッケージ SASPy: SAS9.4の機能を活用し、分析、データ操作、および視覚化を行うためのPython向けパッケージ ロジスティック回帰でのパラメータ推定などのパイプライン処理は、SASPyを介してSAS 9で、SWATを介してCASで同じように実行されるように設計されています。 以下は、タイタニック号の乗船者データに基づくパイプラインの例です。 まず、KaggleのサイトからPandas DataFrameにデータをダウンロードします。 In [1]: import pandas as pd In [2]: train = pd.read_csv('http://s3.amazonaws.com/assets.datacamp.com/course/Kaggle/train.csv')   In [3]: train.head() Out[3]: PassengerId Survived Pclass 0 1 0 3 1 2 1

Analytics
小林 泉 0
SAS Global Forum ユーザーおよびSAS社員による最新のSAS活用ノウハウ

SASの提供する機能、製品、コーディング上の利用の仕方、便利なSASマクロ等々は非常に幅広く、日々お客様と接している我々であっても全ての情報を持つことはできません。そのため、我々はWWのSAS利用ナレッジをこのSAS Global Forumにおける発表論文に頼ることが頻繁にあり、社内のナレッジシェアリングで参照することもしばしばです。f 今年4月に開催されたSAS Global Forum 2018の発表資料/論文を検索 2017以前の発表資料/論文を検索 なんと1976年からあります! 是非、ご活用いただければと思います。

Machine Learning
SAS Viya:ディープラーニング&画像処理用Python API向けパッケージ:DLPy

SASでは、従来からSAS Viyaの機能をPythonなど各種汎用プログラミング言語から利用するためのパッケージであるSWATを提供していました。 これに加え、よりハイレベルなPython向けAPIパッケージであるDLPyの提供も開始され、PythonからViyaの機能をより効率的に活用することが可能となっています。 ※DLPyの詳細に関しては以下サイトをご覧ください。 https://github.com/sassoftware/python-dlpy DLPyとは DLPyの機能(一部抜粋) 1.DLPyとは DLPyは、Viya3.3以降のディープラーニングと画像処理(image action set)のために作成された、Python API向けハイレベルパッケージです。DLPyではKerasに似たAPIを提供し、ディープラーニングと画像処理のコーディングの効率化が図られています。既存のKerasのコードをほんの少し書き換えるだけで、SAS Viya上でその処理を実行させることも可能になります。 例えば、以下はCNNの層の定義例です。Kerasに酷似していることがわかります。 DLPyでサポートしているレイヤは、InputLayer, Conv2d, Pooling, Dense, Recurrent, BN, Res, Proj, OutputLayer、です。 以下は学習時の記述例です。 2.DLPyの機能(一部抜粋) 複数のイルカとキリンの画像をCNNによって学習し、そのモデルにテスト画像を当てはめて予測する内容を例に、DLPyの機能(一部抜粋)を紹介します。 2-1.メジャーなディープラーニング・ネットワークの実装 DLPyでは、事前に構築された以下のディープラーニングモデルを提供しています。 VGG11/13/16/19、 ResNet34/50/101/152、 wide_resnet、 dense_net また、以下のモデルでは、ImageNetのデータを使用した事前学習済みのweightsも提供(このweightsは転移学習によって独自のタスクに利用可能)しています。 VGG16、VGG19、ResNet50、ResNet101、ResNet152 以下は、ResNet50の事前学習済みのweightsを転移している例です。 2-2.CNNの判断根拠情報 heat_map_analysis()メソッドを使用し、画像の何処に着目したのかをカラフルなヒートマップとして出力し、確認することができます。 また、get_feature_maps()メソッドを使用し、CNNの各層の特徴マップ(feature map)を取得し、feature_maps.display()メソッドを使用し、取得されたfeature mapの層を指定して表示し、確認することもできます。 以下は、レイヤー1のfeature mapの出力結果です。 以下は、レイヤー18のfeature mapの出力結果です。 2-3.ディープラーニング&画像処理関連タスク支援機能 2-3-1.resize()メソッド:画像データのリサイズ 2-3-2.as_patches()メソッド:画像データ拡張(元画像からパッチを生成) 2-3-3.two_way_split()メソッド:データ分割(学習、テスト) 2-3-4.plot_network()メソッド:定義したディープラーニングの層(ネットワーク)の構造をグラフィカルな図として描画 2-3-5.plot_training_history()メソッド:反復学習の履歴表示

Machine Learning
SAS Viya: ディープラーニングと機械学習の判断根拠情報

前回の「ディープラーニングの判断根拠」ブログでは、PythonからSAS Viyaの機能を活用するためのパッケージであるSWATを使用した例を説明しましたが、今回は、以下2点に関してご紹介します。 SAS ViyaのよりハイレベルなPython APIであるDLPyを使用した画像認識モデルの判断根拠情報 機械学習の判断根拠情報 1.SAS ViyaのよりハイレベルなPython APIであるDLPyを使用した画像認識モデルの判断根拠情報 この例では、複数のイルカとキリンの画像をSAS Viyaのディープラーニング(CNN)で学習させ、そのモデルに以下の画像を当てはめて、これがイルカなのか否かを判別するものです。 実際、この画像はイルカであると判定されたんですが。 SAS Viyaでは、その判断根拠となり得る情報の一つとして、入力画像のどこに着目したのかを以下の通り出力し、確認できるようになっています。 DLPyでは、get_feature_maps()メソッドでfeature mapを取得し、feature_map.display()で指定したレイヤーの内容を表示することができます。 以下は、レイヤー1のfeature mapです。 以下は、レイヤー18のfeature mapです。 白色の濃淡で、判別に影響を与えている箇所を確認することができます。 さらに、SAS Viyaでは、画像認識モデルの判断根拠情報を可視化する手法の一つである、Grad-CAMと同様に、画像の何処に着目したのかを、カラフルなヒートマップとして出力し、確認することもできるようになっています。 しかも、heat_map_analysis()メソッドを使用して、以下の通り、たった1行書くだけでです。 青、緑、赤の濃淡で、判別に影響を与えている箇所を確認することができます。 DLPyの詳細に関しては、以下をご覧ください。 https://github.com/sassoftware/python-dlpy 2.機械学習の判断根拠情報 もちろんディープラーニングだけではなく、従来からの機械学習のモデルによって導き出された予測や判断に関しても、それがなぜ正しいと言えるのか、具体的に言えば、なぜAさんはこの商品を買ってくれそうだと判断されたのか、なぜこの取引データは疑わしいと判断されたのか、を説明する必要性があるわけです。特に説明責任が求められるような業務要件においては、 ということでSAS Viyaの次期版には機械学習の判断根拠情報、モデル内容を説明するための機能が実装される予定です。 まず、影響度が最も高い変数は、という問いに対しては、従来からの変数の重要度で確認することができます。これをさらに一段掘り下げたものが、Partial Dependence (PD)です。 日本語では「部分従属」と言いますが。重要度の高い変数は、予測に対して、具体的にはどのように作用しているのかを知ることができます。 そしてこのPDを元にさらに一段掘り下げたものが、Individual Conditional Expectation (ICE)になります。 また、これらとは別に、なぜその予測結果に至ったのかを説明するテクニックとしてLocal Interpretable Model-agnostic Explanations (LIME)を活用することができます。 SAS Viyaベースの製品であるSAS Visual Data Mining and

SAS Events | Students & Educators
SAS Global Forum Academic Summit レポート

4月8日から9日まで、米国コロラド州デンバーにおいて、年次のSASグローバルイベント「SAS Global Forum」が開催されました。 今年のSAS Global Forumには、2月に開催された和歌山県データ利活用コンペティションにてSAS賞を受賞した専修大学のチームを招待しました。 SAS Global Forumでは、毎回、学生・教員が参加するAcademic Summitが開催されますが、今年も4月8日に開催された本イベントをレポートいたします。

Data Visualization
SAS Visual Analyticsで地図上にカスタム境界線(領域)を描いて分析―(続編)

前回、この機能を紹介した際には、海外に実在する施設や地図上での活用例をご覧いただきました。 その続編となる今回は、以下の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では、こんなこともできるんですね。 例えば、人体図の中の内臓別の疾患状況をビジュアルに分析する、工場内プラントの設備(工程)ごとの稼働状況を図解でビジュアルに可視化し分析する、店舗内の商品陳列棚別の在庫状況や売上状況を図解でビジュアルに可視化し分析する…なんていうこともできそうですね。

1 2 3