Japanese

Analytics | Data Management
SAS Japan 0
SASのアナリティクスをコンテナ内で実行する8つの理由

この記事はSAS Institute Japanが翻訳および編集したもので、もともとはJames Ochiai-Brownによって執筆されました。元記事はこちらです(英語)。 自己完結型のパッケージ内でソフトウェアを実行するというアイディアは、2013年のDockerの立ち上げと共に広まり始め、今ではアプリケーション開発とDevOpsのコミュニティにおけるホットなトピックとなっています。Red Hat社による最近の調査では、調査対象企業の57%が、いくつかのワークロードにコンテナを利用しており、次の2年間で採用数が2倍近くになると期待している、と回答しています。 SASはこのトレンドを認識しており、現在ではデプロイメント・オプションの一つとしてSAS for Containersを提供しています。これが仮想マシン上でSASを実行する手法の完全なリプレースになるとは思われませんが、そこには顕著なメリットがいくつか存在します。 1. アナリティクスへのセルフサービス型アクセス 組織の中には、「SASを利用したいが、それを手にできない分析担当者」を抱えているところもあります。また、SAS Platformを保有しているものの、そのオンボーディング・プロセスに承認手続きが設けられているビジネス部門も存在します。プラットフォームの運用管理者がファイルシステムやセキュリティモデルに変更を加えなければならない可能性があり、そのプロセスに時間がかかることもあります。 コンテナを利用すると、物事がよりセルフサービス型になります。IT部門はSAS用の標準的なコンテナイメージを準備し、それを社内のユーザー向けに提供します。分析担当者は用途に応じてその中から選択し、自分専用のインスタンスを起動するだけで、数分以内にSASでの作業を開始できます。Domino Data LabとBlueData は、こうした機能を提供するコンテナベースのデータサイエンス・プラットフォームの例です。 2. 様々なソフトウェア・ツールやバージョンに関するニーズへの対応が簡素化 SAS Platformの従来型の実装は、多数のユーザーによって共用されます。ユーザーは設定済みのソフトウェアを使用しなければなりませんが、それが最新バージョンであるとは限りません。コンテナを利用すると、IT部門はデータ分析担当者に対し、SASとオープンソースのソフトウェアを組み合わせた幅広い種類のコンテナイメージを提供することができます。例えば、SAS 9.4、SAS Studio、Jupyter Notebookを組み合わせたコンテナイメージも可能ですし、SAS Studio、Jupyter Notebook、R Studioのいずれからでもアクセスできる形でSAS Viyaの機械学習機能を提供するようなイメージも可能です。IT部門は、試用版ソフトウェアを提供することさえ可能です。開発者は、特定のプロジェクトに必要なソフトウェア・コンポーネントやAPI群を組み合わせて、独自のコンテナイメージを作成することもできるようになります。 3. ソフトウェア・アップデートの容易化 実際には、コンテナ内のSASソフトウェアがアップデートされることはありません。必要なのは、新しいバージョンで別のコンテナイメージを作成し、それを用いて別のコンテナを構築することだけです。つまり、ソフトウェアのアッグレード中にユーザーの作業を邪魔することは一切ありません。週末の作業も不要ですし、アップグレードがうまく進まないときに、どうやってシステムを元に戻せばよいかパニックになることもありません。新しいコンテナをテストし、準備が整った段階でそれをユーザー向けに展開すればよいのです。様々なバージョンのコンテナイメージを保持できるため、ユーザーは時間的な余裕をもって自分のコードを各バージョンでテストしたり、問題がないことを確認した上で新しいバージョンに移行したりできるようになります。 4. スケーラブルかつ柔軟で、隔離された計算処理環境 コンテナ・オーケストレーター(例:Kubernetes)は、多くのコンテナを起動することで、大きなコンピューティング・リソースを割り当てることができます。そのため、オンボードするユーザーが増えても、ジョブがスローダウンすることはありません。リソース消費が特に激しいプロセスを実行する場合でも、それが他のユーザーに影響することはありません。各コンテナは、それぞれのマシンのリソースの範囲内でのみ実行可能です。したがって、より多くのパワーが必要な場合は、コンテナを停止し、より大きなマシン上でそれを起動し直します。作業の完了後にコンテナを終了すると、そのマシンは他のユーザーのために解放されます。 5. アナリティクスをWebアプリに統合することが可能 今や、アナリティクスは分析担当者だけのものでありません。デジタル変革に取り組んでいる組織は、顧客がデジタルチャネルを通じて利用するWebアプリやモバイルアプリの背後にアナリティクスを組み込もうとしています。具体的には、画像処理、レコメンデーション、意思決定支援などを含むAIアプリケーションなどが考えられます。これらのWebアプリは従来の方式で実装されたSAS Platformと組み合わせて機能させることも可能ですが、その一方で、必要なSASソフトウェア、分析モデル、小型の実行エンジンとしてのサポーティング・コードだけで構成した実行エンジンを軽量なコンテナに実装すると複数の利点があります。こうすることで、開発者は、他のユーザーに影響を与えることなく、SASソフトウェアの設定やAPI群を変更する自由を手にします。これは、アプリケーションがPythonまたはJavaで実装される方法に似ています。 6. 自動モデル・チューニング モデルの中には、データが変化するたびに、あるいは新しいフィードバックを受け取るたびに、頻繁に更新する必要があるものもあります。コンテナを利用すると、そうしたモデルを再チューニングし、その結果をコンテナ内にパッケージし、実業務環境にデプロイするまでのプロセスを自動化することができます。 7. DevOpsやCI/CDによるデプロイメントの合理化/効率化 典型的なSASユーザーはDevOpsの世界には馴染みがないかもしれませんが、DevOpsは昨今の主流となりつつあるアプリケーション開発手法です。アナリティクスをWebアプリに統合したい場合、私たちはこのプロセスに沿って進める必要があり、それを最も簡単に行う方法が、コンテナを利用する手法です。SASコードとモデルをコンテナ内にカプセル化すると、アプリ開発者(=Dev)側では、デプロイのために運用チーム(=Ops)側に渡す前に、コンテナに接続しテストを実行できるようになります。「継続的インテグレーション(CI)」と呼ばれる手法では、アプリ(SASのパーツを含むアプリ)の全てのブランチ(分岐)における変更は、それらが一緒に正しく機能する状態を確保するために、定常的にマージされ、自動テストにかけられます。「継続的デリバリー(CD)」と呼ばれる手法は、本番の業務環境へのリリースまでのプロセスを自動化します。これにより、アナリティクス・プリケーションの開発とデプロイを数週間ではなく、数日または数時間で完了することが可能になります。   8. ほぼ全ての場所にデプロイすることが可能 コンテナはポータブル性に優れているため、オンプレミスのデータセンターから、パブリッククラウドや、ドローン/トラック/列車に搭載されたエッジデバイスに至るまで、あらゆる種類の場所でSASの実行エンジンを動かすことが可能です。 コンテナは、イマジネーション豊かなアナリティクス活用を実現可能にする大きなポテンシャルをもたらします。あなたがSAS Viyaのライセンスをお持ちの場合は、SASが運営するDockerイメージ・ライブラリへのアクセス権を有していますから、そこから事前準備済みのコンテナイメージの形でSAS

