SAS Japan
活用事例からデータ分析のテクニックまで、SAS Japanが解き明かすアナリティクスの全てSASのビジョンは「データがあふれる世界をインテリジェンスに満たされる世界に変える」ですが、そのためにはデータの活用について知っている人材が世の中でさまざまな役割を担うことが重要だと考えています。そこで、SASはグローバルで教育・アウトリーチ活動を実施しています。 SAS Japanでは、アナリティクスを学習するための入門編として、同志社大学や上智大学で講義を提供しています。この講義では、SAS社員が講師となり、アナリティクスの基本的な考え方や各業界での活用事例、アナリティクスを実現するためのテクノロジーなどを紹介します。SASソフトウェアを活用した実際のデータ分析に取り組む前に、アナリティクスがどこで活用されているのか、何のために使われているのかについて、データサイエンティストを目指す学生以外にも知ってほしいと考えて講義を構成しました。実際は90分×15回程度の講義なのですが、このブログ・シリーズでは講義の内容をまとめて紹介します。 アナリティクスとは 「アナリティクス(analytics)」はanalysisから派生した言葉ですが、analysisの語源としては、「ばらばらにする」という意味があるそうです。analysisの日本語訳である「分析」も、「分ける」「析(さ)く」という意味の漢字から成り立っていますから、analysisと同じ意味合いですね。近代以降の還元主義的な考え方によれば、「分ける」ことはすなわち「理解する」ことにつながります。分解することにより、ものごとを理解しようというのがanalysisの言葉的な意味になります。 近代の科学では、対象の理解のために観察や実験といった方法が採られてきました。そこには、データが必須です。対象を分解し、データを比較することがスタートです。比較対象をできるだけシンプルにすることが研究の基本的な態度ですが、対象が複雑になったり大規模になったりすると、多くのデータが必要になります。そのため、複雑で多様なデータから情報を引き出し、ものごとを理解するための技術が発展しました。それがアナリティクスです。analyticsを直訳すると「分析学」であり、analysisに関する知識や技術の総称になります。SASのWebページには次のように書いています。 アナリティクスは包括的かつ多面的な分野であり、記録されたデータに潜む有意義なパターンや知識を発見するために、数学、統計学、予測モデリング、機械学習などの手法を活用します。 SASはアナリティクスのソフトウェアとサービスを提供している企業ですが、単なる「技術」を売っているとは考えていません。人間が対象を理解しようとしているのは、その理解から利益を得たいからです。今日、世界中の組織でアナリティクスやデータサイエンスが活用されているのは、それが組織の役に立つからです。SASにはこんな言葉があります。 Data doesn’t drive your organization, Decisions do. データは組織を駆動しない。意識決定が駆動する。 アナリティクスはデータを分析し、インサイトを得るための技術ですが、それが人間の意思決定につながらない限りは組織の利益にはなりません。 意思決定をしてみよう 「意思決定」と言っても、べつに特別なことではありません。我々は日常的に意思決定をしています。少し例を上げてみましょう。 今日、傘を持っていくか? 週末のイベントに参加するか?(コロナ禍) ワクチンを接種するか? 運動会のリレーのクラス代表を誰にするか? どの授業に登録するか? みなさんは、これらの課題に対し、どのように意思決定をしますか? 傘を持っていくかどうかの判断は、天気予報を見て決めるでしょう。天気予報は、気象庁や気象予報士が過去のデータと現在の観測データ(衛星や気象観測所、各種センサーなど)を用いて未来の天気を予測しています。週末のイベントに参加するかどうかは、新型コロナウイルスの感染者の動向を見て決めるでしょう。ニュースやWebサイトでは、感染者の遷移がわかりやすく可視化されています。ワクチンを接種するかどうかは、ワクチンに効果があるかどうか、副反応が許容できる範囲かどうかを考慮して決めるでしょう。ワクチンの効果は、厳密にデータと統計学によって検証されます。運動会のリレーのクラス代表は、体育の授業の50m走のタイムを見て決めると納得しやすいです。1回だけだと「たまたま」かもしれないので、何回かの平均タイムを比較するかもしれません。どの授業に登録するかは、学部・学科の履修ガイドラインもさることながら、過去にその授業を受けた先輩が残したデータを参考にするでしょう(筆者の学生時代は、単位の取りやすさがA-Dにランク付けされたリストが出回っていました)。このように、みなさんは日常的に意思決定をしていますし、そこではデータを役立てていることが多いことがわかります。 みなさんのなかには、データサイエンティストを目指している人もいるかもしれません。組織のなかでアナリティクスを活用するには、この意思決定をどのように支援するかを考えることが重要です。データを取得し、分析し、その結果を意思決定者であるユーザーに提示するサービスを設計する必要があります。この「ユーザー」はアナリティクス・ソフトウェアのユーザーではなく、意思決定サービスのユーザーという意味です。データサイエンティストは、データがあるからとりあえず分析してみるのではなく、ユーザーが意思決定をする際の課題をいかにデータ分析により手助けするかをプランすることも役割の一つになります。 4つのアナリティクス ガートナーによると、アナリティクスは、データ分析をしてから意思決定にいたるまで、どの程度人間が介在するかによって4つのレベルに分けられます。 記述的アナリティクス … 過去に何が起こったか、いま何が起こっているかを知る。データの集計や平均値などの統計量の計算、グラフを用いた可視化など。 診断的アナリティクス … 事象なぜ起こったかを分析する。要因分析・効果検証・統計的因果推論など。 予測的アナリティクス … 未知の事象を過去のデータや入手できる情報から予測する。統計モデル・機械学習モデルを活用。 指示的アナリティクス … 次に何をすべきかを指し示す。数理最適化の手法を活用。 例えば、上記の意思決定の例であれば、イベントへの参加を検討するためにコロナ感染者の推移をグラフで見たり、リレーのクラス代表者を50m走のタイムで決めたりするのは、記述的アナリティクスに該当します。情報を解釈して判断する大部分を意思決定者自身が担います。ワクチンの効果を検証するのは診断的アナリティクスです。ランダム化比較実験や統計的因果推論の手法を用います(次回以降で解説します)。天気予報は、予測的アナリティクスに当たります。過去のデータと現在の観測情報から未来の天気を予測します。指示的アナリティクスでは、例えば最適な配送経路を計算するのに数理最適化の手法を用います。 次回以降は、これら4つのアナリティクスを詳しく見ていきましょう。
一、背景の紹介 "データアナリストのようなヘビーユーザと利用頻度が低いユーザや参照系のユーザなど、さまざまなユーザがおり、SASプログラムを実行する際に利用するCPUとメモリなどの計算リソースを、ユーザタイプごとに割り当てる設定をしたい"。これは、多くのViyaユーザ様が持つ課題です。これを実現するためには、次の2つのステップが必要です 1.異なるタイプのユーザごとに利用できる計算リソースを設定します。 2.異なるタイプのユーザに対して、権限を個別に割り当てる必要があります。 本記事では、まずViyaのシステム管理者に向けて、ユーザが利用できる計算リソースの上限値の変更方法を紹介していきます。 二、準備 設定方法を紹介する前に、まずViyaでSASプログラムを実行時に計算リソースを調達する方法を説明します。ここでは、viyaのアーキテクチャとk8sの知識が必要になるので、なるべくわかりやすく解説していきたいと思います。 まず、ユーザがSAS Studioを使用する際、Viyaはそのユーザのみが使用できるセッションを作成します。 ユーザは、実行が必要なSASアプリケーションごとに個別のセッションを作成することができ、各セッションはバックグラウンドでk8sクラスタ上に対応するポッドを持ちます。 各ポッドには使用できるCPUとメモリの上限があり、デフォルトでは2vcpusと2Giのメモリが使用できます。Viyaがユーザのセッションのためにポッドを生成するとき、ポッドテンプレート(podTemplate)と呼ばれるものを参照します。ポッドテンプレートはviyaがデプロイされるときにyamlファイルで定義されるものです。そのため、ユーザセッションが利用できる計算リソースを変更したい場合は、viyaのデプロイに使用するポッドテンプレートのyamlファイルを変更する必要があります。また、ユーザの種類によって異なる計算リソースの制限を設定したい場合は、既存のポッドテンプレートをコピーして、名前と数値を変更するだけです。 デプロイメントファイルとK8sクラスターに変更を加える必要があるため、以下を準備する必要があります。基本的にViyaをデプロイ時に必要なものと同じですので、もし下記に対して不明なところがある場合、ご利用のViya環境のデプロイ担当者にお問い合わせください。 ・k8sクラスターのAPIサーバーに接続できる作業用のサーバー、OSはLinux系がおすすめです。 ・k8sクラスターに接続用コンフィグファイル(管理者権限が必要)。~/.kube/configとして保存します。 ・k8sのコマンドラインツール:kubectl ・Viyaデプロイメントアセットのコンパイル用ツール:kutomize ・Viyaをデプロイ時に使ったkustomization.yamlやsite-configフォルダを含めたファイルアセット 三、計算リソース上限値の修正方法 計算リソースの調達方法を簡単に紹介した後、次は、そのリソースを変更する方法について説明します。ここでは、主に以下の2つの方式を採用しています。以下はLinux OSを使用することを前提に説明します。 以下はこの章の項目の一覧です。読者は以下のリンクを使って興味のあるセクションに直接ジャンプすることができます。 1.デプロイ用ポッドテンプレートファイルを修正し、再デプロイでリソースの設定を更新する方法 2.K8sクラスター内にデプロイされたポッドテンプレートをそのまま修正する方法 3.設定後の検証方法 1.デプロイ用ポッドテンプレートファイルを修正し、再デプロイでリソースの設定を更新する方法 この方法のメリットは、デプロイメントファイルに対して変更を加えるため、後にViya環境のバージョンアップや設定変更があった場合でも、計算リソースの設定の変更が保持されることです。 デメリットは、設定時にデプロイメント手順を再実行する必要があるため、比較的面倒ではあるが、長期的には管理しやすいので、おすすめです。 ①まず、Viya のデプロイメントアセットを含むパスの一番下に移動する必要があります。 このパスを/opt/viyainstallと仮定して、以下のコマンドを実行する必要があります。 deploy=/opt/viyainstall cd $deploy パス$deployの下の構造は、おおよそ次のようになっているはずです。下記のファイルやフォルダが含まれていない場合、パスが正しいか、Viyaのデプロイに使用するファイルが欠落していないかを確認することが重要です。 ②次に、ポッドテンプレート内で定義されているcpuとmemoryの制限を変更するために、site-configフォルダに以下のファイルを作成する必要があります。実際には、設定したいCPUやメモリの上限値に合わせて、下記のコマンド内のvalueの値を変更する必要があります。下記のコマンドの例では、ユーザが利用できる計算リソースの上限を31vcpu/240Giに設定しました。 cat <<EOF > $deploy/site-config/modify-podtemplate.yaml #メモリの上限値を修正 - op: add path: "/metadata/annotations/launcher.sas.com~1default-memory-limit" value: 240Gi #利用できるメモリの上限値 - op:
社会でのデータ活用が進むにつれ、それを推進する人材の必要性が増しています。データ活用人材、アナリティクス人材、データサイエンティスト、呼び方や役割はさまざまですが、そのスキルの根底にあるのは、「データリテラシー」です。データリテラシーとは、世界で起こっているさまざまなことを理解するために、データと対話できることを指します。データの有用性を見極め、信頼性を問い、意味を見出し、その洞察を意思決定に役立て、洞察を他者に伝えることができる一連のスキルです。内閣府、文部科学省、経済産業省は、大学における「リテラシーレベル」の数理・データサイエンス・AI教育プログラムについて、認定制度をはじめようとしています。 SASは、学生向けにデータサイエンスを学べる SAS Skill Builder for Students を無料で提供しています。Skill Builder for Students の e-Learning のなかに、データサイエンスを学ぶ最初のコースとして、Data Literacy Essential があります。このコースでは、身近な例を取り上げ、段階を踏んでわかりやすくデータリテラシーについて学ぶことができます。 SASは、アナリティクスが個人や組織の意思決定のために活用されるものであることを意識し、製品やサービスを展開しています。この Data Literacy Essential のコースでも、意思決定の際にデータとどう向き合えばよいのか、その理解のためのファースト・ステップを提供します。よく統計学の初級コースで、「まず平均や分散を計算してみましょう」という教材がありますが、実は、それ以前に理解すべきことがあります。なぜデータを見る必要があるのか、どのようにデータを集めるのか、そのデータはどういう性質を持っているのか、という疑問と、それらを知ろうとする姿勢が必要です。 このコースは6つのモジュールで構成されます。 Why Data Literacy Matters ... WebやSNSなどで出会うさまざまなデータを例にデータリテラシーの重要性を学びます。 Data Literacy Practices ... 商品の購入を例にデータリテラシーの実践を学びます。 Identifying Reliable Data ... ある家族の新型コロナ感染予防の取り組みを例に信頼できるデータの収集について学びます。 Discovering the Meaning of Data ... 新型コロナの影響を受けたビジネスを例にデータから知見をどのように得られるのかを学びます。 Making Data-informed Decisions ...
There is no excerpt because this is a protected post.