例年と同様に、SAS Instituteはグローバル各国でフォーラムを開催しました。日本ではSAS Forum Japanと題して6月11日に東京の六本木で開催され、また、アメリカSAS本社はダラスでSAS Global Forum 2019を開催(4/28~5/1)し、その中では多数の論文が発表されています。本シリーズでは、これらの論文の中から、OSSとSASプラットフォーム製品のユースケース、OSSコーディング開発・運用事例、クラウドアーキテクチャの設計と運用等々の注目された内容を選別した上で、4回に分けて紹介していきます。
第1回「OSS言語から活用できるオープンなSASプラットフォーム」
近年、OSS(オープンソースソフトウェア)プログラミング言語が数多くのデータサイエンティストや企業によって利用され、分析モデルが開発されています。PythonやR、Luaなどデータサイエンティストや開発者たちに好かれたプログラミング言語はアナリティクス業界に革新をもたらしました。SASはそれらのOSSユーザと企業の要望に応じ、従来のSASユーザとOSSプログラミングユーザーたちが共同作業、かつ連携できるようなプラットフォームを提供しています。
今回は、OSSユーザがどのような方法を利用し、SASプラットフォーム上で自由自在なデータ分析を行えるのかをテーマとし、SAS Global Forumで公開した論文をご紹介します。
1.Open Visualization with SAS® Viya® and Python
この論文では、オープンソース言語の一つであるPythonに関し、SAS ViyaのSWAT(Scripting Wrapper for Analytics Transfer)を通じて、メインにオープンソースのグラフィックテクノロジー、特にPythonのMatplotライブラリ、そして現在主流となっているD3の可視化フレームワークとのインテグレーション技術について紹介しています。本文で用いた例は、統計プログラミングのサンプルを使って、Jupyter NotebookからSAS Viyaの機能を呼び出し、最終的に、mpld3で作られた静的なグラフを動的グラフに変更した例となります。
2.SWAT’s it all about? SAS Viya® for Python Users
SASは2016の7月にPythonライブラリSWATをリリースしました。それにより、PythonユーザはSASのCASに接続して、SAS Viyaの各種機能を使えるようになりました。SWATを利用することで、SAS言語バックグラウンドを持っていないユーザには、SAS言語ユーザと同じくCASとSAS Viyaの各種機能を使用できるようになります。この論文では、Python SWATを通じて、CASセッションへ接続し、PythonからCASへデータをロードし、さらにCASアクションで実行して分析する一連作業をデモンストレーションの形で紹介します。使用するデータは、SASほかのアプリケーション、例えばVisual Analyticsなどでも利用できる様子を紹介します。
3.Deploying Models Using SAS® and Open Source
近来、機械学習と人工知能の議論はほとんどの時間がモデル開発の議論に費やされています。しかし、モデルによって得られる洞察をどのように効率的にビジネス価値創出に適用するかに関してはほとんど議論されていません。この論文では、モデルの構築に応じ、Docker、Flask、Jenkins、Jupyter、Pythonなどのオープンソースプロジェクトとの組み合わせで、SASを使用してモデルを展開するためのDevOpsプリンシパルの使用例を紹介します。例に使われている関連アプリケーションはグローバルなユーザベースを持つ資産上のレコメンド・エンジンとなります。この使用例は、セキュリティ、待ち時間、スケーラビリティ、再現性に直面する必要があることをめぐってディスカッションします。最後に、その解決策となるソリューションとその課題となる部分を含めて説明します。
4.SAS® and Open Source: Two Integrated Worlds
現在、データサイエンティストたちは多様なコマーシャル、オープンソースのツールを使ってデータ分析を行っている時代となってきました。その結果、アナリティクスと人工知能のエンタープライズアプリケーションにとっては、各種ツールのコラボレーションを重要視にする必要に迫られています。SASはそれら各種のユーザに対し、データ分析と結果を簡単に操作できるプラットフォームを提供しています。例えば、PythonやRなどの言語を中心とするプログラミング能力を持っているデータサイエンティストや開発者は、生産性の向上と価値実現までの時間を短縮するために様々なAPIを通じて効率的に使用することができます。この論文では、SASのソフトウェアが提供しているオープンソースツールとのインテグレーション機能により、どのようにエンドツーエンドの分析ワークフローをサポートするベストプラクティスについて紹介します。
5.A Complete Introduction to SASPy and Jupyter Notebooks
この論文では、Jupyter Notebooksの概要説明から始め、次にPythonコードからSASセッションとシームレスに通信することを可能にするSASPyの本質的な概念の説明に進みます。 そのプロセスに含まれているPython Data Frame、そしてSASデータセットとの連携性、さらにSASの作業をJupyter Notebookワークスペースに取り入れ、Pythonの構文の幅広い魅力を生かして生産性を高めることによってもたらされる独自の利点も紹介します。
6.Make SAS Viya Realize Strategic Data Science ~Data Governance, AI platform and AI SAS programmer~
データサイエンティストは常に「データサイエンス」を最大限に生み出すため、様々なモデルを構築し、様々な種類のデータに対する最新の解析方法を学習する必要があります。また、この論文で定義する人工知能(AI)は、人々の活動をサポートする一連のプロセスを持つシステムです。例えば、「認知」、「学習」、「行動」というプロセス。AIには様々種類のデータが使用されているため、認知、学習、行動に使用されるモデルまた方法はデータ形式によって異なります。しかし、データサイエンスについて話をする際に、データ形式に関係なく、データガバナンスは非常に重要です。この論文では、SAS Viyaを通じて、PythonとSASを使用してデータガバナンスに関する戦略を立て、機械学習やディープランニング(CNN、RNNなど)の効果的なマッチングに基づいてデータサイエンスを最大化していることを紹介します。例として、当社、塩野義製薬株式会社が開発した臨床データ解析用のSASプログラムを半自動化作成する「AI SAS Programmer」システムを紹介します。このシステムは、まさにSAS Viyaを通じて、自動的にプログラミング言語を選択するにより、分析作業における標準作業時間の33%削減することに繋がりました。現在このData Drivenデータガバナンスのベースに基づいて、新薬開発の製品革新にデータサイエンスを利用する戦略を立てていて、それについても少し紹介します。
7.The Aftermath What Happens After You Deploy Your Models and Decisions
SASは現在モデルと意思決定のデプロイメントをリアルタイム環境へ簡単に展開できるように進化させています。しかし、モデルのライフサイクルはモデルがされたから終わることではありません。むしろ、それはモデルのモニタリングと分析の始まりにすぎません。それらに関しては、SASモデル、オープンソースモデルおよびPredictive Model Markup Language(PMML)モデルまで言及しなければなりません。この論文では、モデルパフォーマンスの分析手法、ビジネスマトリックスのインテグレーション、そして根本要因解析(Root Cause Analysis, RCA)の方法を紹介します。
8.Playing Favorites: Our Top 10 Model Studio Features in SAS® Visual Data Mining and Machine Learning
SAS Visual Data Mining and Machine Learning(通称VDMML)がパイプライン中心とした豊かなモデリング環境を提供しています。共同モデリング環境で、データの前処理をし、教師あり学習モデルを使用して予測分析を行い、その結果をアセスメントレポートとして確認することができます。さらに、パイプラインによって、チャンピオンモデルが自動的に決定され、そのモデルさらに新しいデータに使われることもできます。VDMMLは最初のリリース以来、さらなる多くの拡張機能が追加されていて、例えば、ノードにオープンソースコード、SAS Enterprise Minerからのバッチコード、または外部で生成されたスコアリングコードをほかのビジュアル環境とよりインテグレーションし、シームレスにモデルを構築することになりました。この論文では、最もお客様の生産性を上げることができ、評価されている10個のVDMML機能を紹介します。
9.Exploring Computer Vision in Deep Learning: Object Detection and Semantic Segmentation
この論文では、コンピュータビジョンに関連する幅広く、各種問題を解決することを目的としています。その中に、SASのディープランニングが提供しているオブジェクト認識機能とセマンティックセグメンテーション機能について説明します。また、中心としているのはSAS Viyaがサポートしているアルゴリズム、特にオブジェクト検出によく使われているFaster R-CNNとYOLO(You only look once)、セマンティックセグメンテーションによく使われているU-Netとなります。本文は、ディープランニング用のオープンソースPythonパッケージDLPyに加えて、SAS Visual Data Mining and Machine Learningで使われいるアクションセットを使用する方法も説明します。様々なビジネスシナリオでのオブジェクト検出とセマンティックセグメンテーションの応用についても紹介し、データ準備の方法、ネットワークの構築方法、重みのロードとトレーニング、結果の表示方法についても紹介します。さらに、将来の開発プロセスにポテンシャルなアプリケーションが様々な分野での運用も少し言及します。
10.Can’t Find The Right CAS Action? Create Your Own Action Using CASL
SASのClound Analytic Services Language(CASL)はCASアクションを実行するためコーディングユーザ向けのプログラミング言語仕様です。ここで少し紹介しますと、それらのCASアクションの結果は、後続のCASアクションのパラメータを準備するために関数と式で処理されます。CASLとCASアクションはCASと連携を取るときに最も制御性と柔軟性、かつたくさんのオプション機能を提供しています。また、SASが提供している多数のCASアクションに加えて、SAS Viya 3.4では、CASLを使用して独自のCASアクションを作成することができます。この論文は、上記に関する内容を詳しく説明します。
11.The Power of REST API and CLI with SAS® Visual Analytics 8.3 – Automate Your Tasks with a Batch Job
現在、多くのお客様がバッチ処理やプログラミングで自動的にSAS Visual Analytics(VA)レポートの作成、編集、ローカライゼーション、共有などの機能を行いたいと期待しています。SASはそれらお客様の期待とニーズを応じ、新しい機能を拡張しています。この論文では、SAS Viya3.4でREST APIとCLIを使用し、各業務場面で上記のビジネスタスクを達成する方法を紹介します。ここで簡単に概要を説明しますと、プログラミングで、VAレポートの作成と編集する方法、そして、メールコンテンツをカスタマイズし、共有・配布することをバッチ処理で行うことを話します。SASのコンサルタントとSASを使っているお客様両方に役立ちます。
12.REST Easier with SAS®: Using the LUA Procedure to Simplify REST API Interactions
近来、HTTPリクエストを行うため、REST APIを使用することが一般的なプログラミング条件として使われています。でもそれらの作業を単にSASプログラミングで作ると複雑です。この論文では、上記のタスクをどのようにLuaモジュールとしてを作ることと、PROC LUAを使用することにより、それらのモジュールを使用して、SASのREST APIと簡単に通信する方法を紹介します。具体的な例として、アメリカ海洋気象庁の気候データを取得する方法で説明します。
13.Embracing the open API ecosystem to give analytics an organizational operational landing spot
現在、各企業では戦略的な洞察を実戦で実行可能にすることのに苦労しています。重要な運用上の意思決定に対し、参考可能かつ強力な分析は、新しい業務イノベーションを生み出す可能性があります。SAS Viyaでは、オープンソース分析とオープンAPIエコシステムをインテグレートしています。この論文では、Python内からの画像認識にCASを活用する方法、かつKafkaを使用してリアルタイムでSAPやSalesforceなどの組織システムに結果を公開するためのカッパアーキテクチャの設定について説明します。特に焦点を置くところは、特定のユースケースではなく、それら2つのシステムにおけるオープンソースとSAS製品のインテグレーションとなります。
14.Working with Both Proprietary and Open-Source Software
近年、オープンソースコードをSASに統合するアプローチの数が増えました。 この論文で書かれている例には、SAS Enterprise Minerオープンソース統合ノードとAnalytics Transfer(SWAT)パッケージのスクリプトラッパーの内容が含まれます。 また、この論文とハンズオンワークショップは、参加者にRでのコーディング方法を教えるのではなく、SASをオープンソースツールと組み合わせる方法に焦点を当てています。 オープンソース統合ノードとswatパッケージを使用してRで予測モデルを構築する例は、使い方上のヒントとコツも示されています。 データは公開されているため、読者はGitHubのコードにアクセスして、SAS®ソフトウェアのコピーでコードを実行できます。
次回は、OSSユーザのみならず、SASユーザも含めて、「PythonからSAS9を活用するコーディング事例」をメインテーマとし、本ブログでご紹介します。ぜひご覧ください。