SAS Events | Students & Educators
0
SAS Global Forum 2019 レポート (4日目)

SAS Global Forum 2019もいよいよ最終日を迎えました。一日目、二日目、三日目に引き続き、最終日の参加レポートを掲載します。   データサイエンティストに必要な倫理 本日は”The Good, The Bad, and The Creepy: Why Data Scientists Need to Understand Ethics”というセッションに参加してきました。数十年前、データの活用はあくまで統計学の中のみのものであり、扱えるデータの数もごく少数でした。しかし、計算機の発展、理論の進歩、機械学習との交わりにより、近年では膨大かつ複雑なデータも処理することができるようになりました。それに伴い、データ分析の際のごく少数のミスもしくは悪意のある行為によって多くの人々に甚大な被害をもたらしてしまう可能性があると指摘しました。データサイエンスは非常に強力ですが、それを適切に活用するためにデータサイエンティストには倫理観が必要不可欠です。特に「引き起こしうる害」を認識し、「同意」に基づいてデータを使用し、「自分が何を分析しているか」を正確に把握することが必要と指摘し、特に三点目の重要性を強調しました。 分析に用いるアルゴリズムは適切かについて、常に気を配らなくてはありません。アルゴリズムが害を引き起こす例として、あるバイアスの持ち主が書いたプログラムにはそのバイアスが含まれている事例を紹介しました。例えば、Webでの検索結果にジェンダーギャップや人種間格差が見受けられるのは、関連するバイアスも持つ人物が書いたアルゴリズム内にそのバイアスが反映されているからかもしれません。他の例として、アルゴリズムに対する根本的な理解不足が問題を引き起こしうる事例を紹介しました。例えば、二つの要素が明らかに無関係と思われる場合でも、あるアルゴリズムが相関関係を見出したという理由でその二要素に関係があると結論付けてしまうのは、そのアルゴリズムについての理解が足りていないということです。数理統計をブラックボックスとみなしてはならず、背景理論について正確に把握し、何を分析しているかを意識し続けることが必要不可欠だと語りました。 また、これらに基づき、将来データサイエンティスト間にヒエラルキーが生じる可能性を指摘しました。基礎的な数学・統計学の知識があるだけでは不十分。倫理や関連法律を理解しそれをアルゴリズムに照らし合わせ、顧客や無関係な人々に害を与えてしまう可能性がないかを吟味し、必要に応じて手法を変えられるデータサイエンティストがヒエラルキーの頂上に来るはずだと主張し、倫理の重要性を強調しました。   SAS Global Forum 2019 に参加して 今回のSAS Global Forum 2019で最も印象に残ったことは「アナリティクスの可能性」です。本日の基調講演で、理論物理学者のミチオ・カク氏は「将来、すべての業界にAIが導入される。人類にとってロケットは大きな革命だったが、今後、データを燃料、アナリティクスをエンジンとして、さらに大きな革命が起ころうとしている。」と語りました。実際、様々なセッションへの参加を通して、アナリティクスが活躍する分野が非常に多岐にわたっていること、そしてそのインパクトが非常に大きいことを改めて実感し、将来私たちの生活がどのように変わっていくのかと想像して心を躍らせました。また、学生向けセッションへの参加を通じて、「アナリティクスを用いて世界を変えたい」という志を抱く同年代の学生が世界各地で切磋琢磨していることを知りました。近い将来、彼らと力を合わせて社会に大きなインパクトをもたらす”何か”をするため、今後も日々精進します。

SAS Events | Students & Educators
0
SAS Global Forum 2019 レポート (3日目)

SAS Global Forum2019 三日目の参加レポートです。一日目、二日目に引き続き本日も数多くの魅力的なセッションが行われました。参加したセッションの中から特に興味深いと感じたものをいくつかピックアップしてご紹介します。 難民支援のためのデータサイエンス 最初にご紹介するセッションは”Data4Good: Helping IOM Forecast Logistics for Refugees in Africa”です。IOM(国際移住機関)と協力しデータを用いた難民支援の事例について説明しました。 今回の分析は主にエチオピアの難民キャンプについて行われました。まず難民キャンプの規模や種類、さらにどのような物資が不足しているかについての情報を、バブルの大きさや色を用いて地図上に可視化します。この結果から安全な水や入浴・洗濯の機会など主に公衆衛生に関する課題をどのキャンプも共通して抱えていることが分かりました。そこで公衆衛生に関する水・石鹸・洗濯などの具体的な要素について、それが不足しているキャンプの数をグラフ化した結果をもとに援助の優先順位を策定し、より効果的な援助を実現しました。次に、キャンプで生活する難民についての分析です。キャンプごとに、老人が多い・女性が多いなどの特徴があり、それに応じて必要とされる支援は変わってきます。しかし流動的なキャンプにおいてその傾向は日々変化することから、支援の過不足が発生していました。適切なタイミングで適切な支援を行うため、年齢や性別などに基づき難民をいくつかのセグメントに分け、それぞれについて一つのキャンプ内にいる人数を予測するモデルを作成しました。このモデルの予測を用いることで支援物資を適切なタイミングで必要量を配分し、無駄を削減しながら必要な支援を届けることが出来ました。さらに、IOMから集めたフィードバックを用いて日々モデルを改善し、よりよい支援を追求しました。 優秀なデータサイエンティストになるには 次に”How to Be an Effective Statistician”というセッションについてご紹介します。データサイエンティストとして20年以上の経験を持ち、第一線で活躍し続けているプレゼンターが、自身の経験を踏まえながら優れた統計家になるためのヒントを伝えました。彼は”Effective Statistician” とは、「適切な分析を、適切な方法で、適切なタイミングに行える統計家」と定義しています。そして、そのためには2つのスキルが重要だと語ります。 一つ目は「リーダーシップ」です。データサイエンティストは主としてチームで分析に取り組みます。データサイエンスには統計のスキルだけでなく、分析分野についての専門知識や根本的なビジネススキルなど様々な能力が必要であり、それらを全て備えている人は多くありません。そこでリーダーの出番です。各メンバーの得意不得意を考慮しながらタスクを割り振り、各々の欠点を補いながら総合力でプロジェクトを進めていきます。しかしここで「独裁的なリーダー」になってはならないと強調しています。ある課題を解決するためのデータを用いたアプローチの仕方は一通りではありません。チーム内でディスカッションを続け、一人一人の意見を尊重することで、課題の本質を理解し、チームとして大きなヴィジョンを描けるのだと語りました。 二つ目は「データを適切に解釈する力」です。データは何らかの解釈が付与されて初めて意味を持ちます。また、それを適切に処理する上でもデータの深い理解は不可欠です。データの表面上の傾向に踊らされず、本質を見抜き適切なアプローチを取るためには、やはりビジネスの知識が役に立つと語っていました。また、データの不足が判明した場合にはそれを収集する仕組みを新たに構築するなど、臨機応変に対応する力も要求されるとのことでした。 セッションの後、データサイエンティストには幅広いスキルが要求されることに呆然としたという学生の発言がありました。それに対し彼は「自分の可能性を制限しているのは多くの場合ネガティブな自己認識。どんなに優秀なデータサイエンティストでも10年後を正確に予測することはほぼ不可能で、10年後の自分を決めるのは自分自身。理想の自分になるため、日々できることを継続することこそ一番の近道。」というメッセージを伝え、学生を勇気づけていました。とても印象に残った言葉でした。 Kick Back Party さて、三日目の夜にはKick Back Partyが開催されました。バンドの演奏やカウボーイ衣装での記念撮影など様々な余興が催され、各々が素敵な時間を過ごしていました。個人的には、本場テキサスでロデオマシーンを楽しめたことが印象に残りました。日本でのパーティーとは一味違うアメリカらしい陽気な雰囲気を味わうことができ、貴重な経験となりました。        

SAS Events | Students & Educators
0
SAS Global Forum 2019 レポート (2日目)

一日目に引き続き、SAS Global Forum 2019 の様子をお伝えします。二日目となる今日は主にStudent Symposium の様子についてレポートします。Student Symposiumはデータ分析スキルを競う学生用のコンペティションで、予選を勝ち抜いた八チームが各々の分析についてのプレゼンテーションを行いました(各チームの発表概要はこちら)。ここでは、特に印象に残った2チームの発表についてご紹介します。 起業を実現させる要因とは 1チーム目はオクラホマ州立大学のチームで、題名は”Exploring the Intensions of Entering Entrepreneurship for SAS® Global Forum 2019”です。起業が米国の資源の一つと言っても過言がないほど起業精神が浸透しているアメリカにおいて、起業を考える人は大勢いますが、全員が実際にビジネスを開始するわけではありません。起業の実現にどのような要素が影響するのかについて、データ分析により解き明かすことを目標とします。まず起業に関係する要素を「経済状況」「社会的要素(人脈など)」「人間性」「人類学的要素(ジェンダーなど)」の4つにカテゴライズし、起業に至った理由の中で最も大きな影響を与えたカテゴリを時系列に基づき分析しました。2008年ごろまでは経済状況が良かったこともあり、経済的必要性で起業する人は少数で、人脈などの社会的要素や人間性、中でも失敗を恐れない性格が起業を実現させる主な要因でした。しかし、2009年以降経済の悪化に伴い、自ら事業を立ち上げる必要性が出てきたことで経済状況に基づく起業が多数派となりました。その後経済が回復傾向になるにつれて再び経済状況の影響力は小さくなり、人類学的要素(ジェンダー)と人間性、特に功名心に基づく起業が増加しました。このように人々がビジネスを始めた理由を分析することで、今後の起業のトレンド予測や起業支援につなげるとのことでした。 バイアスのない公平な記事を書くために 2チーム目も同じくオクラホマ州立大学のチームで、題名は”Identifying Partisanship in Media Article”です。米国には強力な二大政党がありますが、それぞれの主張を対等に報道しているメディアは少なく、多かれ少なかれ偏りが生じています。偏りのある報道に晒され続けることで、盲目的にある党の主張が正しいものと信じ込んでしまい、深く考えずに投票してしまう事例も増えています。そこで、報道のバイアスを測るモデルを作成し、バイアスチェッカーとしての応用を考えることが本発表の目標です。初めに、二つの党の公式声明から、各々の政党の主張の特徴を学習させます。得られたモデルに各メディアの記事から抽出したキーワードのトピックを当てはめ、その記事を出したメディアがどちらの党派かを判別します。その結果、このモデルは90%以上の精度で記事からメディアの党派の判別が可能でした。このモデルを用いると、党派を感知されないような公平な記事を書くことができ、結果として偏りのない情報発信の助けになるとのことでした。 この二チーム以外の発表も面白いアイデアと確かなデータ分析手法に基づく非常に興味深いものであり、自分と同年代の学生がこれほどの研究・発表をしているのかと大いに刺激を受けました。彼らに負けないよう今後も精一杯頑張ろうと思います。       eポスター発表 本日は私もe-Poster Presenterとして分析結果の発表を行う機会を頂きました。”Forecasting CO2 Emissions of Electrical Generation By Using SAS® Software”と題し、発電において必要とされる各種条件を満たしながら、CO2排出量を最小にする電源構成の最適化モデルを構築し、2030年におけるCO2排出量をモデルごとに推定しました。様々な国からの参加者の皆様に発表をお聞きいただき、ディスカッションをしたりフィードバックを頂いたりと、非常に有意義な経験となりました。 詳しくは、6月11日に六本木のグランハイアット東京で開催されるSAS Japan 最大の年次イベントSAS Forum Japan 2019 内、"アナリティクスは営利目的だけじゃない!大学生が挑む Data

SAS Events | Students & Educators
0
SAS Global Forum 2019レポート (1日目)

世界で二番目に大きいと言われる空港を有し、美しい新緑が広がるここテキサス州ダラスにて、SASの一大年次イベント、「SAS Global Forum 2019」が4/28~5/1に開催されています。数々の魅力的なセッションが催されており、各地からの参加者で今年も大盛況です。私は、同年代の学生たちがどのような活動をしているのか、また、後述するData for Good活動を推進するにはどうすればよいかを学ぶため、アカデミックセッションを中心に参加しました。本記事では一日目(4/28)のAcademic Sessionについてレポートします。 学生向けセッション Student Sessionでは、世界各地から集まった学生の視野を広げること、将来の一つの指針を授けることを目的として様々なプレゼンテーションが行われました。 データサイエンティストによるパネルディスカッション 最初に、経験豊かなデータサイエンティストたちをプレゼンターに迎え、「データサイエンティストになるには何を学べばよいか」「どのような人材が必要とされているか」などについてパネルデスカッションが行われました。データサイエンティストという概念は近年になって急激に広まったものであり、教育制度が追い付いていないという現状があります。データ分析の知識に加え、金融やビジネスなど、多岐にわたる応用的な知識にも精通していることが要求されており、それらを包括的に学ぶ方法や・何を専攻するかについての疑問を抱く学生は多いでしょう。それに対してプレセンターの一人は、「まずは統計学やプログラミング手法等の核となるデータ分析スキルを身に着けるべき」とアドバイスしていました。応用的な知識は本や授業で学ぶだけでは不十分で、社会での実践を通して学ぶ必要があります。そこで、まずはどこへでも応用可能な基礎力を身に着けてから、実践として各々の分野の専門知識を身に着けるべきとのことです。「自分が心から面白いと思う分野」に出会い、高い意欲と向上心を持って取り組める人材が求まれており、その分野が定まっていないうちは、最初にデータ分析の勉強をすべきと語っていました。 参加していた学生の多くは大学や大学院にてアナリティクスを専攻しているようでしたが、中には経営学を学ぶ中で副専攻として統計学を勉強している学生もおり、Global Forumならではの多様性を感じました。 Data for GoodとGather IQ 続いて、SAS USAのI-Sah Hsieh氏からData for Goodについてのプレゼンテーションです。I-Sah氏はハリケーンや地震などの災害時に、支援活動に関する意思決定をより効果的に進めるためのデータ分析プロジェクトを行った経験があり、それぞれの事例に関して紹介しました。それを通して、彼は「学校で学んだ知識を高々一セメスターだけにとどめているのはもったいない、積極的にアウトプットすべき」と強調し、その方法の一つとして、社会問題を解決するためにデータ分析であるData for Goodを紹介しました。彼は現在、国連の掲げる持続可能な開発目標(SDGs)に対してデータを用いたアプローチに取り組んでいます。貧困をなくすため・教育機会を増やすため、データを使ってできることは何でしょうか?その学びの一環として、一新されたSASのData for Goodアプリ、Gather IQが紹介されました。SDGsの17つの目標それぞれに対応して、問題の把握やデータの活用に役立つ様々な解説記事や分析結果が公開されています。各問題に対応するゲームや募金の仕掛けなどもあり、より多くの人にData for Goodのすそ野を広げるような仕様になっています。ぜひ一度お試しください。 講演後、個人的にI-Sah氏と直接ディスカッションをしました。Data for Goodの意義を再確認し、活動の進め方やデータ分析についてアドバイスをいただき、大変有意義な時間となりました。本ブログでもたびたびご紹介しておりますが、JapanでもData for Good 活動を推進する学生コミュニティがあり(第1回勉強会レポート)、様々な社会課題に対して主体的に分析を進めています。また、データ分析手法を学ぶ勉強会も開催予定です。ご興味のある方はこちらまでご連絡ください。JPNAcademicTeam@sas.com Student Sessionの締めくくりとして、金融やヘルスケアに関するデータサイエンスの具体例が紹介されました。また、夜に行われたOpening Sessionにおいても機械学習やアナリティクスの実用例が紹介され、データサイエンスの無限の可能性を感じました。   大学教員向けセッション 続いて、SAS Global Forum大学教員向けアカデミックセッションについてのレポートです。本セッションでは、データのプライバシーと倫理について、講演とテーブルごとにディスカッションを行いました。 テーマ(1) データサイエンスの隆盛と倫理 データサイエンスの拡大とともに、扱うデータの量と種類が増加してきました。それにより、少数の人間が大きな害悪を発生させることができるようになり、また、データ発生元の同意や認知を得ることが難しくなっています。さらに、データの発生時、取得時、操作時にバイアスが含まれてしまう可能性も大きく、このような状況のもとで、大学教育について以下の点でディスカッションを行いました。 学部としての、または大学としての責任は何か? 倫理についての講義は必要か? 民間企業や官公庁とどのように協力すればよいか。

Data for Good | SAS Events | Students & Educators
0
第一回Data for Good勉強会 活動レポート

SAS Japanでは昨年末より”Data for Good”を目指す学生コミュニティ「SAS Japan Student Data for Good community」を運営しています。このコミュニティでは世界の絶滅危惧種や通勤ラッシュ時の鉄道混雑緩和など、データを活用した社会課題の解決に取り組んでいます。 活動を更に加速させるために、Data for Goodのケーススタディを通じた課題設定・アナリティクスの適用法を学ぶ勉強会を開催しました。 この記事では勉強会の中で取り上げた事例を2つ紹介します。 1.ネパール地震でのIOMによる支援 1つ目の事例はSAS USが国際移住機構(IOM)と協力して行ったネパール地震における復興支援です。 2015年4月25日に起きたネパール地震では約90万棟が全半壊し、多くの住民が仮設キャンプ場での生活を余儀なくされました。IOMは現地でキャンプ場の運営等の支援活動を行っていましたが、6月から始まる本格的な雨季を前に風雨を凌げる住居の提供が喫緊の課題でした。 IOMの要請を受けたSAS USは国連商品貿易統計データベース(UN Comtrade)を利用した各国のトタン板の生産能力を分析し、その結果迅速なトタン板の供給を実現しました。この事例からは次の事が学べます。 データの可視化によって意思決定の支援ができる この事例では住宅復興支援に必要な物資の素早い調達という課題に対し、国連商品貿易統計データベースの300万件ものデータをSAS Visual Analyticsで分析し仕入れ先を可視化することで解決しています。 複雑で膨大なデータも適切に分析・要約・可視化することで経験ではない科学的根拠に基づいた新たな知見を導くことができます。 2. 大学中退率の改善 2つ目の事例はData for Goodを推進する社会団体であるDataKindが取り組んだアメリカのとある大学の中退率の改善です。 日本の大学と比べアメリカの大学は中退率が高く、 National Student Clearinghouseによると約半数近くの学生が学位を取得せず辞めていきます。DataKindは大学の依頼を受け、どの要素が中退に影響を与えるのか、また中退の危険性のある学生を事前に特定することに挑みました。 デモグラフィックデータや学業成績などの学生情報を10年分以上分析したところ、入試の成績と卒業は関連が確認できなかった一方で、GPAや専攻などが卒業に影響を与えていることが判明しました。 この結果を踏まえ20以上もの異なるアプローチのモデルを生成し改良を重ねた結果、生徒の中退を高い精度で予測するモデルを生み出しました。 詳しい内容は原文をご覧ください。この事例からは次の事が学べます。 未来を予測して事前に対処する この事例では、中退率の改善という課題に対して統計分析や機械学習を駆使し事前に中退リスクのある学生を特定することで解決を目指しています。事前の把握ができれば大学側は効率的な学生への支援が可能となるはずです。 上記以外にも参加者それぞれが事例紹介を行い、課題に対してのアナリティクスを用いたアプローチ方法を学びました。勿論データを分析のみで課題をすべて解決することはできませんが、従来の方法では成し得なかった突破口を生み出すことが実感でき、私たちの現在の取り組みに大きな示唆をもたらした有意義な会となりました。 SAS Japan Student Data for Good communityでは引き続き学生の参加者を募集しております。社会貢献を目指す活動を通してデータサイエンティストの役割である「課題の設定」から「データを用いた解決法の提示」までの一連の流れを経験できます。 興味をお持ちでしたら以下のアドレスまでご連絡ください。 JPNAcademicTeam@sas.com

SAS Events | Students & Educators
0
第3回「データサイエンティストのキャリアと活躍のかたち」レポート

データサイエンティストを目指す学生向けのセミナー「データサイエンティストのキャリアと活躍のかたち」の第三回が3/19(火)に開催されました。第一回・第二回に引き続き今回も多くの学生の皆様に参加していただき、有意義なセミナーとなりました。本記事では、当日の様子についてご紹介します。 本セミナーでは、データサイエンティストのキャリアと活躍の場や、ビジネス上でのアナリティクス活用方法について、スピーカーがこれまでの経験をもとにご紹介しました。 SASにおけるデータサイエンティスト はじめに、データサイエンティストのキャリアやスキルについてSAS JapanのSebastian Wikanderより講演を行いました。 前半は、自身のキャリアや経験をもとにした、データサイエンティストのキャリアの紹介です。キャリアの初めはトラックメーカーに就職。様々なビジネスモデルをデータを用いて分析することに魅力とやりがいを感じ、SASに転職しました。SASでの仕事は年齢・学歴・国籍等、多様性があり、より良いパフォーマンスが発揮できます。具体的な仕事例として、大手IT企業の業務プロセス改善プロジェクトと部品メーカーにおけるディープラーニング活用プロジェクトを紹介し、SASと顧客のノウハウを合わせるチームワークの重要性や、過去の学びやスキルをもとに常に新しいチャレンジへと挑戦する楽しさなどを伝えました。 次に、データサイエンティストに必要なスキルの紹介です。核となるデータサイエンススキルの他にも、プログラミングスキル、統計学や機械学習の知識、ビジネス能力、英語力を含むコミュニケーションスキルなど多種多様なスキルが必要だとし、データサイエンティストは事例に合わせて最適なスキルを活用する「スペシャリストよりジェネラリスト」という言葉は印象的でした。 最後にデータサイエンティストのやりがいとして、様々なアプローチの中から一つを選択する「クリエイティブ」な側面、ビジネスとしての「人との関わり」という点、「新たなチャレンジ」を続けワクワクした日々を送れるという点を挙げ、より多くの学生に興味を持って欲しいというメッセージを伝えました。       アナリティクス活用領域の概要 リスク管理 続いて、リスク管理におけるアナリティクスの活用について、SAS Japanの柳による講演です。 最初にビジネスにおけるリスクについて紹介しました。リスクとは「不確実性」であると指摘し、その不確実性を想定の範囲内で「リスク管理」し「収益−損失の最大化」という目的を達成するためにアナリティクスが活用されていると紹介しました。 具体例として、金融機関における「規制対応のリスク管理」と「収益を上げるためのリスク管理」を挙げています。前者は政策等で一定の枠組みが決まっており事象の予測が行いやすく、アナリティクスが最大限活用されています。一方後者は変動が大きく様々なシナリオが想定されるため、経済情勢・社会情勢等に基づいた多様なモデルをもとにシミュレーションを重ね、意思決定の判断基準にしています。 最後に金融機関におけるAIの活用について紹介しました。業務の効率化や人的ミス排除等を目的とした従来のIT化とは異なり、人間では処理できないほど膨大となったデータを扱うために金融機関でAIを導入する動きが進んでいるとのことです。しかし、AIの思考がブラックボックス化され判断の説明可能性が低いという問題点もあり、AIの思考の透明性をどう保証するかが今後の大きな課題の一つであると伝えました。       SASの学生向けData Science 推進活動 最後に、学生のデータサイエンスの学びの場としてData for Good 勉強会とSAS Student Data for Good communityを紹介しました。Data for Goodとは様々な社会問題をデータを用いて解決する取り組みであり、これまでにも世界の絶滅危惧種や通勤ラッシュ時の鉄道混雑緩和をData for Goodの活動具体例として紹介しました。学生が主体となりこの活動をより推進するため、SASでは「Data for Good勉強会」と「SAS Student Data for Good Community」という活動を企画しています。 Data for Good 勉強会とは、SASやData Kind(Data for Goodを推進する社会団体)の実施したData

Artificial Intelligence
DLPyを使用した、ディープラーニングのfunctional APIモデル構築

SAS Viyaの分析機能をPythonから利用するためのハイレベルAPIパッケージであるDLPyでは、kerasと同等の簡潔なコーディングで、複雑な画像処理やディープラーニングを実行することができます。 そして、DLPyでは、kerasと同様に、2つの手法でディープラーニングのモデルを構築することができます。 Sequential modelとfunctional API modelです。 Sequentialとは、その名の通り、レイヤーを順序通りに積み重ねて、順序通りに実行していくモデルです。 以下は、DLPyを用いて、PythonからSAS Viyaのディープラーニング機能を使用して画像分類向けsequential modelのネットワークを定義している例です。 In [10]: model1 = Sequential(sess, model_table='Simple_CNN') model1.add(InputLayer(3, 224, 224, offsets=tr_img.channel_means)) model1.add(Conv2d(8, 7)) model1.add(Pooling(2)) model1.add(Conv2d(8, 7)) model1.add(Pooling(2)) model1.add(Dense(16)) model1.add(OutputLayer(act='softmax', n=2)) In [11]: model1.print_summary() Out[11]: In [12]: model1.plot_network() Out[12]: 一方、functional APIは、sequentialでは、表現することが難しい、より複雑な構造のモデルを構築する際に利用されます。 以下は、kerasの公式サイトに記載されている文面です。 “functional APIは,複数の出力があるモデルや有向非巡回グラフ,共有レイヤーを持ったモデルなどの複雑なモデルを定義するためのインターフェースです.” そして、DLPyでは、kerasと同様にsequential modelだけでなく、functional API modelの構築も可能になっています。 以下はその一例として、複数の入力と出力を持つような画像分類のためのディープラーニングモデルのネットワーク例です。 まず、テンソルオブジェクトを返すInput()によって、2つのテンソル、グレースケール画像とカラー(RGB)画像、を定義します。 グレースケール画像は2つの畳み込み層に送り込まれます。カラー画像はそれらとは別の畳み込み層に送り込まれます。

Advanced Analytics | Artificial Intelligence | Machine Learning
SAS Japan 0
ディープ・ラーニングにおける物体検出

この記事はSAS Institute Japanが翻訳および編集したもので、もともとはXindian Longによって執筆されました。元記事はこちらです(英語)。 物体検出とは? 物体検出とはコンピューター・ビジョンの一分野であり、画像内に含まれる関心対象の物体を自動的に背景から区別して位置特定する手法です。例えば、図1に示す2つの画像では、いずれも前景に物体があります。左の画像では鳥が、右の画像では犬と人間が前景にあります。 「物体検出問題の解決」とは、「これらの物体をぴったりと囲むバウンディング・ボックスを配置し、それぞれのバウンディング・ボックスに対して正しい物体カテゴリーを関連付けること」を意味します。画像処理の領域における他のタスクと同様、物体検出を実行するときにもディープ・ラーニングは最先端の手法として力を発揮します。 物体検出の仕組み 物体検出に関する重要な問題の1つは、前景にある物体の数が画像によって様々に異なる、ということです。しかし、ここでは物体検出の仕組みを理解するために、まずは1つの画像に1個の物体しか存在しないと仮定し、この制約条件の下で物体検出問題を考えてみましょう。1つの画像に1個の物体しか存在しない場合、バウンディング・ボックスの発見と物体のカテゴリー判断という問題は、単純明快な方法で解決することができます。バウンディング・ボックスは4組の数値で表現されますから、バウンディング・ボックスの位置を学習するタスクは、回帰問題として無理なくモデル化することが可能です。そのタスクが済めば、物体のカテゴリー判断は分類問題として解くことができます。 ここでの「制約条件付きの物体検出」という課題に関する回帰および分類問題に対する解法を提供するのは、図2に示す畳み込みニューラル・ネットワーク(CNN)です。コンピューター・ビジョンの領域における他の従来型タスク(例:画像認識、キーポイント検出、セマンティック・セグメンテーションなど)の場合と同様、ここでの「制約条件付きの物体検出」という課題では、固定数のターゲットを扱います。これらのターゲットの当てはめは、固定数の分類または回帰問題としてターゲットをモデル化することによって実行可能です。 前述のとおり、真の物体検出はN個の物体を処理できなければなりません(Nの値は画像によって異なります)。残念ながら、図2に示したCNNは、このような、より一般的な問題を解決することができません。しかし、多くの矩形ボックスの位置とサイズについて仮説を立てることによってCNNの変種を使用し、CNNを物体の分類にのみ利用する、というやり方は可能かもしれません。私たちはそのような場合の矩形ボックスを、しばしば「ウィンドウ」と呼びます。ウィンドウ仮説を汎用的なものにするためには、画像内で考えられる全ての位置とサイズをカバーしなければなりません。それができれば、それぞれのサイズと位置のウィンドウについて、「その中に物体が存在するかどうか?」と、「存在する場合、物体のカテゴリーは何か?」を判断することが可能になります。 図3は、このアプローチで物体検出を実現する場合に候補となりうるウィンドウをいくつか示しています。画像は有限個のピクセルで構成されていますから、ウィンドウの総数は膨大です。検討すべきウィンドウの数の膨大さを考えると、このアプローチはコンピューティングの観点からは非実用的です。 ウィンドウを用いて物体を探すための効率的な手法 では、「一部のウィンドウだけを調べる」というスマートな方法で物体検出を実行することは可能でしょうか? 答えは「イエス」です。このような「ウィンドウの部分集合」を発見する方法には2つのアプローチがあり、それらは2つの異なる物体検出アルゴリズムへとつながります。 第1のカテゴリーのアルゴリズムは、最初にリージョン・プロポーザル(領域候補の抽出)を実行します。これは具体的には、コンピューター・ビジョンの従来の手法(選択的検索など)を用いて、あるいは、ディープ・ラーニングに基づくリージョン・プロポーザル・ネットワーク(region proposal network: RPN)を用いて、物体を含んでいる可能性の高い領域を選択する、ということです。候補ウィンドウの少数のセットを収集したら、セットの数だけ回帰モデルおよび分類モデルを定式化することによって、物体検出問題を解決することができます。このカテゴリーに属するアルゴリズムとしては、Faster R-CNN[1]、R_FCN[2]、FPN-FRCN[3] などがあります。このカテゴリーのアルゴリズムは、通常、「2段階法」と呼ばれます。これらは一般に、この後に紹介する「1段階法」に比べ、正確性は優れていますが、処理は低速です。 第2のカテゴリーのアルゴリズムは、固定位置にある固定サイズの物体だけを探します。これらの位置とサイズは、ほとんどのシナリオがカバーされるように戦略的に選択されます。通常、これらのアルゴリズムは、元の画像を固定サイズのグリッド(格子)領域に分割した上で、それぞれのグリッド領域に関して、あらかじめ決めておいた所定の形状およびサイズの、固定数の物体を予測することを試みます。このカテゴリーに属するアルゴリズムは「1段階法」と呼ばれます。この手法の例としては、YOLO[4]、SSD[5]、RetinaNet[6]などが挙げられます。このカテゴリーのアルゴリズムは、通常、より高速に実行できますが、正確性は劣ります。このタイプのアルゴリズムは、リアルタイム検出を必要とするアプリケーションで活用されることが多くなっています。 以下では、これらのうち2つの一般的な物体検出手法を取り上げ、もう少し詳しく検討します。 YOLOによる物体検出 YOLO (You Only Look Once) は、1段階の物体検出手法を用いる代表的なアルゴリズムです。このアルゴリズムが物体を検出するためにたどるステップを、図4とその下の箇条書きに示します。 元の画像を等サイズのグリッドに分割します。 それぞれのグリッドに関して、事前に定義した形状の、グリッドの中心を中心位置とするバウンディング・ボックスを、事前に設定した数だけ予測します。それぞれの予測には、クラス確率と物体信頼度(その領域が物体を含んでいるか、あるいは背景のみか)が関連付けられます。 最後に、高い物体信頼度およびクラス確率が関連付けられたバウンディング・ボックスを選択します。最も高いクラス確率を持つ物体クラスが、その物体のカテゴリーとなります。 事前に定義した形状の事前に設定した数のバウンディング・ボックスは「アンカーボックス」と呼ばれ、k平均法アルゴリズムによってデータから取得されます。アンカーボックスは、物体のサイズと形状についてデータセットから予備知識を捕捉します。異なるサイズおよび形状の物体を検出するためには、異なるアンカーが設計されます。例えば図5では、1つの場所に3種類のアンカーが表示されていますが、最終的には赤のアンカーボックスが中央の人物を検出します。言い換えると、アルゴリズムは、物体とこのアンカーボックスの適切なサイズを一緒に検出します。通常、最終的な予測は、アンカーの位置またはサイズ自体とは異なります。なぜなら、画像の特徴量マップから取得される最適化されたオフセット値が、アンカーの位置またはサイズに加算されるからです。 YOLOアルゴリズムのアーキテクチャを図6に示します。検出層は、多数の回帰および分類オプティマイザーを含んでおり、その数はアンカーの数によって決まります。 Faster RCNNによる物体検出 Faster RCNN[1] は、2段階の物体検出アルゴリズムです。図7は、Faster RCNNの2つの段階を示しています。アルゴリズム名に “Faster” と付いていますが、「1段階法よりも高速」という意味ではありません。この名称は歴史的な経緯を反映しており、以前のバージョン(オリジナルのRCNNアルゴリズム[7] やその後継のFast RCNN[8])よりも高速であることを示しています。Faster RCNNにおける高速化は、個々の関心領域(Region of Interest: RoI)に関する特徴抽出計算を共有する手法と、ディープ・ラーニングに基づくリージョン・プロポーザル・ネットワーク(RPN)の導入によって実現されています。 多数のCNN層を用いて特徴量マップを抽出した後、リージョン・プロポーザル・ネットワーク(RPN)が、物体を含んでいる可能性の高い多数のウィンドウを出力します。その後、アルゴリズムは、各ウィンドウ内部の特徴量マップを取得し、それらを固定サイズにリサイズ(またはポール)することで(=RoIプーリング)、物体のクラス確率とより正確なバウンディング・ボックスを予測します。

Advanced Analytics | Analytics | Artificial Intelligence | Machine Learning
PythonやRで開発されたモデルの精度をビジュアルパイプラインで簡単比較

データサイエンティスト(以降、DSと表記)は、お好みのプログラミング言語を使用して、日々モデリングを行っています。昨今は、その中でもオープンソースのプログラミング言語であるPythonやRを使用されている方の割合が多くなってきているようです。その結果として、企業の分析組織やチーム内には複数の異なる言語を活用するDSが混在するケースも見受けられます。(一人で両方の言語を操る方もいます。) 「Pythonを操るAさんが作成されたモデルと、Rを操るBさんが作成されたモデル、どちらの精度が高いのかを容易かつビジュアルに比較することができたら…」  ということで、今回は、SAS ViyaのModel Studioを使用し、ビジュアルなパイプライン上での異なる言語間モデル精度比較をご紹介します。  手順は以下の通りです。 ① プロジェクトの新規作成と学習用のデータソース選択 ② パイプラインの作成と実行 ③ 実行結果(モデル精度)の確認 ① プロジェクトの新規作成と学習用のデータソース選択 「SAS Viya: ビジュアルパイプラインで予測モデル生成(基本編)」の「1.プロジェクトの新規作成と学習用のデータソース選択」を参照ください。 ② パイプラインの作成と実行 画面上部にある「パイプライン」をクリックします。 パイプラインには「データ」ノードのみが表示されています。左端の機能ノードアイコンをクリックすると、 パイプラインに追加可能な機能ノードのリストが表示されます。 まずは学習データに対する前処理として、欠損値補完を行います。 「データマイニングの前処理」内にある「補完」を「データ」ノード上にドラッグすると、 「データ」ノードの下に「補完」ノードが追加されます。 同様の手順で、「その他」内にある「オープンソースコード」を「補完」ノード上へドラッグすると、「補完」ノードの下に「オープンソースコード」ノードが追加されます。 機能ノードごとのオプション設定は、右側画面内で行います。 「言語」が「Python」であることを確認し、「開く」をクリックします。 開かれた画面内に、比較対象のPythonのコード(ランダムフォレストのモデル)をコピーします。右上の「保存」(フロッピーディスクアイコン)をクリックし、「閉じる」をクリックします。 ※ターゲット変数名や入力変数リスト名など、画面左側の変数名を使用することによって、オープンソースコードノードとその他のノード間でのデータ連携が可能となり、異なる言語のモデル間での精度比較も可能になります。各種規定変数名の詳細に関しては、オンラインマニュアルを参照してください。 「オープンソースコード」ノードの右側にある3つのドットが縦に並んでいる(スノーマン)アイコンをクリックし、「名前の変更」を選択し、 「Pythonフォレストモデル」に変更します。 このようにドラッグ操作でノードを追加する以外に、パイプライン上のメニューからノードを追加することもできます。 「補完」ノードのスノーマンアイコンをクリックし、「下に追加」>「その他」>「オープンソースコード」の順に選択すると、 「補完」ノードの下に「オープンソースコード」ノードが追加されます。 以降、同様の手順で比較対象のRのコード(ランダムフォレストのモデル)をコピーし、ノードの名前を変更します。 「オープンソースコード」ノードは、データに対する前処理として使用することもできます。デフォルトでは、「オープンソースコード」ノードは、データに対する前処理として認識されているので、これを「教師あり学習」に切り替えます。 PythonとRのモデルノードそれぞれのスノーマンアイコンをクリックし、「移動」>「教師あり学習」を選択します。 すると、「モデルの比較」ノードが追加され、PythonとRのモデルノードと接続されます。 パイプラインが完成したので、右上の「パイプラインの実行」アイコンをクリックし、実行します。 ③ 実行結果(モデル精度)の確認 処理が正常に完了したら、「モデル比較」ノードのスノーマンアイコンをクリックし、「結果」を選択します。 Rのフォレストモデルの方が精度が高い、チャンピオンモデルであると表示されました。 リフトやROC、様々な統計量で、精度を詳細に比較することもできます。 以上が、ビジュアルパイプラインでPythonとRのモデル精度を比較する手順です。 もちろん、必要に応じて、PythonやRのモデルとSASのモデルの精度を比較することもできます。 ※ビジュアルパイプラインでPythonとRのモデル精度を比較は、SAS Viya特設サイトにある動画でもご覧いただけます。 ※実際にPythonとRのモデル精度比較を試してみたい方は、Githubに公開されているアセットを活用ください。

1 13 14 15 16 17 24