Japanese

Analytics | Students & Educators
0
時間依存性治療(time-varying treatments)の因果推論:概論

注) 本コラムは『経時的に変化する治療(Time-varying treatments)に対する因果推論』と題した以前のコラムを、時間依存性治療に関する部分と周辺構造モデルにおけるIPTW法に関する部分に分割し、内容の追加と修正を行い再構成したものの一部となります。   はじめに 多くの統計的因果推論に関する書籍や文献では、ある治療※1が単時点で行われる場合の因果効果の推定手法について紹介がされています。しかし、治療が複数の時点にわたって実施され、その一連の治療による効果に興味があるという状況も存在するかと思います。例えば、新型コロナワクチンの接種が我々に身近な例として挙げられ、これ以外にも顧客に対する商品のレコメンデーションなど医学分野に限らず様々な例が挙げられます。 正確な定義は後述しますが、上記で挙げたような複数の時点において実施され、かつ各時点での値が異なりうる(時間経過とともにとる値が変化しうる)治療は、時間依存性治療(time-varying treatments)と呼ばれます。時間依存性治療に対する因果推論へのニーズは、近年の統計的因果推論という言葉自体の認知の広まりや個別化医療への関心の高まりに相まって増加しています。一方で、その統計学的理論の理解は点治療の状況と比較すると内容が高度になることや日本語での文献が少ないことからそれほど進んでいません。そこで、本コラムでは時間依存性治療に対する効果をどのように定義するか、問題となることは何か、どのように効果の推定を行えばよいかについて簡単に解説を行います。また、いくつかの代表的な推定手法についてはSASでの実装方法も併せて紹介を行います。なお、本コラムは潜在アウトカムモデルの枠組みの下での因果推論について基本的な理解があることを前提としています。適宜関連する書籍や文献、因果推論に関する連載コラムをご参照していただければ幸いです。 ※1 本コラムにおいては、介入(intervention)や曝露(exposure)など他の原因となる変数を治療(treatment)と同義的に用いて構わないものとする     因果推論を行う上での治療分類("time-fixed" or "time-varying") ある治療とアウトカムとの因果関係を議論する場合、治療はtime-fixed treatments(時間固定性治療)※2、もしくはtime-varying treatments(時間依存性治療)のいずれかに分類がされます。そして、このどちらに属するかによって扱いは大きく異なります。まず、治療が時間固定(time-fixed)であるとは、対象集団におけるすべての被験者に関して、初回の治療レベルが以降のすべての時点における各々の治療レベルを決定することを指します。この状況としては大きく3つあります。 治療が研究開始時点でのみ行われる 1つ目は、治療がベースラインやtime zeroとも呼ばれる研究やプロジェクトの開始時点でのみ行われる場合です。一般的な臨床試験で投与される被験薬・対照薬や、一回の投与で完全な免疫を与えるone-dose vaccine(e.g., 黄熱病ワクチン)などが実例として挙げられます。 初回の治療レベルが時間経過によって不変 2つ目は、初回の治療が2回目以降の治療時点においても変わらず継続的に行われる場合です。この状況の例としては、被験薬と対照薬の複数回投与が予定される臨床試験や近年いくつかの国で導入されているベーシックインカムといったものが挙げられるかと思います。 決定論的に各時点の治療レベルが定まる 3つ目は、初回の治療レベルが決定論的にその後の治療レベルを定める場合です。すなわち、初回治療での分岐以降はそれぞれ1つの治療パターンとなる場合です。例えば、A群に割り付けられた被験者は隔週で被験薬を、B群に割り付けられた被験者は毎週対照薬を投与(初回治療が被験薬なら毎週投与、対照薬なら隔週投与)されるといった実験が1つの例として考えられます。また、Aチームに配属された選手は実践練習と模擬戦を、Bチームに配属された選手は基礎練習と筋力トレーニング(初回練習が応用練習ならその後は模擬戦、基礎練習なら筋力トレーニング)をそれぞれ1日の練習メニューとして行うといったものもスポーツの領域における例として考えられます。 上記の分類からも類推されるように、治療が複数時点で行われるとしても2, 3の状況に該当する場合には、因果推論を行う上での扱いは治療が単時点で行われる場合と変わらず、ベースライン共変量の調整に基づく手法が適用可能です。これはすべての個人に関して初回治療によって2回目以降の治療が決定されるため、後述する時間依存性交絡(time-dependent confounding)という問題が生じ得ないためです。   次に、時間依存性治療(time-varying treatments)とは時間固定でない治療すべてを指します。すなわち、複数時点で行われる治療であり、かつ各時点でとる値が初回の治療によって決定論的に定まらない治療が時間依存性治療にあたります。例えば、月に1回のペースで運動指導プログラムをある市において行うというプロジェクトを考えてみます。ここで、「初回指導に参加した場合は何があっても絶対に毎回参加しなければならない」や「初回指導に参加しなかった場合には絶対に以降参加できない」などといった特殊な制約がない限りは、各指導日でプログラムという2つの選択肢を市民は取ることができます。そのため、この運動指導というのは時間依存性治療にあたります。 この他にも疫学研究における喫煙や投薬量が被験者の状態によって変更される処方、検索履歴に応じて表示される広告(レコメンド)など様々な曝露、治療、介入が時間依存の例として挙げられます。ただし、特に疫学・医学分野においては本質的には時間依存であるものの、測定の実現可能性から時間固定とされる場合もあります。また、対照的に研究・プロジェクトの計画時点では時間固定であるものの、研究実施後には時間依存であるとみなされる場合もあります。それが割付の不遵守(コンプライアンス違反)が存在する場合の治療です。例えば、上記の時間固定である治療の2番目のシナリオで紹介した継続的に被験薬と対照薬(実薬)を投与するという臨床試験においては、試験に参加する被験者が何らかの理由(e.g., 副作用の発現)で治療法を切り替える場合があります。このような状況においては、本来は時間固定であった治療を時間依存性治療とみなして解析(補正)を行うことが可能です。 ※2 執筆時点で対応する定訳が存在しないという筆者の認識であるが、本コラムにおいては時間固定性治療という訳をあてる     治療レジメン(treatment regime) ここまでは因果推論を行う上での治療分類について紹介を行いましたが、以降では治療レジメンとその分類について紹介と解説を行います。これらは、因果効果の定義やデータを用いて効果を推定する(識別のために必要な仮定を検討する)場合に非常に重要になります。ここから先は数学的な内容も入りますので、以下のように記法をおきます。基本的にはアルファベットの大文字は確率変数を、小文字はその実現値を指しています。 k:時点を表す添字(k = 0, 1, ..., K) Ak:時点kにおける二値である時間依存性治療(1: あり, 0: なし) A0:k

Analytics
0
SAS Viya環境のシングルサインオン設定方法(SAML編) 第2部 - 認証と認可の実装

背景 シングルサインオンのログイン方式(以下はSSO)は、多くのクラウドサービスの中で主流のログイン方法として、多くの利点があります。例えば、パスワードの使用が減少することで、セキュリティリスクを低下させることや一度のログインで複数のサービスやアプリケーションにアクセスできることによる、ユーザビリティの向上等です。 前回の記事(SAS Viya環境のシングルサインオン設定方法(SAML編) 第1部 - 基礎と準備)では、Azure ADとの連携でSSOを実現するための基礎概念と準備作業を紹介しました。本記事の第二部では、SAS Viyaのユーザーが運用や作業を行う際の参考となるよう、Azure ADとの連携でSSOを実現するための設定方法を下記のドキュメントの内容を基に整理することを目的としています。実際の設定を行う際は、常に最新バージョンのドキュメントを参照することをお勧めします。これにより、最新の情報に基づいた適切な手順で作業を進めることができます。 SAS Viyaドキュメント:SCIMの設定方法 SAS Viyaドキュメント:認証の設定方法 以下は本記事内容の一覧です。読者は以下のリンクで興味のあるセクションに直接ジャンプすることができます。 1.Microsoft Entra IDの作成 2.SCIM認可管理の設定 3.SAML認証の設定 1. Microsoft Entra IDの作成 1-1. 構築済みのSAS Viya環境とAzureのActive Directoryを連携するには、Azure側でAD Enterprise Appとアプリの管理者権限が必要です。 Azureポータル上で、「Microsoft Entra ID」と検索し、サービスを選択します。そして、左側メニューから「エンタープライズ アプリケーション」をクリックすると、既に登録したアプリの一覧画面が表示されます。新しいアプリを作成するために、画面上部の「新しいアプリケーション」ボタンをクリックします。その後に表示された画面の左上の「+独自のアプリケーションの作成」をクリックします。 1-2. アプリケーションの作成画面で、アプリの名前を設定し、「ギャラリーに見つからないその他のアプリケーションを統合します (非ギャラリー)」のオプションを選択し、「作成」ボタンをクリックします。 1-3. アプリの画面内で、左側の「Owners」をクリックし、アプリのオーナーが申請したユーザと一致しているかを確認します。これで、Microsoft Entra IDの作成は完了しました。 2. SCIM認可管理の設定 2-1. SAS Viyaのデフォルト認証方式はLDAPです。SSOログイン方式を利用するには、認証方式をSCIMに変更する必要があるため、まずはLDAPを無効にします。 ①sasbootユーザでSAS Viyaの環境管理画面にログインし、「Configuration」画面で「identities service」を検索し、右側の画面内の「spring」の編集ボタンをクリックします。 ②「profiles.active」からidentities-ldapを削除し、「Save」ボタンをクリックします。 ③右上の「New

Analytics
0
SAS Viya環境のシングルサインオン設定方法(SAML編) 第1部 - 基礎と準備

背景 シングルサインオンのログイン方式(以下はSSO)は、多くのクラウドサービスの中で主流のログイン方法として、多くの利点があります。例えば、パスワードの使用が減少することで、セキュリティリスクを低下させることや一度のログインで複数のサービスやアプリケーションにアクセスできることによる、ユーザビリティの向上等です。 SAS Viyaはクラウドネイティブアーキテクチャを採用したデータプラットフォームであり、様々な認証プロバイダーとSAMLやOIDCなどの接続方式を通じてSSOを実現し、ユーザーに高いセキュリティと利便性を提供することができます。 本記事の第1部では、SAS ViyaのユーザーがSAS Viya環境とAzure ADを連携させるためのSSOログイン方式を設定する際の基礎知識と初期準備に焦点を当てています。 以下は本記事内容の一覧です。読者は以下のリンクで興味のあるセクションに直接ジャンプすることができます。 1. SAS Viyaでの認可と認証 2. 作業の準備 3. 証明書のインストール 1. SAS Viyaでの認可と認証 SAS ViyaでのSSOログインは主にSCIM認可とSAML認証により実現されますが、この二つの概念についてまず簡単に紹介します。 1-1 SCIM認可とは SCIM(System for Cross-domain Identity Management)は、異なるシステム間でユーザー情報の管理と同期を効率化する標準化されたプロトコルです。SCIMを利用すると、ユーザーアカウントの作成や更新、削除を自動化できます。SAS ViyaとAzure ADの連携では、SCIMを使ってAzure ADのユーザー情報をSAS Viyaに同期し、管理作業を効率化します。 SAS ViyaでSCIM認可を利用するには以下のいくつかの注意点があります。 ・外部DNS名の要件: SAS Viyaでは公開インターネットで解決できる外部DNS名が必要です。SCIMクライアント(Azure AD)は、このDNS名を通じてSAS Viyaにアクセスします。 ・HTTPSを利用したセキュアな接続: SCIMクライアントは、HTTPSを通じてSAS ViyaのIdentitiesマイクロサービスに安全に接続する必要があります。 ・信頼できる証明書: SCIMサーバーの証明書は、Azure ADがサポートする商用証明機関から購入されるべきです。サポートされる証明機関にはCNNIC、Comodo、CyberTrust、DigiCertなどが含まれます。 ・ファイアウォール設定: SAS Viya環境へのアクセスを許可するため、適切なファイアウォールルールの設定が必要です。 1-2 SAML認証とは

Analytics
SAS Hackathon 2023 / チームSunny Compass参加報告

本記事では、Sunny Compass - analysis and suggestion of life satisfactionについて、チームメンバーに直接お話を聞き、背後にある思いやチャレンジなどについて解き明かします。 ユニークなチーム結成 チームSunny Compassは経済産業省主催のDX人材育成プログラム「マナビDX Quest 2022」(以下、マナビDX Quest)で出会ったメンバーで構成されるシビックテック・チームだ。 勤務先や居住地もまったく異なる中、オンライン上で交流し、それぞれの強みや専門性を活かしてデータとテクノロジーを使った課題解決に取り組んでいる。   SAS Hackathon 2023 参加の背景 SAS Hackathonが開催されるという話を聞き、どのようなテーマで取り組むかメンバー全員で話し合った。彼らにとって今回が初めての「ハッカソン」参加となったが、「人生の明るい方向を示す羅針盤になる」という想いをチーム名に込めたチームSunny Compassにとって、人々のウェルビーイングの向上を助ける取り組みをすることはメンバー全員が一致するところだった。データは自前で用意する必要があったため、内閣府の生活満足度調査データを使うことにした。 生活満足度調査の分析結果を可視化するモバイルアプリの開発をゴールに設定しました。ユーザーがアプリ上で性別、年齢、そして生活満足度を入力すると、自分が生活満足度の観点でどのくらいの位置にあるのかが分かり、どのような項目・活動に気を配ると更に生活満足度を向上させ得るのか、という改善に向けたヒントを得られる、というものです。   生活満足度調査データを使用するためには、内閣府に書面申請をする必要があった。書類審査に1週間程度要したが、市民に有益なアプリ開発のために利用するという点が評価され、無事データの提供を受けることができた。   ハッカソンに取り組む上で直面した様々な課題   初めての経験 最大の課題は、メンバー全員がハッカソンと呼ばれるイベントに参加するのは初めてであり、ハッカソンではどのようなことをすれば良いのか全く想像がついていなかったという点だった。また、メンバー全員がSAS製品を使ったことがなかったこと、モバイルアプリの開発も初めてだったこと、などがその他の課題として挙げられた。 完全リモートでのコミュニケーション メンバー全員が対面での面識が全くないところからのスタートだった。そのためグループチャットツールで頻繁に集まり、会話ベースで進捗やタスクを確認し合った。プロジェクトマネジメントの観点でタスクの洗い出しをして割り振るなどということよりも、口頭・テキスト問わずコミュニケーションを密に行って、動ける人が動く、全員が各自今抱えている問題について理解し助け合う、励ます、ということを重視した。 マナビDX Questの経験から、メンバー同士助け合うことが何よりも重要ということを全員が理解していたのと、メンバーごとに関連技術の知見・経験が少しずつあって、それを随所随所でうまく活かしたり、メンターの人が付いてくれて質問などに対応してくれたので何とかなりました。 具体的な取り組み内容 オープンデータを活用 内閣府による生活満足度調査のデータには、個人からの回答に基づき、様々な変数とともに、生活満足度が数値で表現されている。満足度が高いほど値が大きくなる。全体的に欠損値が多数含まれていたため前処理が必要だった。 これとは別にe-Statから取得した「都道府県・市区町村のすがた(社会・人口統計体系)」というデータも使用した。こちらには都道府県ごとの人口、世帯数、ヘルスケア関連情報、などが入っている。   モバイルアプリ メインのモバイルアプリの開発では、「どのような項目・活動が生活満足度の向上に役立つのか」という問いに答えられるよう、生活満足度を目的変数とした機械学習モデルを作成した。この機械学習モデルには変数ごとに変数重要度を出力できるタイプのものを採用し、最終的に変数重要度が高い順に上位5つまでの変数(重要変数)を取り出した。これらの重要変数をREST API経由でモバイルアプリから読みに行くという仕組みを作った。 SAS ViyaはREST APIに標準対応しているのでこういった仕組みづくりも無理なく進められました。 モバイルアプリ自体はオープンソースライブラリを利用して開発した。アプリの想定利用ユーザーは個人ということにした。ユーザーがアプリ上で性別、年齢、そして生活満足度を入力すると、類似の属性を持つ人の中で自分が生活満足度の観点でどのくらいの位置にあるのか、ということが可視化され、加えてどのような項目・活動に気を配ると更に生活満足度を向上させ得るのか、という改善に向けたヒントを取得できるようにした。 可視化ダッシュボード 次に可視化ダッシュボードの作成では、想定利用ユーザーを国や自治体の政策立案担当者とし、個人単位ではなくマクロ的な視点でデータを深堀りするための分析ツールというコンセプトに基づいて開発を進めた。モバイルアプリと同じ生活満足度調査データを使っているが、こちらは都道府県ごとに集計し直し、更に都道府県別の統計情報を加味するため、e-Statのデータと結合させたうえで利用した。

Analytics
0
本当の原因とはなにか:操作変数法(Instrumental variable methods)②

はじめに 因果推論コラム・シリーズでは潜在アウトカムモデルに基づく因果推論の解説を行なっています。今回のテーマは操作変数法(instrmental variable methods)です。 ある介入AがアウトカムYに及ぼす平均因果効果を推定する手法の1つに操作変数法があります。この手法は、操作変数と呼ばれる変数を利用することで交絡因子を調整することなく平均因果効果を推定する手法です。分野や状況によって交絡因子の特定や測定は困難であることは多く、それらの調整を行う必要がないという点で操作変数法は魅力的な手法です。ただ一方で、共変量調整に基づく因果効果の推定手法では必要とされない仮定が要求されますので、その点ご注意ください。ある変数が操作変数であるための条件は以下の3つです。各条件の詳細や実際にどのような変数が操作変数として提案されているか、操作変数と介入変数の相関が弱い場合に発生する問題については前回のコラムをご参照ください。 ZはAと関連する ZはYに対してAを介した以外の効果を持たない ZとYは共通原因を持たない 一般的な誤解として、操作変数法では操作変数が存在さえしていれば平均因果効果の推定が可能であるという認識があります。厳密には、操作変数が存在している場合に操作変数法によって推定可能なのはboundsと呼ばれる平均因果効果が含まれる幅であり、平均因果効果を推定するためには後述する仮定のいずれかが成立している必要があります。また、操作変数に関する3条件に加えて第4の条件としてどちらの仮定を置くかによっても、どのような集団における平均因果効果が推定可能であるかが異なります。本コラムではboundsと呼ばれる因果効果の部分識別について紹介した後、平均因果効果の識別に必要となるhomogeneity、およびmonotonicityについて紹介をします。なお、boundsは信頼区間とは異なる概念であることにご注意ください。   Bounds:因果効果の部分識別 このセクションでは本コラムシリーズの参考書籍である『Causal Inference: What If』の具体例を一部改変し、boundsについて簡単に紹介していきます。 「集団全員にある介入を行なった場合、行わなかった場合と比較して加法的なスケールで平均的にどの程度効果があるか」を示す平均因果効果E[Ya=1]-E[Ya=0]は、二値アウトカムに関してはPr[Ya=1=1]-Pr[Ya=0=1]と表すことが可能です。ここで、このPr[Ya=1=1]-Pr[Ya=0=1]のとりうる値の下限と上限を考えてみると、集団の潜在アウトカムに関して無情報である場合(データが何も存在しない場合)には、当然のことですが、下限は-1、上限は1です。 Pr[Ya=1=1]-Pr[Ya=0=1]=-1(下限) Pr[Ya=1=1]=0:介入を受ける場合の潜在アウトカムはすべての被験者に関して0 Pr[Ya=0=1]=1:介入を受けない場合の潜在アウトカムはすべての被験者に関して1 Pr[Ya=1=1]-Pr[Ya=0=1]=1(上限) Pr[Ya=1=1]=1:介入を受ける場合の潜在アウトカムはすべての被験者に関して1 Pr[Ya=0=1]=0:介入を受けない場合の潜在アウトカムはすべての被験者に関して1 すなわち、二値アウトカムに対する無条件での平均因果効果が含まれる幅(bounds)は[−1,1]です。例えば、集団が20名で構成されているとすると、下限と上限になる潜在アウトカムの状況は下図の通りです。 ここで集団(の一部)に関して実際にデータが得られた時、一致性の下でboundsはより狭く考えることが出来ます。これは、データとして一部の被験者らの潜在アウトカムYa=1, Ya=0の情報が得られるため、未知の部分に対して最も極端な場合の値を代入することによって下図のように下限と上限を計算することが出来ます。 なお、アウトカムが二値変数ではなく連続変数である場合にboundsを計算するためには、アウトカムが取り得る最小値と最大値を指定し、二値変数の場合と同様に代入する必要があります。また余談ですが、boundは前回のコラムで紹介した集団レベルでの除外制約 (condition (ii)) とmarginal exchangeability (condition (iii)) が成立する操作変数Zが存在する場合にはboundsをより狭く考えることが可能です。この場合のboundsはnatural boundsと呼ばれ、その幅はPr[A=1|Z=0]+Pr[A=0|Z=1] となり、データのみから識別されるものよりも狭くなります(Robins 1989, Manski 1990)。加えて、marginal exchangeabilityではなくjoint exchangeabilityが成立する場合には、さらに狭い幅となるsharp boundsを識別することが可能です。さらに追加の仮定を置くことでより狭いboundsが計算することができることも示されています(Richardson, Evans and Robins 2011)。しかし、上記のようなboundsは、一般には因果効果として用いる指標のnull value(e.g., E[Ya=1-Ya=0] であれば0)を含むかなり広い幅となり、有用でないことの方が一般的です。   第4の仮定:homogeneity(同質性)

Advanced Analytics | Analytics | Artificial Intelligence | Data Management | Data Visualization | Machine Learning | SAS Administrators
小林 泉 0
データ分析プロセス全体を管理~自己組織的に育てるナレッジのカタログ化とは

自己組織化とは、自然界において個体が全体を見渡すことなく個々の自律的なふるまいをした結果、秩序だった全体を作り出すこと 2010年から存在した解決アイディアがついに実現可能に 今から遡ること十数年前の2010年頃、支援をしていた大手製造業の会社ではすでにデータ分析スキルの社員間でのばらつきと組織全体のスキルの向上、データ分析作業の生産性の向上、人材のモビリティへの耐性としてのデータ分析業務の標準化が課題となっていました。 当時ご相談をいただいた私を含むSASの提案チームは、SASが提供するアナリティクス•ライフサイクル•プラットフォームを活用することで、その問題を支援できることがすぐにわかりました。つまり、ビジネス課題から始まり、利用データ、データ探索による洞察、データ加工プロセス、予測モデリングプロセス、モデル、そしてそれをアプリケーションに組み込むディシジョンプロセスという、一連のアナリティクス•ライフサイクルにまたがるすべての作業を電子的に記録し、全体のプロセスそのものをモデリングし、利活用することで、自己組織的にナレッジが蓄積され、且つ活用されるということです。 しかし、当時のSASだけではない周辺のIT環境、すなわちPCやアプリケーションアーキテクチャなどのインフラ、データの所在、セキュリティ管理などがサイロ化していること、またSAS以外のModelOps環境もシステムごとにアーキテクチャがバラバラすぎたこと、また、お客様社内のデータリテラシーそのものもまだ課題が多かったため、SASを中心としても、実現にはあまりにも周辺の開発コストがかかりすぎたために、提案を断念しました。 時代は変わり昨今、クラウド技術の採用およびそれに伴うビジネスプロセスの変革と標準化が急速に進んでいます。それに歩調を合わせるように、SASの製品も、上記の当時から市場をリードしてきたMLOpsフレームワークをDecisionOpsへと昇華させ、クラウド技術を最大活用すべく、クラウドネイティブなアーキテクチャおよび、プラットフォームとしての一貫性と俊敏性を高めてきました。そしてついに最新版のSAS Viyaでは、アナリティクスライフサイクル全体にわたり、データからデータ分析プロセス全体の作業を電子的に記録し、管理し、活用することが可能となりました。 自己組織的にナレッジを蓄積活用するデータ分析資産のガバナンス 昨今のデータマネージメントの取り組みの課題 詳しくはこちらのブログをご参照いただきたいのですが、多くのケースで過去と同じ過ちを繰り返しています。要約すると、データ分析文化を醸成したい、セルフサービス化を広めたいという目的に対しては、ある1時点のスナップショットでの完成を目的としたデータカタログやDWH/DMのデータモデル設計は問題の解決にはならないということです。必ず5年後にまた別の担当者やプロジェクトが「これではデータ分析しようにもどのデータを使えばわからない、問題だ、整備しよう」となります。 では解決策はなんでしょうか。 静的な情報を管理したり整備するのではなく、日々変わりゆく、どんどん蓄積され、評価され、改善、進化し続ける、データ分析業務に関わるすべての情報を記録統制することです。つまり、以下の三つのポイントを実現することです。各ポイントの詳細は後段でご紹介しています。 ポイント①あらゆるデータ分析資産(ナレッジ)を管理 ポイント②データ品質管理の自動化・省力化とガバナンス ポイント③社内ソーシャルの力による自己組織的情報の蓄積 まずは、それぞれが何を意味しているかを説明する前に、これらを実現するとどのような世界になるのかをユーザーの声によって示してみたいと思います。   個々の自由にデータ分析をしているユーザーによる行動を記録することで、全体を見渡している誰かがヒアリングや調査をして情報を管理することなく、データ分析がどのように行われているかを管理・共有・再利用が可能となるのです。 誰が、どのような目的で、どのデータを、どのように使用したのか、そしてその結果はどうだったのか? このアプリケーションの出した判定結果の説明をする必要がある。このモデルは誰が作ったのか?どのような学習データを使用したのか?どのようなモデリングプロセスだったのか? よく使用されるデータはどれか? そのデータはどのように使用すれば良いのか?注意事項はなにか? データ分析に長けた人は誰か?誰が助けになってくれそうか? 企業全体のデータ品質はどのようになっているか? データ品質と利用パターンのバランスは適切か?誤った使い方をしているユーザーはいないか? など従来、社内勉強会を開催したり、詳しい人を探し出してノウハウを聞いたり、正しくないことも多い仕様書をひっくり返してみたり、そのようにして時間と労力をかけて得られていたデータ分析を自律的に行う際に重要となる社内ナレッジが、自己組織的に形成されるということです。 「情報資産カタログ」とは~一般的な「データカタログ」との違い このような世界を実現する機能をSASでは、「情報資産カタログ」と呼んでいます。データ分析プロセス全体を管理・検索・関連付け・レポートできるようにするテクノロジーです。一般的に言われる、また多くの失敗の原因になる、「データカタログ」と対比するとその大きな違いが見えてきます。 こちらのブログでも述べましたが、データ分析者がセルフサービスでデータ分析を実践したり、初学者がなるべく自分自身で情報収集して、まずは標準的なデータ分析作業をマスターしたりするためには、既存ナレッジを活用する必要があります。一方で、そのようなナレッジは従来一部の優秀なデータ分析者に聞かないとわからなかったり、あるいはITシステム部門に質問して回答までに長い時間を要してビジネス機会を逸してしまう、という結果を招いていました。 既存ナレッジとは、どのようなデータを、どのような意図で、どのような目的で、どのように使い、どのようなアウトプットを得たかという一連の「考え方とやり方」であり、これは管理者が一時的にデータ分析者にヒアリングして「データカタログ」を整備して終わり、というものではなく、日々データ分析者たちの中で自律的に情報が作られていくものです。 ポイント①あらゆるデータ分析資産(ナレッジ)を管理 SAS Viyaでは、上述のアナリティクスライフサイクル各ステップのオブジェクトがすべて一元的に記録・管理されます。日々、新しく作られるレポート、データ加工プロセス、作成されるデータマートの情報が、自動的に管理され検索対象になっていきます。このようにアナリティクス・ライフサイクルの各ステップをすべて管理することで、データ、そのデータを使用しているレポート、そのデータを使用しているデータ加工フロー、その出力データ、さらにはそれを学習データとして使用している予測モデリングプロセスと作成されたモデル、これらを関連付けて見ることが可能となります。それにより例えば、ある目的に使用するデータを探している場合、参考にする業務名やプロジェクト名で検索をすることで、関連するレポートや、データ加工プロセスにたどり着き、そこから使用データやそのデータの使い方にたどり着くという効率的な情報の探し方が可能となります。 もちろん、この機能は昔からあるインパクト・アナリシス機能として、ITシステム部門が、データへの変更の影響調査ツールとして使用することも可能です。 ポイント②データ品質管理の自動化・省力化とガバナンス データ分析を組織的に行う際に気にすべきポイントの一つは、その正確性です。正しいマスターデータを使用しているか、適切な品質のデータを使用しているかは、最終的なアクションや意思決定の精度すなわち収益に影響します。また、結果に対する説明責任を果たすうえでもアクションに使用したデータの品質は属人的ではなく、組織的に管理されている必要があります。またデータ品質を組織的に管理することにより、データ分析の最初に行っていた品質確認という作業が省力化できます。また、属人的に行っていた品質確認作業も標準化されるため、組織全体のデータ分析作業の品質が向上します。 あるお客様では、DWHに格納するデータのETL処理において施すべき処理が実施されていないというミスがあるものの、データの数やETL処理があまりにも多いためそのミスを発見することが困難であるという状況にありました。網羅的な品質管理および品質レポートによってそのようなミスの発見が容易になります。 ポイント③社内ソーシャルの力による自己組織的情報の蓄積 前述のポイント①により基本的にはデータ分析者個人個人の自律的な活動が自動的に記録され、自己組織的に組織全体のナレッジとて蓄積され共有・再利用可能な状態が作られます。これは、データ分析者個人個人が特に意識しなくても自動的に実現できます。それに加えて、さらに意識的にこのプラットフォームを利用することで、蓄積されるナレッジに深みが増します。 例えば、あるビジネス課題をデータ分析で解決使用する場合のスタートは、「問い」です。上述のアナリティクス・ライフサイクルの一番左のスタートにあるものです。その際には、仮説設定をするためや仮説を検証する目的で、様々な角度から「データ探索」を行います。この初期のデータ探索プロセスは、その後のデータ加工やモデリングの根拠になっているため、ナレッジとしてまた説明責任の材料としてはとても重要になります。必ずしも最終的に使用したデータと同じデータを使うとも限らないので、自動的には他のデータ分析資産とは関連づきません。そのような探索プロセスも下記の図のように、同じプロジェクトフォルダに保存しておくことで、関連オブジェクトとして活用することが可能となります。また、プロアクティブに自信が使用したデータやレポートにコメントや評価を付与することで、より価値の高いナレッジへと育つことになります。 昨今企業内SNSなどで、オフィスツールの使い方などノウハウを共有をされている企業・組織もあるかと思います。それを全社規模のアナリティクス・プラットフォームで行うことで、データ分析に関わるナレッジをユーザー同士で培っていくイメージです。 まとめ 「このデータはこの目的に使えますか?」「あ、それはこの情報がないので使えないんですよ。こちらのデータを私は使ってますよ」データ分析者の間でよく交わされる会話です。この問いにいかに迅速に答えられるかが、データ分析の効率性と正確性を高めます。「情報資産カタログ」はまさにこの問いに答えるための機能なのです。

Analytics | Data Management
小林 泉 0
ようこそ古くて新しいデータマネージメントの世界へ~カギは自由と統制

ようこそ古くて新しいデータマネージメントの世界へ 2023年、DMBOK(データマネージメントの知識体系を網羅的にまとめたもの)という用語を改めて聞く機会が多くなりました。おそらくこれはアナリティクス(データ分析に基づくより良い意思決定の実践)の近年のブームで、新たにアナリティクス活用に踏み出し、ようやくビジネスに直結する使い方をするようになった企業・組織があらためてデータマネージメントの重要性に気付き始めたからだろうと推察します。 また一方で、クラウドシフトに伴いクラウドストレージの活用とともに、これまで蓄積していなかったデータを蓄積し始めたり、これまでのデータウェアハウスを一新する形で、データレイク/データウェアハウスを再構築するなど、従来からアナリティクスを活用していた企業もまた同様に、データマネージメントについて改めて考えているようです。 20年以上前からアナリティクスを競争優位の源泉としていた企業では、データマネージメントが大きな一つの関心ごとでした。その後、テクノロジーの進化によって、ソースデータのビッグデータ化(Volume, Variety and Velocity)や、ストレージ技術の進化、そしてアナリティクス・プラットフォームの進化によってITシステムに対するビジネスニーズも変化しました。また、消費者市場の変化や、データサイエンス人材の爆発的な増加といった市場の変化も目覚ましいものがあります。このような変化の中、近年あらたにアナリティクスの活用に踏み出しはじめた多くの企業だけでなく、従来、競争優位の源泉にしてきた高成熟度企業においても、データマネージメントの課題への遭遇と解決にむけて取り組んでいます。 いきなりですが、もっとも頻繁にお伺いする課題について 過去も今もお客様から聞く課題で最も多いのは、「作ったけど使われないデータウェアハウスやデータマート」です。そもそも、使われる/使われないというクライテリアそのものをもう少し注意深く定義する必要はあるとは思いますが、ITシステム部門主導で利用目的をないがしろにしたデータ基盤構築プロジェクトは往々にしてそのような結果になるようです。例えば、ITシステムサイドの都合で蓄積データの種類・期間や粒度を決めてしまうことで、データ分析要件を満たさないという結果になったり、データの出自や性質・品質や使い方のガイドがないために、データはそこにちゃんとあるのにユーザーから利用を敬遠され、別の独自のデータが作り出されたり、作成の要求が来たりしてしまいます。本ブログでは、このような結果に陥らないために意識すると良いと思われることをお伝えしていきます。 もっとも簡略化したデータマネージメントの歴史 アナリティクスに特化したデータマネージメント考察の第一期ーHadoopの到来 2015年以前はダッシュボードや定型レポート、一部の大規模なデータ分析処理用にRDBMSやデータベースアプライアンスが構えられるのみで、アナリティクス用途としてはSASデータセットやフラットファイルでの運用が主でした。これはアナリティクス的なデータ加工および統計解析・機械学習ワークロードに適したテクノロジーが世のなかにはあまりなかったからです。Hadoopの登場により、アナリティクス用途でのデータ活用が一気に拡大し、パフォーマンスやスケーラビリティの制約から解放されました。一方で、従来のように目的を先に決めてデータマートを先に設計してという方法では、アナリティクスによる効果創出が最大化されないという課題も見えてきました。このHadoopの登場は、アナリティクスのためのデータマネージメントの変革の最初のタイミングだったと思います。詳しくは2015の筆者のブログをご興味があればご参照ください。 アナリティクスの効果を最大化するデータマネージメント勘所 Hadoopだからこそ必要なセルフサービス-そしてアダプティブ・データマネジメントの時代へ データマネージメント第二期ークラウドデータベースへのシフト 2015年以降のAIブームによりアナリティクス市場が一気に拡大するとともに、アナリティクスをビジネス上の収益向上、コスト削減、リスク管理に役立てている企業では、データマネージメントの話題が再熱しています。不思議なのは、いや、多くの企業の機能別組織構造では仕方ないのですが、アナリティクスのために良かれと思って取り組んでいるデータマネージメントの課題は、多くのケースで、最終的にアナリティクスを活用して企業の経営に役立てるという目的が忘れ去られてしまいます。 そもそも、アナリティクスのためのデータマネージメントの目的 ともすると手段が目的化しがちなのがITシステムのプロジェクトです。まず、アナリティクスのためのデータマネージメントに何が求められているかを改めて掲げてみますが、そのまえに、そもそもデータマネージメントが課題になるのは、なぜでしょうか? ここでは昔も今もその構図が変わっていない世のなかの状況について共有します。 なぜ、データマネージメントタスクに80%も費やしていのでしょうか。ビジネスにおけるデータ分析の多くは、そもそも実験計画やマーケティング調査とは異なり目的に対してデータを生成・収集しているわけではありません。多くのケースでは、目的に対してそもそもその目的用に計画したわけではないが入手可能なデータを無理やり当てはめています。この目的と手段のギャップを埋める作業が非常に多くの時間とコストを要します。たとえば以下の例で考えてみてください。 製造業において生産設備の中の状態を正確に理解したいが、技術的・コスト的な制約で限定的な精度のセンサーを限定的な場所に設置して、状態の一部を前提条件付きで収集したデータを使うしかない 顧客の購買ニーズを知りたいのだが、店舗ごとの実験は難しいので、欠品情報や潜在的なニーズが表現されていない、過去の活動の結果というバイアス付きのPOSデータを使うしかない このように目的外で収集されたデータを、ある特定の目的のために使えるように評価・加工しなければいけないので、多くの時間をこのデータ準備に割く必要が生じてきます。 では、データマネージメントの取り組みはどこを目指せば良いでしょうか?データ分析者のため、を考えると必然的に以下のポイントが浮かび上がります。 目的に沿ったデータを準備すること データ分析による意思決定において、社会的責任とビジネス上の意思決定の精度を高めるため、品質を担保し、バイアスを理解し、データの生成過程(入力バイアスや基幹システム仕様と業務ルール)を理解し、適切な利用方法を確認する SQLだけでは非生産的な自由自在なデータ加工 データはその利用手法すなわち、統計解析、機械学習、ディープラーニング、自然言語解析、画像解析などによって、手法や使用ツールの仕様に応じて、また、処理パフォーマンスの観点も含めて、自由自在に加工する必要がある ビジネススピードを阻害しないパフォーマンスや処理時間 アナリティクスを競争優位に活用している企業では、24/365常に様々なデータ加工処理が、バッチ、リアルタイム、オンラインで実行されている。これら様々なワークロードを優先度とコスト効率よく、ITシステム部門が特別なチューニングやスケジューリングや、エラーによる再実行をしなくとも、業務スピードに合わせたパフォーマンスで、安定して実行可能な基盤が不可欠 データマネージメントの取り組みで失敗に陥りやすい行動 前述の目的を簡単に言い換えると、データ分析者が何か課題を解決したいと思ってからがスタートで、そこからいかに短時間で正しいデータを特定し、評価し、加工して目的の形に持っていくかが大事であるということになります。つまり、データを物理的にどこに配置されているかに関わらず、データへのアクセス性、評価や加工の俊敏性などが需要であることになります。また、その理解に基づくと、以下のような取り組みはデータマネージメントの目的に沿っておらず、俊敏性や正確性、拡張性を損なう「硬直化」の原因になっていることが多く見うけられます。 「データ統合」を目的化してしまう 1つのデータベースに格納するデータの範囲を決めようとする 汎用的なデータモデルを設計しようとする 変化を前提としないマスタデータ統合をしようとする 変化し続けるビジネス状況のなか、管理対象のデータは常に変化し続けるため、これが「完成」というゴール設定での取り組みは、破綻します。ある大手製造業では何十年にもわたり「ある一つの固定的なゴール」を目指したマスタデータの整備を続けた結果ようやく「マスタデータは時代とビジネスに合わせて常に変化する」と気づき、当初のプロジェクトをストップさせた、という事例もあります。また、取得可能なデータはテクノロジーの進化によって変わります。後で使うかもしれないからと「念のため」蓄積を開始したデータであっても、5年後には使い物にならないデータかもしれません。 「データマートを整備」しようとする スナップショット的なニーズに対応するデータマートを作ろうとする 目的別データマートは目的ごとに存在するにもかかわらず、データマートが多数あることを問題視してしまう データマートの品質(正確性、一貫性、説明性)を気にしていない データマートを固定化するということは目的を固定化することに他なりません。一方でデータ分析を広めるということは、より多くの異なる目的に対してデータ分析を実践することで、矛盾しています。データマートが散在しているという課題感は、本質的にはデータマートがたくさんあることが問題なのではなく、そこでどのようなデータ分析が行われているのか、その品質すなわち、正確性・一貫性・説明性のガバナンスが効いてないことにあります。この本質的な課題解決は別の手段で解決すべきです。 「データ・ディクショナリを整備」しようとする データ分析者にとって良かれと思いITシステム側でスナップショット的なメタデータを定義する データ基盤開発初期にのみ、データ分析者からヒアリングしてメタデータを定義する データの出自、仕様、生成元の情報、使い方、品質、評価などの情報が管理されていない データ・ディクショナリを作ったけどデータ分析者にとって有用な情報が定義されていなかったり、継続的なメンテナンスがされなかったりすることがほとんどです。データ・ディクショナリの目的は、データ分析者により迅速にデータを特定・評価・利用してもらうことなので、その目的達成のためには、より有用な情報を異なる方法で蓄積・管理するべきです。 データマネージメント課題の解決の視点は、自由と統制 原理・原則および、網羅的な知識体系はDMBOKに体系的にまとめられているのでそれは頭に入れてください。そのうえで、データ分析によるビジネス価値創出のための、筆者の経験に基づくデータマネージメント課題の解決のためには、自由と統制のバランスをとることだと考えます。これにより、従来、繰り返しているデータマネージメントの失敗を乗り越え、自己組織的に育つ企業・組織のデータ分析文化の醸成にようやく一歩を踏み出せることになります。 データ分析者の自由度を最大化する(ITシステム部門がボトルネックにならないようにする) あらゆるデータソースに自由にアクセスできるようにする。データの種類や利用目的によって最適なデータ格納方法は変わる。どのような形式でデータが格納されていてもデータ分析ツールから自由にアクセスできるようにすることが重要

Analytics
0
データ分析効率化の秘訣:SAS ViyaとAzure Synapseの高速データ転送方法の紹介

1.背景 データ管理と分析の世界では、効率的かつ迅速なデータの転送と書き込みは極めて重要です。特に大規模なデータウェアハウスサービスを利用する際には、このプロセスの最適化が不可欠です。Azure Synapse Analyticsは、そのようなサービスの一つとして注目を集めており、SAS Viyaを使用する多くの企業やデータアナリストも、より効率的なデータハンドリングを追求しています。 SAS ViyaのユーザーはSAS/ACCESS to Microsoft SQL Serverを使用してAzure Synapseにデータを転送および書き込む際に、より高いデータ書き込み効率と転送速度を求めるのは当然です。データ処理能力をさらに強化し、書き込み効率を高めるために、SAS Access to SynapseのBulkLoad機能は非常に優れた選択肢です。BulkLoad機能はデータの書き込み速度を大幅に向上させるだけでなく、Azure Data Lake Storage Gen 2(以下、ADLS2と称する)を利用して、安定かつ安全なデータストレージおよび転送環境を提供します。 ただし、BulkLoad機能を使用する際にはADLS2の設定と構成が関わってくるため、構成および使用のプロセスが複雑に感じられたり、疑問が生じたりすることがあります。このブログの目的は、管理者およびユーザーに対して、明確なステップバイステップの設定プロセスを提供し、構成の過程で見落とされがちなキーポイントを強調することで、設定時の参考になるようにすることです。 以下は本記事内容の一覧です。読者は以下のリンクをで興味のあるセクションに直接ジャンプすることができます。 2.Bulkload機能について 3.BULKLOAD機能を利用するためのAzure側で必要なサービスの作成 3-1.Azure Data Lake Storage (ADLS) Gen2のストレージアカウントの作成 3-2.ストレージアカウントのデータストレージコンテナの作成 3-3.ストレージアカウントの利用ユーザー権限の設定 3-4.データ書き込み用のSASコードの実行 3-5.Azureアプリの設定 4.SAS Viya側の設定とAzure Synapseへの接続 4-1.SAS Studioでの設定 4-2.Azure SynapseのSQLデータベースをSASライブラリとして定義 4-3.Azure Synapseへデータの書き込み 2.Bulkload機能について なぜSAS ViyaがBulkload機能を使用してAzure Synapseに効率的にデータを書き込む際にADLS2サービスが必要なのか、そしてそのプロセスがどのように行われるのかを説明します。 Azure Synapse Analyticsは、柔軟性が高く、高いスループットのデータ転送を可能にするために、COPY

Analytics | Data Management
小林 泉 0
ガウディとサグラダ・ファミリアに学ぶデータ分析基盤アーキテクチャのための原則

前回の筆者ブログ「STEAM教育の進化にみるAI活用に必要な芸術家的思考」において、AI/アナリティクス時代に芸術家的思考が必要だという話をしました。今回はその派生で、AI/アナリティクス時代に作られるデータ分析基盤の作り方について、「時間をかけて大規模に創造する」という点で類似している建築物、そのなかでも、自然摂理・数学・幾何学と芸術を融合された象徴としてのサグラダ・ファミリアとその大部分の設計を担ったガウディの考え方に学んでみようと思います。 ガウディとサグラダ・ファミリアの特徴 終わりがなく常にその時代の人によって継承され・作り続けられる ガウディは、サグラダ・ファミリアを完成という終わりを目指さないものとして考えていたそうです。教会という性質や、建築費を寄付で賄うという性質もあり、またガウディが世の中に残したかった、「象徴」として、建築物の完成・利用されるというアウトカムではなく、時代時代の人々が建築に携わり続けることで象徴としての役割をもたらすことをアウトカムとしたということだと私は個人的に解釈します。これは、誰かが作ったものを使うという一方的な関係性を超え、インクルージョンすなわち関与するという関係性をもたらします。 サグラダ・ファミリアの建設はゆっくりと進む。 なぜなら、私のクライアント(神)は完成をお急ぎではないからだ by ガウディ 自然摂理と数学・幾何学に基づく美しさ サグラダ・ファミリアの棟の形は放物線です。ネックレスを想像してみてください。長さや幅を変えると様々な放物線になることが分かると思いますが、そのような「逆さ実験」を繰り返しそれをさかさまにしてあの様々な棟の形になっています。これは、ガウディが何事も自然法則に基づくべきという考えに基づいています。 放物面は幾何学すべての父 by ガウディ 継続のための象徴性の維持 サグラダ・ファミリアは建築費を寄付に依存しています。そのため継続的に人々・社会の関心を惹き続ける必要があります。 サグラダ・ファミリアの思想に学ぶ、活用されるデータ分析基盤アーキテクチャに役立つ原則 原則①レジリエンスー蓄積するデータは常に変化する 「どのようなデータを蓄積しておいたらいいですか?SASさんの経験に基づいて教えてください」 「いま取得できるデータを全部蓄積しようと思うんです。あとでどれが必要になるかわからないから」 このようなお話をよくお聞きします。データ活用ニーズはマーケットの変化、競合他社の変化などによって刻々と変化していくため、利用データのニーズを気にすることは浸透していますが、一方で見落としがちなのは以下の2点です。 過去のデータは過去しか表していない。たとえば売上データ一つとっても、それは過去の自社の行動・意思決定の結果でしかなく、役に立つときもあれば、目的によっては全く役に立たない場合もある。 今得られているデータや分析に利用できそうなデータは今のテクノロジーで得られうるデータ、今のテクノロジーで分析しうるというデータにすぎない。将来テクノロジーの進化によって、新しいデータ、新しいデータ粒度が取得できるようになったり、また分析テクノロジーの進化によって想定してなかったデータが利用価値を生み出したりする可能性もある。 この2つの前提にたつと、どのようなデータをためるべきかという議論が意味がないわけではありませんが、「それほど」意味がないということが分かると思います。それよりは、システムアーキテクチャの原則として、将来、データのVolume, Velocity, Veriety に対応できるように硬直化しないことに、より注意を払うことが重要です。また、蓄積しておいたデータが結果的に使われないということもあるかもしれませんが、そのこと自体を失敗としてシステムの価値評価としては用いるべきではありません。重要なことはそのような重要でないデータが認識されたときに素早くストレージコストを低減するようなアクションができるという俊敏性なのです。それは最近のはやり言葉でいうと、レジリエンスと言ってもいいかもしれません。 原則②アーキテクト担当は芸術家的思考が大事 筆者自身、これまでデータ分析基盤システムのアーキテクチャを何度も担当してきました。そしてアーキテクトを育てる際にいつも言っていた言葉があります。「アーキテクチャは機械的に決まるものではないよ。意思だよ意思。あなたがやりたいように決めていいんだよ」いま思うと、STEAM教育に新たに加えられた芸術家的思考を唱えていたことになります。もちろん基本的な知識や経験に基づいたうえでですが、なかなか自分勝手にアーキテクチャを決めていいと思っているアーキテクト担当者も多くなく、結果として、様々な過去のしがらみに忖度したスパゲッティ状態の新システムが出来上がることも少なくありません。そのような結果にならないためには、その企業・自分たちの組織・自分自身ととことん向き合って、全体アーキテクチャにその思いを込める、ということが重要になってきます。もちろんコーチとしてはこのアドバイスの仕方では不足でして、もっと言語化してアクショナブルにしないといけないとは思いますが。 0から独創性は生まれない by ガウディ 原則③アーキテクチャ図は美しく 図やダイアグラムで人に何かを伝えるためには、見る際にそれを阻害する雑音となる不要な情報を削り本当に必要な情報のみに研ぎ澄ますという最低限のことだけではなく、見たいという気持ちにさせたり、見てみようと思わせたり、ちゃんと見ようと思わせたり、あるいは言語的な情報理解だけではない、感情を引き起こさせることで正しく記憶されます。幾何学的な対称性などのバランスを整えることは、「本日はお集まりいただきありがとうございます」に匹敵する挨拶レベルの基本行動規範です。さらには、複雑なアーキテクチャと向き合う場合には、数学的・幾何学的な視点で眺めなおすことで、構成要素が変わらなくても、アーキテクチャ図としてのエントロピーを低減し、構造の整理をすることで、オーディエンスの正しい理解・伝達コストを低減することが可能です。また、そのようにできる限り美しさを追求することで、逆に多くの部分が視覚情報として自然なものとなる、すなわち無の情報となることで、本質的に最も注目すべきポイントにオーディエンスの目を向けさせることができます。 原則④アーキテクチャの思想定義が重要 これは、上述の芸術家的思考と関連しますが、いわゆる芸術作品を評価した文章のような、背景・アーキテクトの思いなどをシステム設計思想として言語化し文書化して受け継いでいくことが重要です。芸術作品と同じように、作品=システムだけでは、作者がどのように自己と向き合い、世の中を見て、どのような思想で創造したのかを把握することは難しいです。サグラダ・ファミリアは未完成部分のガウディによる設計書が失われたため、現在の関係者たちはガウディの思想に基づきながら設計をしています。同様に、データ分析基盤システムが変化し続ける中担当者は変わっていきますが、システムの変更・改修の際にその「思想」に基づくことで、一貫性・効率性・投資対効果・透明性を高めることができるでしょう。 原則⑤アーキテクチャの思想定義の象徴化が重要 象徴化というと小難しい印象になりますが、データ分析基盤の「モットー」や「ビジョン」を常に発信していくということです。最近筆者が耳にした良いなぁと思った例を2つほどご紹介します。この2つの例では、情報システム部門のトップが常にこのワードを取引先ベンダーにもユーザーサイドにも宣伝していることが重要です。あらゆるステークホルダーがこのモットー、ビジョン、象徴に軸足を置くことで、そこからさまざまな提案・理解が派生するものの、このシステムに対する取り組みを将来に向けて継続・推進することに大きく役立っています。 「システム部門がボトルネックにならないセルフサービス化」 昨今、セルフサービスばやりですが、このフレーズにはユーザー部門からの並々ならぬプレッシャーと、それにこたえることがIT部門の使命だという企業としての一体となったデータ活用戦略が表現されており、様々な提案活動・意思決定の原則として非常によく機能しています。これによってステークホルダーが一丸となって、同じ世界を目指し続けることを可能としています。 「バッチ処理だけではなく真のリアルタイム処理にも同時に対応したシステム」 ビジネスにおいては、常に新しい技術・知識を関連付けて新しい商品やサービス、ビジネスプロセス、市場を創造していく必要がありますが、ITやAI/アナリティクスが主役の昨今、情報システム部門がそのような新しい技術・知識をユーザー部門に提案することが、外部ベンダーに頼らず自社内でスピーディーにイノベーション・トランスフォーメーションしていくうえで重要になってきます。ITの観点でいち早く世界中の情報を収集し、新しい技術を試し、ユーザー部門からのリクエストにリアクティブに備えるというよりは、プロアクティブに提案していく、こうすることで、データ分析基盤の位置づけや価値を確固たるものにし、継続的な進化をするものとして、持続的な成長をしていくことが可能になります。 原則⑥走りながらの変化を前提とする 筆者は、芸術の創作活動に詳しくありませんが、想像するに芸術作品の多くは、ウォーターフォール型ではなくアジャイル型ではないでしょうか。下書きを何度も繰り返したり、小さな単位の作品を小出しにしたりしながら、最終的にそれらの集大成として一つの大きな創造物が作られることが多いように見受けられます。場合によっては、その時代時代のトレンドに左右されながら、その一連の創造活動が行われる場合もあります。何事もそうですが、アイディアはエクスポーズしてフィードバックを得ながらブラッシュアップすることが最短経路での最大効果を生み出すことが多いです。データ分析基盤も同様です。まずデータを蓄積してそれが完了したら使ってみるというのをシーケンシャルに行おうとするケースがいまだ散見されます。蓄積してみた直後に、「使いたいデータがなかった」という事件は実際に起きています。なので、これはお勧めしません。データの価値は蓄積ではなく活用して始めて判明するからです。使ってもらって修正して、というフィードバックループを早く回して軌道修正をこまめに繰り返しながら進むことが重要です。 あらためて、Think Big, Start Small アナリティクスの世界では古くからある使い古された原則です。以前は、データ活用成熟度が高い企業のみがアナリティクスへの投資に踏み出していたため、他に参考にする企業もあまりなく、弊社がグローバルの知見や海外の先進事例や経験に基づいてお手伝いをしながらも、お客様自身でとことん考えビジョンを掲げ、少しずつ成果を出しながら投資を継続しながら、適用ビジネス、人材、組織共に、徐々に規模を拡大していくというやり方が主流でした。つまり芸術家的思考がやはりその根底にあったと言えます。 一方で、昨今AIブームの中AI市場が急速に拡大し、多くの企業がデータ活用に踏み出しています。そのため巷では、成功例・失敗例があふれ、それを参考にすることで、データ分析のビジネス活用に、組織的・人材育成的、IT投資的に、何か初めから答えがあるかのような錯覚をし、自社をとことん見つめたうえでのビジョンがないままに、手段が目的化し、組織化や人材育成あるいはデータ統合基盤の構築からスタートしようとしているケースをよく見かけます。その結果、人材育成は出来たはずなのにデータ活用によるビジネスの成果につながっていなかったり、データ統合基盤は出来たのに使われていない、データサイエンス組織に人材は集めたが具体的なビジネス適用につながらないといった結果に陥っているケースも見られます。会社の戦略が、自社のXXXというコアコンピテンスに基づき、XXXのようにビジネスを変革する、というものではなく、単に「データドリブン組織になる」「データドリブン経営をしていく」という手段が目的化しているときに、そのような思わしくない状況になるようです。 データ分析基盤のアーキテクチャもそうですが、今一度終わりのないこのデータ活用の取り組みに、ガウディがサグラダ・ファミリアに込めた戦略=芸術家的思考を参考にし、企業・組織の血となり骨となるデータ活用の取り組みの位置づけを考えてみるのはいかがでしょうか。

Analytics | Students & Educators
0
SASによる因果推論:PSMATCHプロシジャによる傾向スコアマッチング

はじめに 因果効果の推定手法の1つである傾向スコアマッチング、およびSASでの実装方法について紹介します。傾向スコアマッチングのSASでの実装にあたっては、本記事ではSAS/STAT 14.2(SAS 9.4)で追加されましたPSMATCHプロシジャを使用します。因果推論の基本的な枠組みや傾向スコア・傾向スコアマッチングの統計的理論については、詳しく解説を行いませんので、そちらに関心がある方は書籍等を参考にしていただければ幸いです。 理想的なランダム化比較試験においては、ランダム化により治療群と対照群間で測定・未測定の交絡因子(confounders)の分布が期待的に等しくなるため、単純な群間比較によって治療(介入、曝露)の興味のあるアウトカムに対する効果を評価することが可能です。しかし、ランダム化が行われなかった実験研究や観察研究のデータから因果関係を見出そうとする場合には、一般に交絡(confounding)と呼ばれるという問題が生じます。これは簡単に述べると、治療群と対照群で集団の特性が異なることで2つの集団が比較可能ではない状況、治療群と対照群でのアウトカムの違いが治療だけではなく集団の特性の違いにも依存する状況を意味しています。つまり、ランダム化が行われなかった実験研究や観察研究のデータから因果効果を推定する際には、交絡を十分に制御した上で群間比較を行う必要があり、世間一般で因果効果の推定手法と呼ばれるものは、交絡を調整方法する方法だと認識していただいてよいかと思います。因果効果の推定手法は回帰や層別化、標準化など様々なものがありますが、本記事ではマッチング法に注目します。マッチング法は、治療群と対照群から類似した特徴を持つ被験者をペアとし(マッチングさせ)、マッチした対象集団において治療を受けた群と受けなかった群を比較するという方法です。  ただ、一言にマッチング法と言っても複数の交絡因子(共変量)の情報をそのまま用いる「共変量マッチング」と、共変量の情報を傾向スコアという一次元の情報に落とし込んだ上でマッチングを行う「傾向スコアマッチング」という2つの方法に大きく分かれます。初学者にとっては前者の方がより直感的な方法かと思いますが、共変量が高次元である場合や変数のカテゴリ数が多い場合にはその実施が困難になります。そのような場合にしばしば用いられるのが後者の傾向スコアマッチングです。マッチングには、治療群と対照群の構成比率やマッチング方法など様々なオプションがありますが、傾向スコアの分布が同じ(治療群と対照群が交換可能)であるmatched populationを作成するというのが共通の考え方です。また、傾向スコアマッチングの実施手順は連続である単一の共変量を用いた共変量マッチングと同様であり、大きくは以下のような手順となります。 【傾向スコアマッチング法のステップ】 共変量の特定、測定 傾向スコアのモデル指定、傾向スコアの推定 マッチングアルゴリズムの決定、マッチングの実施 マッチングした対象者で構成された集団(matched population)における治療群と対照群での交絡因子の分布評価 4.で評価した共変量が不均衡である場合には2.に戻る 群間比較の実施 推定結果の解釈   記法と仮定 記法 以下の記法の下で傾向スコアマッチングに関する議論を行います。アルファベットの大文字は確率変数を、小文字はその実数値を意味するものとします。なお、以降でボ-ルド体としている場合は単一の変数ではなくベクトルであることを意味しているものとします。 A:二値の治療変数 Y:観察されるアウトカム Ya:潜在アウトカム X:共変量(一般にはベクトル) 仮定 本記事では以下の識別可能条件を仮定します。理想的なランダム化比較試験においては研究デザインによってその成立が認められますが、観察研究ではあくまで”仮定”となります。つまり、その成立を認めることが妥当であるかどうかの議論が別途必要となることにご注意ください。また、各条件の詳細や意図する内容については本記事では取り扱いませんので、他の記事や書籍等をご参照ください。 【識別可能条件 (Identifiability assumptions) 】 一致性 (consistency) If Ai = a, then YiA = Yia = Yi  特にAが二値であるとき、   Yi = AYia=1 + (1-A) Yia=0   条件付き交換可能性 (conditional

Analytics
SAS Hackathon 2023 / チームZEAL参加報告

本記事では、ZEAL - Analysis and Projections of the Japanese Economyについて、チームメンバーに直接お話を聞き、背後にある思いやチャレンジなどについて解き明かします。 SAS Hackathon 2023 参加の背景 SIerであるZEALには、データアナリスト・データサイエンティストといったロールで働く社員は現状まだ多くはない。しかし今後はそういった人材を増やし、データ活用の世界に進出していくという目標を掲げている。 SAS Hackathon開催の知らせを受け取ったとき進むべき道が定まった。部内でプレゼンを行い、SASの取り扱い経験を問わず、興味を持った社員でチームZEALを結成した。 それがハッカソン開催の約1年前でした。そして半年前頃からテーマを何にするかチーム内で議論してきました。 SDGsをキーワードに、カーボンフットプリントを可視化することでCO2排出量を減らす事に貢献する、であったり、今後人類が必ず直面する喫緊の課題で身近な問題でもあり必ず解決する必要がある問題でもある食料問題に取り組む、など様々な案が出た。 最終的に定まったテーマは、「不確実性を消し去ることで、新型コロナのようなアウトブレイクに対して飲食業界が効果的な対策を立案できるよう支援すること」になった。当初は有価証券報告書による企業業績の変動をコロナ前とコロナ後で比べていく方針だったが、データ数が少なかったため断念せざるを得なかった。そこで、ある程度データ数が確保できる家計の支出データを使うことにした。 やはり当初から食料問題に取り組むという案が出ていたことと、コロナのようなパンデミックの影響が強く出た分野であったため、飲食業界を選択しました。家計の外食支出の変動から、間接的に飲食業界の隆盛を予測する、というものです。 コロナによる影響の強弱について念のため全産業分野を網羅的に確認した。ここでSAS Viyaの機能が役に立った。コロナの影響が特に大きかった産業分野は、飲食、交通(航空)、教育・娯楽だった。中でも交通(航空)は飲食業以上に影響が大きかった。しかし交通(航空)はテーマには選ばなかった。食糧問題に取り組むという基本方針があったからだ。 SAS Viyaは統計的知識がそこまで無くても十分に扱え、確実に結果を出すことができました。これはZEALが得意とする、「可視化によるインサイトの引き出し」というアプローチにもとてもフィットしていました。操作性も他のBIツールと比べて特段難しいというわけではなかったので問題はありませんでした。 ハッカソンに取り組む上で直面したチャレンジ 当初使用を想定していた有価証券報告書データのデータ数が時系列予測をするうえで足りないということが途中で判明したため、そこから別のデータを探し出す作業に急遽取り組む必要があった。3,4日で新しいデータが見つかった。 この部分はテーマ選定の際にも問題になりましたが、テーマはいろいろ考えられたとしても、それに必要なデータソースを集められなければ実際には分析を進めることができません。使えるデータの種類によって、取り組めるテーマが決まる、という側面がありました。 幸いZEALのサービスに、CO-ODEという日本の政府・自治体が出しているオープンデータを集積したデータベースがあり、そこに分野別家計支出データがあったので使うことにした。   具体的な取り組み内容 2つの時系列予測モデル 時系列予測モデルを2つ用意し、2つのモデルの予測値の差分をパンデミックの影響度合いとして可視化した。 つまりは、2019年12月末までをパンデミック前期間、2020年1月以降をパンデミック後期間とし、パンデミック前期間のデータで訓練したモデルをパンデミック前モデル、パンデミック後期間のデータで訓練したモデルをパンデミック後モデルとし、両者同じ将来期間のデータに対して予測をさせたうえで、その予測値の差分を取りました。 パンデミック前モデルとパンデミック後モデルの作成はいずれもSAS Viya Visual Forecastで複数のモデルを作成し、その中から精度が最も良いもの(=チャンピオンモデル)を選ぶという方法を採用した。いずれもチャンピオンモデルは、季節性モデルが選ばれた。 この辺り大変な作業のように聞こえますが、全てSAS Viya Visual Forecastによって自動処理されるのでとても簡単でした。 データの加工・整形で一工夫 必要なデータは全てCO-ODEから得ることができたが、データの加工・整形に多少の工数が必要だった。 CO-ODEの最大の売りは網羅性で、様々なソースからデータを手当たり次第かき集めてきています。使い方は使う人によって千差万別、逆に言うと使い方によってはひと手間かける必要があります。今回特に問題になったのは、時間粒度の違いでした。 データソースによって四半期粒度のもの、日次粒度のもの、と様々だったが、最終的に、月次粒度で統一した。四半期粒度のものは内挿によって月次粒度に変換した。 そこは少し試行錯誤が必要でした。一方データのETLに関しては、CO-ODEからはCSVがそのまま取り出せるので、それをそのままViyaにアップロードするだけで済みました。 成果 パンデミックによる影響を、予測値の差として可視化することに成功した。これは将来また別のパンデミックが起きたときにも参考値として利用できるものだ。 また、直接的な成果というわけではないのですが、ハッカソンを通して普段関わりのない社員同士が初めて関わりを持つようになり、社内のコミュニケーションが活性化しました。これは思わぬ収穫でした。 展望

Analytics
小林 泉 0
STEAM教育の進化にみるAI活用に必要な芸術家的思考

遅ればせながら、最近STEMがSTEAMになっていることに気づきました。ここ数年でAI/アナリティクスブームの中、アナリティクスを活用し始めようとする企業が増え、どのような人材を配置すべきかという悩みをお聞きする機会が増えていますが、この、STEM⇒STEAMの進化についても、なるほどなと思うので簡単に整理してみます。   私は数学、科学、自然の間の相互接続性に常に興味を持っていました。私は空間の曲線、特に円弧や螺旋を探索するのが好きです。私はアーチの形而上学的な側面にも惹かれます。野原の真ん中にアーチを設置すれば、人々はわざわざそこを通り抜けようとするでしょう。アーチの下を通過することは変革的であり、あるものから別のものへの象徴的な変化です。それに抵抗することはできません。 (彫刻家のミカジャ・ビアンヴェヌ氏) 以前からあるSTEM教育とは STEMとは、多くの方がご存じの通り、Science, Technology, EngineeringそしてMathematicsの頭文字をとったもので、第四次産業革命のこの世の中をけん引する人材教育に必要な要素を並べています。アナリティクスの世界に長年身を置いてきた筆者の立場から、各要素に日本語訳を付与すると以下のようになります。教育の専門家からすると正確性に欠けるかもしれませんがご容赦ください。 Science-科学的な論証や根拠づけ推論をする科学的な思考(方法論) Techonology-創造物の構成要素および構成要素を作り出すための道具(道具) Engineering -創造物を作り出す実用的な実践(実践力) Mathematics-創造物の特徴の論理的な表現方法(測り方) 新しい工学製品やITシステムを想像するためには、これらを総合的に学ぶことが重要だという考え方です。大学ではもともとそれぞれの専門領域を突き詰めて研究するという考えで、サイロ化された学部・学科・研究室が作られてきました。もちろんそういった方向での探求はそれはそれで必要です。一方で、何か新しいものを創造するという目的を志向した場合には、「総合力」が必要になるということです。20年以上前ですが、筆者が大学生のころに、「総合学部」が世の中に登場し始めたのもこういう背景なのだと思います。 最近進化したSTEAM教育とは 近年、STEM教育にAを足した方が良いという流れになってきています。AはArtだけではなく、Liberal Artsも含むと言われますが、Liberal Artsをここに入れてしまうと全体の構造が分かりづらくなってしまうので、ここでは、Artすなわち、芸術家的思考が追加されたとします。 なぜ追加されたのでしょうか? 芸術家的思考とはそもそも何でしょうか?もちろん私たちが良く知る芸術は、斬新な視点や考え方で何か新しい表現をされたものに芸術性を見出すことが多いと思いますが、本質的には芸術家は、「自己の探求」です。それを象徴性をもって表現しているのだと思います。 つまり筆者が考えるに、新しい創造物、つまり既存の知と知を掛け合わせたイノベーションは、当然ながらSTEM教育を受けたところで機械的にできるものではなく、創造者の思いと象徴性が大事だということではないでしょうか。 AI/アナリティクスを活用したビジネス成長には、芸術家的思考が大事 ビジネスの世界でAI/アナリティクスを活用し持続的な成長をするためには、AI/アナリティクスをどのような目的で活用するかによって、その成果は種類が異なります。 ストラテジック - 将来の成長のため、収益最大化のための方向付けをする。(全社規模の収益最大化) タクティカル - ストラテジックな取り組みを実践する計画を立てる(事業部単位の計画) オペレーショナル - タクティカルな計画の通りに機会損失なくビジネスを遂行する(計画通りの遂行) より詳細は、こちらの筆者のブログ「そのデータ活用は攻め?守り?」を参照してください。 この3つのうち、単なる過去の実績の延長ではなく、非連続な将来の成長や収益最大化を担うのは、「ストラテジック」の領域です。不確実性の高まる世の中において、将来の予測的シミュレーションによって透明性の高いよりよい意思決定を行おうとしたり、あるいはイノベーションや、トランスフォーメーションによって過去の単純な延長としての予測ではなく、新たな市場・商品やサービス・ビジネスプロセスを生み出し、競争優位な未来を作り出す活動です。 この活動において大事なのは、他社の見よう見真似であったり、単に現在の市場ニーズだけに基づくのではなく、自社のコアコンピテンシーをとことん見つめ、自社独自の将来持続可能な戦略を打ち出すことです。これはまさに芸術家的思考にほかなりません。過去の経験を活かしつつも、過去や現在に構築された既存の枠組みにとらわれない視点・思考によって、自社あるいは社外にある既存の知と知との関係を見つめることで初めてあらたなイノベーションへとつながります。さらに、持続的という点に焦点を与えるとやはりここでも芸術の要素「象徴性」が大事になってきます。 「問題や仮説」に対して客観性や透明性をもって取り組むためには、科学的思考・数学的思考などは不可欠です。一方で、その「問題や仮説」を定義することは、道具や手段、方法論からは発生せず、芸術家的思考が必要になってきます。SASが大切にしているもの、「アナリティクス・ライフサイクル(*1)」の出発点が「問い」であること、そして、すべては「好奇心(*2)」からスタートするという考え方もまさに似たような話です。 次回は、この芸術家的思考がデータ分析基盤システムの構築にとても重要であることの話をしたいと思います。 *2) プレスリリース:SAS最新グローバル調査:「好奇心」というスキルの重要性が高まる大退職時代

Analytics
SAS Hackathon 2023 / チームCTC参加報告

本記事では、Critical Thinking Crew - Health Monitoring to Prevent Solitary Deathについて、チームメンバーに直接お話を聞き、背後にある思いやチャレンジなどについて解き明かします。 SAS Hackathon 2023 参加の背景 チームCTCのリーダー福永氏にとって今回のSAS Hackathon参加には特別な思いがあった。福永氏の個人的な活動として取り組んでいるプロボノを通して、孤独死にまつわる社会的課題があることを認識していたからだ。 日本では孤独死する人が年間25000人を超えていて、遺体が発見されるまでに平均2週間以上かかり、発見時に腐敗が進んでいることも多いそうです。これは高齢者の課題と捉えられがちですが、現役世代の孤独死も4割近くあるという報告があります。この社会的課題に取り組むという構想を2022年末頃から抱き始め、ソリューションの中身を漠然と考えていました。 それとは別にスマホカメラで脈拍を計測する手法があることを知った時、彼の頭の中で課題とソリューションが繋がり、構想が具体化し始めた。そこにタイミングよくSAS Hackathon開催の知らせが届いたためエントリーすることにした。 所属する部署においても企業のESG分析などに携わることもあり、ソーシャル・グッドのための活動としてハッカソン参加は会社も後押ししてくれました。 エントリー部門はヘルスケア&ライフサイエンス部門になった。福永氏にとって今回が3回目のSAS Hackathonの参加となった。1回目では数値データを、2回目ではテキストデータを扱ってきたが、3回目の今回では画像データを扱うことになった。 ハッカソンに取り組む上で直面した様々なチャレンジ 繁忙期と重なってしまった メンバー全員が非常に繁忙なタイミングと重なってしまったため、登録したあとにしばらく活動ができず、着手できたのは締め切りまで1か月を切ってからになってしまった。 結果的に最後の2週間でなんとか作り切ったという感じです。メンターさんが何度か相談会を設けてくれたこともあり、色々と困りごとを相談できましたし、良いペースメーカーになりました。 画像認識技術の習得と専用環境の準備 画像認識専門のエンジニアがメンバーにいなかったものの、画像認識に関するSASのブログとオープンソースの専用のライブラリを駆使して何とか乗り切った。まずは画像認識に関する知識を習得することろから始めた。 物体検知モデルのチュートリアルで骨格推定のやり方を学びました。遠回りのようで実はそれが一番手っ取り速かったと思います。 顔色から脈拍を推計する手法に関しては公開コードを探して利用することにした。姿勢推定のためのモデル訓練が短時間で収束するような工夫もした。また通常は必要になる環境構築のための工数を、Google Colaboratory(WEBブラウザ上で機械学習を実行できるサービス)を利用することで大幅に削減した。 また当初物体検知モデルをファインチューニングするうえで、与えられた環境とは別の環境を構築する必要がありました。そこはGoogle Colaboratoryを導入することで難なくクリア出来たのですが、GPUで事後訓練した後の物体検知モデルをCPU版に変更する部分でエラーが多発して大変でした。 その他、今回使用することにした物体検知モデルをSASとインテグレーションする部分の経験が無かったため新たな経験を得ることとなった。 具体的な取り組み内容 スマホで撮影した動画を利用 スマホで自身を撮影することで姿勢やバイタルを推定し、危険な状況になったら友人・家族に通知する自衛ツールを開発した。 一般的な見守りサービスですと、器材の設置や、知らない人に監視されている感じに抵抗感がある人が多く、特に比較的若い層にこの傾向があるとプロボノの活動を通して聞いたことがあります。そこでスマホを利用することにしたんです。 次に姿勢推定のための物体検知モデルをSAS Viya上に搭載した。スマホで撮影した動画から姿勢の状態を推定できるものだ。加えて、顔色の微妙な変化を波形から捉え、心拍数を推定した。最後に、姿勢と心拍数から、「倒れている」かつ「心拍数が極端に低い」等の閾値に該当する場合にアラートを発出する仕組みを構築した。 物体検知モデルの訓練とバイタル判定ルールの作成 使ったデータは2種類ある。まず物体検知モデルの事後訓練に必要な画像データについては、CTC社内にあった画像データを利用した。最終的に厳選した1500枚でモデルの事後訓練をした。 事後訓練には画像のアノテーションが必要だった。アノテーション作業の内容は、映っている人物を四角い枠線で囲い、囲われた人物がどのような姿勢でいるのか注釈を付ける、というものだ。姿勢の種類は全部で4種類、立っている、寄りかかっている、座っている、倒れている、の中からアノテーション作業者が手動で選択することになる。 そこは子会社のCTCひなり株式会社の障がい者スタッフさんの助けを借りることができ、大幅な工数削減を実現できました。1500枚のアノテーション作業を1週間で完了してもらえました。 脈拍の低下の推定に必要な心拍データについては、オープンデータを利用した。このデータは寝ている状態から運動して休息するという一連の流れを時系列で保持する波形データだ。 「こういう状況でこういう数値であれば生存を疑うレベルに該当すると言って良い」というルールを作るためにこのデータを用いました。心拍データのクレンジング作業には、Viyaのデータ準備機能を使いました。こちらはGUI上で簡単に実行できました。 成果 孤独死抑止ユースケースとして開発したが、事務作業員や建築現場の作業員のヘルスチェック、大規模災害時のトリアージ支援等、多くの応用例が考えられる。結果として技術部門賞を受賞することができた。 非常に名誉なことで会社のみんなや家族・友人もとても喜んでくれました。また、安定したViya環境を好きなだけ触れたことも大きな収穫でした。普段の業務では中々使うことのない機能を使うことができ、勉強になりました。 展望

Analytics
SAS Hackathon 2023 / ハッカソン紹介

Hack SAS! SAS HackathonはSAS社が毎年春に開催する完全オンライン開催のハッカソン・イベントです。参加チームは開催期間の1か月間を使って、自分たちで設定した社会課題やビジネス課題を、SAS Viya(および任意のツール)を使って解決に導きます。エントリーできる部門が複数用意されており、参加チームによって選べるようになっています。2023年は部門が計10個あり、部門ごとの賞に加え、技術賞、特別賞、地域賞の3つの部門横断賞が用意されました。各賞ごとに個別の審査基準が設けられているため、技術レベルを高めるのも良し、ビジネスインパクトを狙いに行くのも良し、等々様々な戦い方があり得ます。なお審査は部門ごとにSAS社員から選ばれたインダストリ・エキスパートが実施するため、常に適正な評価が期待できます。 今年は世界各国から130チーム以上がエントリーしました。受賞チームは9月開催のSAS Exploreに招待されました。その他ハッカソンについての詳しい内容については、EnterpriseZine編集部による日本語のSAS Hackathonについての紹介記事もありますのでご興味があればご覧ください。 ところでSAS Hackathonは他のハッカソン・イベントと比べてどんなところがユニークなのでしょうか?よくあるハッカソン・イベントでは、特定のツールの使い方を試行錯誤を通して学ぶ、であったり、新しいサービスやアプリケーションの開発、などが目的になっていますが、SAS Hackathonでは以下3点を主な目的にしています: ビジネス課題の解決 Data for Goodの観点から、データ分析の結果をより良い社会の実現のために使ってもらう(データ活用による人道支援や社会課題の解決) データリテラシーを備えた人材の育成・輩出・ネットワーキング そしてこれらの目的の先にあるもの、つまりはアプリケーションの開発およびサービス化といった段階における商業化の支援もSAS Hackathonで行います。もちろん、知的財産は参加者が保有します。 様々なオモテナシ 以上の3つの目的を達成するために重要な要素の一つが、組織の垣根を越えたコラボレーションの実現です。その実現を手助けするため、全世界のSAS社員が様々な工夫をして参加者をもてなします。オモテナシ駆動型ハッカソン・イベント、それがSAS Hackathon、と言っても過言ではありません。ではどのようにしてSAS社員はSAS Hackathonの参加者をもてなすのでしょうか? メンターによるオモテナシ イベントにエントリーしたチームにはそれぞれメンターが付きます。メンターはSAS製品やデータ分析に詳しいSAS社員から選ばれ、チームが成功裏にハッカソンを終えられるようサポートします。分からないことがあったら何でもメンターに質問できます。 学習コンテンツによるオモテナシ 普段は有償で提供されているSASのラーニング・コースやオンデマンド学習コンテンツが、ハッカソン期間中は参加者に無償で提供されるため、技術的なキャッチアップやデータリテラシーの習得がやり易くなっています。 分析環境によるオモテナシ 分析環境も無償で提供されます。既に構築済みですぐに使えるSAS Viya環境を使って直ちに分析を開始できます。そこにはJupyter Hubも入っていてPythonやRが使えます。環境構築の手間が要りません。その他、アプリケーション開発を簡便に行うためのツールなども提供されます。詳細はこちらのページをご覧ください。それ以外のツールを使いたい場合は、参加チーム自身で準備することになりますが、基本的にどんなツールを使ってもOKです。 フォーラムによるオモテナシ また、参加チームはSAS Hacker's Hubで他の参加チームと交流したりディスカッションすることができます。参加者同士のネットワーキングの場にもなっています。 自由闊達なムード醸成によるオモテナシ SASと聞くと少々お堅いイメージを持たれる方も多いかも知れません。しかし近頃のSAS社員はオレンジ色のSAS Hackathonフーディーを着て、課題解決のためのコラボレーションの重要性を表現したラップを歌います。   It's more than a competition It's your story told, the goals that

Analytics
0
~複雑なタスク制御、シンプルな管理~SAS Workload Orchestratorの機能紹介(一)

一、背景の紹介 過去のSAS Viya機能紹介のブログで、クラウドネイティブアーキテクチャを採用したSAS Viyaのユーザーのワークロードのリソース管理の仕組みと方法を紹介しました。これらの機能のほとんどはKubernetesの特徴や機能によって実現されていますが、実は、SAS Viyaにはワークロードの管理を強化する特別な機能が搭載されています。この機能のおかげで、ユーザーは従来に比べてさらに高度で柔軟な負荷管理が可能となり、これによりクラウドのコストを節約し、業務プロセスをより効率的に運用することができます。この記事では、まずこの新しい機能の主な特徴や基本的な動き方を紹介します。 二、機能の特長と価値 ビジネス上の分析業務は、その実行部門や目的、優先順位、データの規模、そして使用される分析手法によって異なる性質を持っています。多様な分析タスクを一つの環境で実行する際、さまざまな問題が生じることが知られています。例えば、低優先度のタスクが計算リソースを占めてしまうこと、あるいはシステム全体に影響するようなエラー、そして計算リソースの不足や無駄などです。 このような問題に答えを提供するのがSAS Viyaの「SAS Workload Orchestrator」という機能です。ここでは、その機能の特長と価値について解説します。 1. コストとアジリティのバランスを最適化 ・キューの優先順位付け: さまざまなワークロードの優先度を定義し、重要なタスクが最初に実行されることを保証します。 ・負荷分散: リソースの使用を最適化し、タスクの適切な分散を実現。 ・Kubernetesでの実行: 現代のクラウド環境に最適化された実行環境。 ・ユーザーの中断を最小限に: 重要な作業の妨げとなる中断を避けます。 2. スループット、可用性、生産性の向上 ・最適な実行順序: 作業の効率とスピードを最大化。 ・並列処理: 複数のタスクを同時に高速で処理。 ・ワークロードの事前中断と自動再開: エラーが生じた場合でも自動でジョブを再開し、データサイエンティストの作業が中断されることなく最良のモデルの構築を続けられる。 3. 管理の簡素化 ・SASのワークロードの集中管理: ポリシーやプログラム、キュー、優先度を一元管理。 ・リアルタイムモニタリング: ジョブの進行状況やリソースの使用状況をリアルタイムで確認。 ・オンプレミスまたはクラウドでの実行: 用途や環境に合わせて選択可能。 結論として、SAS Workload Orchestratorは、高度なビジネスの要件に応じて分析タスクの実行を効率的に行うための強力なツールです。そのグラフィカルなインターフェースを通じて、リソースの一元的な管理が可能となり、ビジネスの生産性と価値を最大限に引き出すことができます。 三、「SAS Workload Orchestrator」の画面と用語定義 それでは、「SAS Workload Orchestrator」の魅力的な機能とその価値を理解したところで、具体的に「SAS Workload Orchestrator」の操作画面や用語について詳しく解説していきましょう。ぜひ参考にしてください。 1.用語定義 SAS

Advanced Analytics | Analytics | Artificial Intelligence
小林 泉 0
守りの需要予測から、攻めの収益最大化への転換をするために

データサイエンスの使いどころ・・・攻めと守りの圧倒的な違い 以前のブログで、データ活用における攻めと守りについてお話しました。今回は小売業を例に多くのデータ活用プロジェクトが陥りやすい罠と、真の目的達成のための方法についてご紹介します。 小売業の目的はもちろん他の業種企業と変わらず、収益の最大化です。昨今データ分析を武器として売り上げの最大化、コストの削減、業務プロセスの生産性向上を目指す企業が増えてきています。時には、データサイエンティストが、データサイエンスを駆使してプロジェクトを実行しているケースもあるでしょう。 ここで、今一度現在取り組んでいる、またはこれから取り組もうとしているデータサイエンスやAI活用のプロジェクトがどんな利益を自社にもたらすのかを改めて考えてみましょう。昨今、需要予測についての相談が非常に多いので、ここでは需要予測について考えてみます。 弊社にご相談いただくケースの中で、少なくない企業が、需要予測をこのブログで言うところの「守りの意思決定」としてとらえています。多くのケースで、過去の実績をベースに将来の需要を予測することで、在庫過多や欠品を減らそうというプロジェクトに投資をしていたり、しようとしています。言い換えると、過去の実績を学習データとして、将来を予測するモデルを構築し、ひとつの将来の需要予測を作成し、それを在庫を加味したうえで、発注につなげています。 手段が目的化することで見失う可能性のある本来の目的とは 非常に典型的なAI活用、データサイエンス活用かと思いますが、実は、「AIで予測」、「機械学習で予測」といった言葉で最新のデータ活用をしているかのような錯覚に陥っているケースが見受けられます。数十年前から行われており、昨今でも同様に行われている、機械学習を用いた典型的な需要予測は、「守り」です。すなわち、どんなに多くの種類のデータを使うかどうかにかかわらず、過去の傾向が未来も続くという前提のもとに予測モデルを作成している場合には、あらかじめ定義した前提・業務プロセスの制約の下で、機会損失を最小化するために予測精度をあげているにすぎません。 つまり、そのような前提での需要予測は、小売業の収益向上という観点では、期待効果が限定的であるということです。では、最終的な収益の最大化を実現するには、何をすべきでしょうか? 収益を向上させるためにはもちろんより多くの商品を売ることにほかなりません。より多くの商品を売るためには当然、顧客の購買心理における購買機会に対して販売を最大化する必要があります。あるいは、顧客の購買心理そのものを潜在的なものから顕在化したものにすることも必要でしょう。つまり、販売機会を最大限に活用するということは、店舗中心ではなく、顧客中心に考えるということです。 小売業における攻めのデータ活用の1つは、品ぞろえの最適化 このように、顧客中心に考えることで初めて最適な品揃えの仮説検証のサイクルが可能となります。過去のデータは、単に過去の企業活動の結果であり、世の中の「真理~ここでは顧客の本当の購買思考」を表しているわけではありません。真理への到達は、仮説検証ベースの実験によってのみ可能になります。わかりやすく言うと皆さんよくご存じのABテストです。このような実験により、品ぞろえを最適化することで、販売機会を最大化することが可能なります。そのプロセスと並行して、オペレーショナルな需要予測を実践していくことが重要となります。 需要予測と品ぞろえ最適化の進化 昨今、AIブーム、データサイエンティストブーム、人手不足や働き方改革といったトレンドの中で、従来データ活用に投資してこなかった小売業においても投資が進んでいます。しかし多くのケースでこれまで述べてきたような守りのデータ活用にとどまっていたり、古くから行われている方法や手法にとどまっているケースが見受けられます。歴史から学ぶことで、無用なPOCや効率の悪い投資を避けることができます。今、自社で行っていることがこの歴史の中でどこに位置しているかを考えてみることで、投資の効率性の向上に是非役立てていただければと思います。 小売業におけるデータ活用のROI最大化にむけたフレームワーク SASでは長年、小売業や消費財メーカのお客様とともにお客様のビジネスの課題解決に取り組んできました。その過程で、小売業・消費財メーカー企業内の個々の業務プロセスを個別最適するのではなく、それら個々の業務プロセスを統合した、エンタープライズな意思決定フレームワークが重要であるとの結論に至っています。AIやデータサイエンスという手段を活用し、データドリブンな意思決定のための投資対効果を最大化するための羅針盤としてご活用いただければと思います。

Analytics
0
本当の原因とは何か:操作変数法(Instrumental variable mrthods)①

はじめに 統計的因果推論における1つの達成目標として「介入を行った場合には行わなかった場合と比較してどの程度結果(アウトカム)が変わったのか」という因果的な疑問に対し、定量的に答えることが挙げられるかと思います。以前のコラムでは、こういった因果効果を数学的・統計学的に議論していくために潜在アウトカムという考え方を導入し、その値を推定していくために重要ないくつかの仮定について紹介を行いました。この因果効果の推定の手法には様々なものがありますが、次回以降のコラムで紹介をする交絡調整に基づく因果効果の推定手法 (e.g., 回帰、層別化、傾向スコアを用いた手法)では、興味のある因果効果の推定値をバイアスなく得るためには、交絡や選択バイアスの調整に必要な全ての変数が完全に特定・測定されているという仮定が成立している必要があります。この仮定はデータからその成立を検証することはできず、もしもいずれかが成立しない場合には得られる推定値にはバイアスが含まれ、いわゆる残差交絡 (redidual confounding) が存在する状況となります。現実的に仮定が全て厳密に成立するケースというのは比較的稀ですので、そのような意味では大部分の研究結果(特に観察研究)・解析結果には一定のバイアスが含まれているとみることもできるかと思います。ただし交絡調整に基づく手法がダメだと言っているわけではなく、調整が不完全ながらもバイアスを軽減することは十分に意義があり、また最終的に結果に含まれるであろうバイアスの大きさとその方向(過大評価 or 過小評価)を議論することが重要かと思います。 今回のコラムでは、操作変数法(instrumental variable methods, IV methods)という因果効果の推定手法について紹介と解説を行っていきます。この推定手法は、操作変数 (instrumental variable, instrument) と呼ばれるいくつかの条件を満たす特殊な変数を利用することで因果効果の推定を行う手法になります。医学分野では、先行研究の結果(e.g., 医学的な知見)から交絡因子となりうる変数の特定・測定が比較的容易であることから先ほど言及した交絡調整に基づく推定手法が用いられるケースが比較的多いですが、経済学や社会科学といった分野ではそもそもの特定が出来なかったり、仮に交絡因子であろうと見込んだ場合であってもそれを測定することができないケースが非常に多く存在します。そのため交絡調整に基づかない手法である操作変数法というのは経済学や社会科学において、特にその理論が発展してきたという歴史的な背景があります。なお詳細については後述しますが、操作変数法は交絡因子の測定を必要としないというメリットもある一方、いくつかの検証不可能な仮定に基づく手法です。したがって、解析を行う研究・データにおいて因果効果の推定のために要求される仮定の成立を認めることがどの程度妥当であるかの議論が他の手法と同様に必要であることにご注意ください。   操作変数の3条件 操作変数法では、ある介入AのアウトカムYに対する因果効果を推定するために以下の3つの条件を満たす変数Zを利用します。この変数Zは操作変数 (instrumental variable, instrument) と呼ばれます。 操作変数の3条件 (Theree instrumental conditions)  Z is associated with A ZはAと関連する Z does not affect Y except through its potential effect on Y ZはYに対してAを介した以外の効果を持たない Z

Analytics | Students & Educators
イベントレポート: 東京理科大学×SAS 合同シンポジウム

社会におけるデータ活用の拡大に伴い、データ活用人材の需要はますます大きくなってきています。東京理科大学データサイエンスセンターとSAS Institute Japan 株式会社は、データサイエンス人材の教育とキャリアについての知見を深めるため、2022年12月21日(水)に合同でシンポジウムを開催しました。本記事では、このイベントの様子をご紹介したいと思います。 シンポジウムの開会にあたり、東京理科大学 副学長 坂田 英明 様、SAS Institute Japan 株式会社 営業統括本部長 宇野 林之からご挨拶がありました。坂田副学長は、2031年に150周年を迎える東京理科大学が掲げるTUS Vision 150のなかで、データサイエンス教育に重点を置いていることに触れ、2019年に設置された東京理科大学データサイエンスセンターが、データサイエンスの応用分野創造と人材育成を進めていることを紹介しました。SASの宇野からは、40年以上の間、アナリティクスを専業としてきたSASの歴史に触れながら、リソース不足で実りが少なかった第二次AIブームと違い、昨今の第三次AIブームは豊富な計算リソースを背景に社会に浸透しており、特にビジネスの世界では、データドリブン経営から業務のディシジョンのサポートまで、データサイエンスが幅広く活用されていることを紹介しました。両者ともにデータ活用人材の不足を課題に挙げ、本シンポジウムでの議論に期待を寄せました。 第1部:東京理科大学におけるデータサイエンス教育 第1部では、東京理科大学のデータサイエンス教育の紹介と、そこで学んだ学生からの研究発表が行われました。 まず、データサイエンスセンター長 矢部 博 様から、データサイエンス教育の取り組みについて紹介がありました。理系の総合大学である東京理科大学では、各学部でデータを活用した研究・教育がされてきましたが、学長直下の組織として設置されたデータサイエンスセンターが横串となり、各学部や教育推進機構、研究推進機構、産学連携機構と連携しながら、データサイエンス教育・研究のハブとしての役割を果たしています。 政府はAI戦略2019のなかで年間50万人のリテラシーレベルの人材と年間25万人の応用基礎レベルの人材の育成を目標に掲げていますが、東京理科大学では、既に2019 年度から独自の教育プログラムを展開しています。まず、全学部生が対象のデータサイエンス教育プログラム[基礎]は、数学、統計学、情報学、データサイエンス、その他の授業から20単位をB評価以上で取得することで、認証書が授与されます。大学院生が対象のデータサイエンス教育プログラム[専門]では、数理コース、ビジネスコース、人工知能コース、医薬コース、機械学習コース、医療統計コース、Informaticsコースの各コースが設定する科目から8単位をB評価以上で取得することを要件としており、高度な知識と技能を持った学生を認証しています。 また、SASとの共同認定プログラムであるSAS Academic Specializationでは、SASを活用したデータ分析を実践する授業の6単位を取得することで、SASスキルと統計解析の知識を認定します。特に、SASソフトウェアを用いた研究課題や実践課題に取り組み、論文を提出し、審査に合格することが条件となっています。このような教育プログラムをデータサイエンスセンターが提供することで、各学部での一般・専門教育と並行してデータサイエンス人材の育成を推進しています。 次に、理学部第二部数学科 教授 伊藤 弘道 様から、社会人履修証明プログラムについて紹介がありました。東京理科大学の理学部第二部は、日本唯一の夜間理学部として、特に理科・数学を中心とした学び直しの機会を提供してきました。現在、社会人学生の割合は1割程度で、教員免許の取得を目指す学生も多く在籍しています。学部の課程と並行して履修証明プログラムを2020年度から開始しています。コースの種類としては、SAS認定コース、データサイエンスコース、数理情報コース、統計学入門コース、数理モデリングコース、数学リテラシーコース、微分幾何入門コースがあり、さまざまなスキルや知識を持って社会で活躍できる人材を育成しようとしています。 続いて、SAS教育の実践を含む教育の一つとして、大学院講義「カテゴリカルデータ解析」に関し、工学部情報工学科 教授 寒水 孝司 様より紹介がありました。この授業は理論と演習から構成されます。演習パートについて、企業で活躍する専門家が講師として招聘され、担当しています。講師の統計解析への知見、SASプログラミングの専門的な知識や技術を吸収しようと、学生は理論の学習と演習課題に交互に取り組んでいます。特にこの授業では、クロス集計とその指標の推定から、交絡のあるデータを扱うための技術を習得します。 学生の研究発表 第1部の最後に、4組の学生からデータ分析を活用した研究発表がありました。独自に設定した課題について、大学のプログラムで提供されているデータや自身で収集したデータを用いた分析結果を発表しました。みなさん、基礎分析をしっかり行い、データの傾向を掴もうとしていたことが印象的でした。将来の夢の発表もあり、スキルを磨いて夢を実現されることを期待しています。 第2部:ビジネスにおけるデータサイエンス人材の活用 第2部では、ビジネスにおけるデータ活用事例およびデータ活用人材のニーズやキャリアについて、講演がありました。 採用市場におけるデータ活用人材のニーズ まず、株式会社マイナビ 就職情報事業本部 マイナビ編集長 高橋 誠人 様より、データ活用人材の採用市場におけるニーズについて紹介されました。株式会社マイナビは、就職活動支援サービスの提供のみではなく、大学や企業と連携してデータ活用人材の育成の支援を行っています。特に、2024年卒業学生向けの新卒就職活動サイト「マイナビ2024」からは、「DX(デジタル・トランスフォーメーション)がわかる超基礎講座」というe-learningを提供し、IT人材のキャリア形成を支援しています。 講演では、経済産業省の「新産業構造ビジョン」や情報処理推進機構の「DX白書2021」などからデータを引用しながら、IT人材のニーズについて論じました。ほぼすべての分野においてIT技術を核とした革新が期待されているなか、IT人材の需要は高まることが予測されています。米国ではIT人材不足が解消されてきている一方、日本国内のIT人材は質・量ともにまだまだ不足感があります。プロダクトマネージャー、ビジネスデザイナー、テックリード、データサイエンティストと、さまざまな側面のデータ活用人材が不足していると感じている企業が半数以上です。(一方で、「自社には必要ない」と考えている企業も2割程度あるのも問題かもしれません。)2030年には、中位シナリオで45万人のIT人材が不足すると予測されています。マイナビ社の調査結果を見ると、新卒の就職市場は全体的に堅調であるなかで、情報系学生の就職先が製造・ソフトウェア・通信分野に偏っていることが問題であるように思われます。転職市場では、全体と比較してIT・通信・インターネットの分野において、転職による給与の上昇が期待できるようです。最近では、経験者を募集する割合が減ってきていることも人材不足を反映しているかもしれません。

Analytics
小林 泉 0
そのデータ活用は攻め?守り?

ビジネスにおけるデータ活用のゴールとは? データ活用はもちろん手段ですのでビジネス上の様々な目的が考えられます。今回はSASが長年ソフトウェアとサービスをご提供している領域である「アナリティクス」すなわち「ビジネス課題を解決するためにデータ分析によって洞察を獲得し、よりよい意思決定をすること」を、ゴールとして話を進めたいと思います。 ビジネスにおける様々な意思決定とその分類 ビジネスにおける意思決定にはどのようなものがあるでしょうか。無数にあるので網羅的には無理ですが、例えば以下のようなものがあると思います。ビジネスにおける業務はいわゆるバックオフィス・フロントオフィスに大別できますが、ここではフロントオフィスすなわち企業・組織外部とのやりとりをする部門・役割における意思決定にフォーカスします。 さて、ビジネスにおける意思決定は大きく以下の3つに分類されると考えます。 先ほど例として挙げたものをこの定義を使って分類すると以下のようになるかと思います。 このような意思決定をよりよくするために使われるデータ活用のパターンをさらに右に記載してみます。皆さんもよく見かける、アナリティクス・ソリューションが並びますね。実は、これらのソリューションも守りの意思決定のためのものと、攻めの意思決定を目的としたものが混在していることがわかります。それぞれ、目的と、妥当な投資コストと、期待する価値の考え方が異なってくるので、検討の際にこれからご紹介する攻めか守りかを考慮に入れることが重要になってきます。   攻めの意思決定と、守りの意思決定 守りと書くと少し後ろ向きなイメージがあるのですが、ここでは攻めの反対語として使っています。意思決定には大きく、攻めの意思決定と守りの意思決定があります。それぞれ、次のような定義をしています。 守りの意思決定 決められた計画通りに業務を精度よく実行する。言い換えると事前に計画した期待収益を過不足なく実現するための業務遂行です。たとえばあらかじめ毎日平均100個売れると計画した商品を決められた平均欠品率を保つために、毎日110個発注するなどです。あるいは、期待反応率が一定以上の顧客に営業・マーケティング活動をする、などがあげられます。 あらかじめ業務プロセスを計画し、従来人間が行っていたような意思決定を自動化します。 つまり、計画した業務プロセスを実行した結果の過去のデータを使用して、それがそのまま未来も起きるであろうという予測モデルを活用することで実現できます。 あらかじめ期待収益の計画を立てているので、自然なバラツキ以上にはその期待収益を上回ることはありません。言い換えると過去に起きたこと以上のことは起きません。 こちらにおいて考慮すべき不確実性は「予測可能な不確実性」です。(参考:過去のブログ) 攻めの意思決定 一方攻めの意思決定は、過去に起きたことをそのまま延長するのではなく、過去の傾向を変え、将来の期待収益を最大化するための計画をすることです。 これは、仮説検証のプロセスーすなわち実験を繰り返すことでしかなしえません。 例えば、顧客の購買行動を理解・推定し、より多くのものを買ってもらうためには、どのような品ぞろえにすればよいかを常にテストしながら実装していく必要があります。あるいは、将来起こりうるシナリオを様々な前提で予測をし、備えることです。 こちらにおいて考慮すべき不確実性は「予測不可能な不確実性」です。(参考:過去のブログ) ポイントをまとめると以下のようになるでしょうか。 攻めの意思決定と守りの意思決定のどちらが大事か? 企業における意思決定において、守りの意思決定は無数に行われていることと思います。例えば、SASのユーザー企業で数千人が利用している環境が結構あるのですが、もうこれだけで、数千の意思決定のための活動がデータに基づいて行われていることがわかります。これらは一つ一つは小さいながらも、積み上げると企業全体の売り上げのほとんどを構成しています。そのために、アナリティクスによる自動化を進めていくと、一つ一つの予測モデルの精度や、意思決定フロー(ディシジョンと呼びます)そのものが収益に直結しますし、そのディシジョンが外部社会とのインターフェースとなるため、顧客の信用や社会的責任についても考慮する必要があり、この守りの意思決定に関しては、そういった「ディシジョン」の精度とガバナンスが非常に重要になってきており、優先度の高い投資領域となっています。 ということで、守りの意思決定すなわちデータ活用は、制度とガバナンスの観点で非常に重要です。 一方で、簡単に言い換えると、守りの意思決定は単なる既存プロセスの効率化と言えなくもありません。RPAなどの単なる作業の自動化ではなく、収益に直結する意思決定の自動化ではありますが、過去に起きたことをそのまま将来に延長しているだけでは、効率化の域を出ず、企業の成長の源泉にはなれど、ドライバーにはなりません。例えば、製造業において熟練エンジニアによる品質のチェックを標準化し自動化することも同様です。俗人化を排除し標準化し自動化することは重要ですが、それ以上でも以下でもありません。企業が持続的な成長するためには、成長のための仮説を立て、実験をして市場の潜在ニーズを掘り起こしていく必要があります。また、将来の成長機会を最大化するためには、予測不可能な未来に対しての備えをすることで、対応力を身に着けておく必要があります。そのためには、”予測モデル”や"AIモデル"を単に既存の業務プロセスに埋め込むだけではなく、後にに少しご紹介する「アナリティクス・レベル」の最終章としての活用を意識する必要があります。 つまり、攻めの意思決定およびそのためのデータ活用は、過去だけではなく未知の未来の推定とシミュレーションに基づいて、企業・組織が持続的な成長のために進むべき方向を根拠をもって決めていくという重要な使命があります。 そのデジタルトランスフォーメーション(DX)は攻め?守り? 文字通りとるとDXはプロセスを変革して新たな企業価値を創出することなので攻めの取り組みのはずです。一方でその定義とはかけ離れてDXと称されている単なるITやAIによる既存プロセスや意思決定の自動化などはDXの文字通りの定義からすると、DXではない気がします。しかし、そもそも意思決定が標準化されてない状態からデータに基づいて標準化され自動化された意思決定に変えるような場合には、「変革」に近いと言えると思うので、それがDXかどうかではなく、そのDXと称している取り組みが今回定義した攻めか守りかを意識して投資や計画をすると、投資検討がしやすかったり評価がしやすくなるのではないかと筆者は考えます。 (おまけ)アナリティクス・レベルの最終章の再考 アナリティクスにおいては、従来から以下の8のレベルで創出価値が変わってくると言われています。昨今のAIブームはこの段階の中のPredictiveにフォーカスがあたっています。本当はその手前のDescriptiveをちゃんとやらないといけないのでそちらの方が大事だったりします。そして、その二つが適切に実施されたうえで到達できる、この8つ目のレベルが実はとても重要です。 Prescriptiveは、あまりいい日本語訳が見つからないのですが、指示的・処方的という意味です。これは、守りの意思決定においては、生産スケジューリングなどの最適化や、マーケティング最適化のソリューションが当てはまります。個々の生産品質の予測やキャンペーンの反応率を予測するだけでなく、様々な関連するものを組み合わせたときに、最良のアクションが何か?ということを決める手法です。この段階にならないと、既存プロセスの最適化が実現できません。また、攻めの意思決定においては、あらゆる予測のシナリオを考慮したうえで、将来の期待収益機会を最大化するためのアクションを決めるということになります。その場合には、Descirptiveのフェーズでの洞察、適切なPredictiveモデリングに基づいた、シナリオ分析やシミュレーションといった手法表現がとられます。 このように、意思決定の種類すなわち、そのデータ分析を何のために行っているかを意識することで、そのインパクトを考慮しやすくなり、アナリティクスやDXへの投資、その際にどのような人材を育成・獲得する必要があるのかが見えてくるのではないでしょうか。

Advanced Analytics | Analytics | Artificial Intelligence
小林 泉 0
デジタルツインの話をする前にー将来を見通すために知っておくべき2種類の不確実性

近年、AI/アナリティクス市場に巨大ITベンダーが参入してきたことと、データサイエンティストがその存在感を高めようとしてきたことがあいまって、「予測」、「予測モデル」あるいは「AI予測」、「AIモデル」という言葉が、この市場で一般的になってきました。ビジネスにおいて、データ分析による洞察に基づいてよりよい意思決定と自動化を行うことーこれを「アナリティクス」と言いますーは、筆者がこの世界に足を踏み入れた20年以上前よりもっと前から、一部の「データを武器とする企業」において行われていました。それがより多くの企業に広まってきたということです。 今回は、より多くの方が「予測」について理解を深めてきているところで、その「予測」をもう少し深く理解し、近年の世界情勢において、大きく変化が求められている業界の1つである、流通小売業や製造業のサプライチェーン課題にフォーカスしたいと思います。まさにいま、サプライチェーンの大きな課題はレジリエンス強化です。そのための解決ソリューションとしてデジタルツインが注目されていますが、デジタルツインで何をすべきかを適切に見極めるために必要なおさらいとして、そもそも不確実性とは?について頭の中を整理したいと思います。 アナリティクスとは将来の不確実性に対して勇気を出して踏み出すーつまり行動するーことである。 「予測」という概念が広まることで、「予測」が確率的であるという認知も正しく広まってきました。需要予測値は確率的なものであるため、予測値そのものだけではなく安全在庫を計算するためにその確率を活用し、解約予兆、商品のレコメンデーションへの反応、不正検知、異常検知や歩留まりなど、アナリティクスつまり予測モデルを意思決定に適用するほとんどの意思決定は、すべて確率的なものです。よく見る予測モデル以外でも同様です。最適化も多くの場合その入力となる情報が確率的にばらついているケースが多いですし、近年、古典的な最適化手法が当てはまりずらいビジネス課題、例えばサプライチェーンの最適化、リアルタイムの配送スケジューリングなどの課題やカスタマージャーニーの最適化課題に対して適用される強化学習のアプローチにおいても、将来の報酬を確率的に計算して、目の前の一手を決めているといえます。 ここで唐突に余談ですが、リスクという言葉は日本語だとネガティブな意味に使われることが多いですが、本来はポジティブでもネガティブでもなく、単に確率的なバラツキを意味しています。なのでリスクを管理するということは、単に将来に対して確率的なバラツキを特定し意思決定の要因に組み込むということです。つまりこれはアナリティクスと同義です。なので、アナリティクスとアナリシスは語感は似ていますが、意味はだいぶ異なるということになります。 不確実性の1つは過去の経験から得られる確率 これは、上述した「リスク」です。どのような事象が起きたか?それが起こる確率はどれくらいか?そのインパクトはどの程度か?などについて過去の経験に基づいて洞察が得られるものです。例えば、輸送の遅れ、需要のバラツキ、ITシステムの障害、消費者の購買行動におけるバラツキ、設備などの停止、部品の故障率や製造品質などです。このような不確実性は過去のデータを分析することで予測可能です。このタイプの不確実性を今回は、「予測可能な不確実性」と呼ぶことにします。この「予測可能な不確実性」への対処に関しては、長年の経験から、多くのケースにおいて理論が確立してアナリティクスのベストプラクティスにすでに組み込まれています。 近年ニーズが増えてきたもう一つの不確実性への対応 こちらはずばり、過去に起きてないために予測することが困難な事象です。例えば、COVID-19、自然災害、特定地域での紛争や各国の政治情勢の変化などです。海洋の変化が予測とは大きく異なり漁獲高が計画と大きく乖離して輸出の計画が崩れて困っているという事例も該当します。特にサプライチェーン管理が必要な多くの企業は、近年特にこのような事象により、サプライチェーンが突如として混乱に見舞われるという経験をされているでしょう。このような不確実性は、過去に起きてない事象であっても、あらゆる情報を収集することで将来の起こる可能性についての洞察をある程度得ることができることもあります。ソーシャルメディアを分析することで、その国の経済の先行指標としての洞察を得たり、政治的な変化の予兆につなげるという活用方法も実際にされてきています。しかし、自社のサプライチェーンに関わる世界中のあらゆる状況に対して調べつくすということは、ほとんどの企業にとっては投資対効果的に見合わないと思います。したがって、サプライチェーンにおいては、そのような事象によって混乱した状態からなるべく早く回復するために、自社のサプライチェーンの脆弱性を理解し、起こりうるシナリオを想定して、それに備えることに投資の目を向けます。このようなタイプの不確実性を今回は、「予測困難な不確実性」と呼ぶことにします。 デジタルツインでは二つの不確実性への対応が価値をもたらす デジタルツインですが、そもそもビジネスをデータに基づいた意思決定にしている世界は部分的には47年前からデジタルツインだと言えます(ちょっと強引すぎますかね)。SASは1976年に穀物の収穫高の予測を電子的統計手法で行ったのがスタートです。ITの進化、IOT技術の進化に伴いより多くのデータが観測・収集できるようになり、ビジネスの一部だけでなくより全体がデータの世界で表現できる様になりました。近年ではそれを「デジタルツイン」と呼んでいます。サプライチェーンのデジタルツインを実現して、皆様はどんな課題を解決したいでしょうか?今回取り上げた「予測可能な不確実性」と「予測不可能な不確実性」を理解することで、デジタルツインを活用した「現実世界のよりよい理解」、「その理解に基づく意思決定」、「シナリオ分析」や「シミュレーション」を適切に行うことができるようになり、将来起こりうることに対して、よりよい対処が可能となるでしょう。 この話の続きが気になる方へ SASのデジタルツインの最新の取り組みについてはまずはこちらのプレスリリースをご覧ください。 また、デジタルツインやシミュレーションについて他のユースケースなどご興味ある方は、こちらのCosmo Tech社の(英語)もお役に立つと思います。    

Learn SAS | Students & Educators
0
SAS® OnDemand for Academicsがリニューアルしました

2023年を迎えて間も無く1ヶ月が経とうとしていますが、皆様はどのよう新年のスタートをされましたでしょうか。With コロナに向けた取り組みが社会的には広がり、自らが管理する時間が増えた中で、質の良い学習時間を確保することは社会人・学生問わず大変重要なことかと思います。 さて、SASでは学習および教育を目的とする方向けに、SAS® OnDemand for Academics (ODA) というアナリティクス・ソフトウェアを無料で提供しています。実は、このSAS ODAですが昨年末にログイン画面のアップグレードが行われ、提供されている各種機能へのアクセス方法がわかりやすくなりました。このブログ記事では、アップグレード後の SAS ODAについて紹介していきます。 ①ホーム画面(中央) 画面中央には大きく3つのセクションがあり、それぞれ下記の内容が提供されています。 Code with SAS® Studio すべての教員・学生・個人学習者を対象として、Webサイトにアクセスするだけで使用可能です 提供されている”タスク”からGUI的にSASコードを生成可能です(もちろん自分でコーディングすることも可能) SAS Studio上にプログラムファイルの新規作成、既存ファイルのアップロードが可能です(最大5GB) アクセス可能なSASソフトウェア一覧: SAS/STAT® Base SAS® SAS/IML® SAS/OR® SAS/QC® SAS/ETS® Learn SAS Programming Programming 1, Statistics 1といった統計学やプログラミングに関するいくつかのe-learningや、動画教材を提供しています SASソフトウェアや統計解析・機械学習を中心とした基礎的な知識、スキルをe-learningを通じて習得可能なオンライン学習プラットフォームSAS Skill Builder for Studentsを学生を対象として提供しています(大学ドメインのアドレスが必要) SASの認定資格に関するガイドをていきょうしています Collaborate with SAS Communities いくつかのSASに関連するコミュニティ情報が掲載されています プログラミングや解析にあたっての疑問点、Tipsを共有し、世界中のSASユーザーからコメントをもらうことが可能です ②ホーム画面(右) 初期状態では次の5つのアイコンが表示されます。 Files

Analytics
0
SAS ViyaでのSASプログラム実行用リソース管理(二):ユーザごとに計算リソースと権限の設定方法

一、背景の紹介 "データアナリストのようなヘビーユーザと利用頻度が低いユーザや参照系のユーザなど、さまざまなユーザがおり、SASプログラムを実行する際に利用するCPUとメモリなどの計算リソースを、ユーザタイプごとに割り当てる設定をしたい"。これは、多くのViya4ユーザ様が持つ課題です。これを実現するためには、次の2つのステップが必要です 1.異なるタイプのユーザごとに利用できる計算リソースを設定します。 2.異なるタイプのユーザに対して、権限を個別に割り当てる必要があります。 前回の記事では、Viyaのシステム管理者に向けて、ユーザが利用できる計算リソースの上限値の変更方法を紹介していきます。本記事では、異なるタイプのユーザに対して、利用できる計算リソースを個別に設定する方法と権限を個別に割り当てる方法を紹介します。 二、準備 ユーザがSAS Studioを使用しているときにSAS Viyaがどのように計算リソースを呼び出すかは、前回の記事で説明したとおりですので、ここで割愛します。 興味のある方は、こちらのリンク先のブログをご参照ください。 以下の紹介内容は、基本的に一回目の記事と同じくデプロイメントファイルとK8sクラスターに変更を加える必要があるため、以下を準備する必要があります。基本的にViyaをデプロイ時に必要なものと同じですので、もし下記に対して不明なところがある場合、ご利用のViya環境のデプロイ担当者にお問い合わせください。 ・k8sクラスターのAPIサーバーに接続できる作業用のサーバー、OSはLinux系がおすすめです。 ・k8sクラスターに接続用コンフィグファイル(管理者権限が必要)。~/.kube/configとして保存します。 ・k8sのコマンドラインツール:kubectl ・Viyaデプロイメントアセットのコンパイル用ツール:kutomize ・Viyaをデプロイ時に使ったkustomization.yamlやsite-configフォルダを含めたファイルアセット また、ユーザの権限を設定するには、ViyaのGUI上での操作が必要のため、以下の準備も必要です。 ・管理者権限を持つViyaアカウント 三、ユーザごとに計算リソースの上限値を設定する方法 この章の項目は多いので、読者は以下のリンクを使って興味のあるセクションに直接ジャンプすることができます。 1.シナリオの紹介 2.ユーザグループの作成 3.SAS Viyaのデプロイメントファイルの修正 4.ヘビーユーザ用ポッドテンプレートを作成 5.ユーザ権限の設定 6.ユーザ権限設定の検証 1.シナリオの紹介 こちらの章の内容は、下記のシナリオに基づいて、ヘビーユーザとライトユーザ二種類のタイプのユーザに対して、それぞれ異なる計算リソースの上限を設定するシナリオを紹介します。 ・ユーザタイプA:ヘビーユーザ 利用する最大CPU:8CPU 利用する最大メモリ:8Gi ・ユーザタイプB:ライトユーザ 利用する最大CPU:2CPU 利用する最大メモリ:2Gi 2.ユーザグループの作成 まず、Viyaにヘビーユーザとライトユーザの2つの独立したユーザグループを作成する必要があります。この部分の作業はSAS ViyaのGUI上で実施します。 ①SAS Viyaへログインし、左側のメニューから「環境の管理」を選択します。 ②環境管理の画面に切り替わったら、左のメニューから「ユーザ」を選択します。 ③そして、画面上部の「ビュー」をクリックし、「カスタムグループ」を選択し、「新規作成」ボタンをクリックします。 ④ヘビーユーザ用グループを作成しますので、グループ新規作成の画面に、名前とID、説明を下記の図のように入力し、「保存」ボタンをクリックします。 ⑤そして、ライトユーザに対しても、同様の方法でグループを作成します。 ⑥次は、作ったユーザグループにユーザを追加しますので、作ったグループ名を選択し、右側の編集アイコンをクリックします。 ⑦ユーザ追加画面で、追加するユーザを選択し、追加アイコンで追加し、終わったら「OK」ボタンをクリックします。同様な操作でもう一つのヘビーユーザ用グループに対しても実施します。これで、ユーザグループの作成は完了しまた。 3.ライトユーザ用ポッドテンプレートを作成 ユーザグループごとに使用する計算リソースが異なるため、ユーザグループを作成した後に、ユーザグループごとに個別のポッドテンプレートを定義する必要があります。この部分の作業は、kubernetes側で実施します。 ①まず、ライトユーザ向けのポッドテンプレートを作成してみましょう。下記のコマンドで既存のポッドテンプレートをファイルとして、ローカルに保存します。 kubectl

Analytics | Students & Educators
アナリティクス入門講義:要因分析・効果検証

SASが提供する大学講義「アナリティクス入門」のブログ・シリーズ、前回は記述的アナリティクスについてまとめました。今回は4つのアナリティクスのレベルの2つ目、診断的アナリティクスについてまとめます。診断的アナリティクスは、要因分析・効果検証・統計的因果推論などの手法を用い、事象がなぜ起こったかを分析します。 収入が多い家庭の子供は学力が高いか? 数年前のNewsweekの記事に、教育の不平等を取り上げたものがありました。子供の教育にはお金がかかり、収入が多い家庭しか良い学歴を得られないという論調です。東京大学生の親の年収分布と45-54歳男性の年収分布を比較し、前者では年収950万円以上が62.7%もいるのに対し、後者は12.2%であることをデータとして掲載しています。さて、このデータから「東大に入学できたのは親の収入が多いからである」と主張するのは正しいでしょうか? 子供の教育にお金がかかることは事実だと思いますが(日々実感しております)、先程のデータから「親の収入→東大」の因果関係を導くには、対応しなければいけない反論をいくつか思いつくことができます。 まず、取得したデータに偏りはないでしょうか。東京大学の学生は、東京を中心とした関東出身者が多いと思いますが、全国と比較して、東京在住者の収入は高いので、その影響が出た可能性があります。また、「一般の男性」は「大学生の子供がいる年代」のデータのようですが、「実際に大学生がいる」かどうかはわかりません。一般に、子供がいる世帯のほうが子供のいない世帯より収入が多いので、これも影響が出ている可能性があります。このように、集計対象のデータの偏り(バイアス)により、適切な比較がなされていない可能性があります。 また、「収入の多さ」と「東大への入学」に関係があっても、因果関係は無いかもしれません。例えば、家族や地域の「教育熱心に対する考え方」が収入や学歴に同時に影響を与える場合、擬似的な相関が現れる場合があります(偽相関)。このような交絡要因を考慮しないと、真の因果関係を割り出すことは難しいです。(念のため書いておきますが、Newsweekの記事が間違っていると主張しているわけではありません。考慮すべきバイアスや交絡がありそう、という主張です) キャンペーン・メールの効果 企業では、商品の購買促進のために、顧客に直接メールを送り、商品の案内をするということを行うことがあります。このとき、メール配信の効果を知るためには、メールを送った顧客の購買量とメールを送らなかった顧客の購買量の差分をとればよい、と考えることができます。しかし、もしメールの配信を「もともと買ってくれそうな人」を対象としていた場合はどうでしょうか。効果的にメールを送るには、このような対象に限定することは合理的ですので、このような場合は多いでしょう。しかし、買ってくれそうな人にメールを送っていたとすれば、メールを送った顧客は「もともとメールがなくても買っていた」人だったかもしれません。つまり、メールを配信した効果は単純比較の差分量より小さい可能性があります。このときの、「メールを送った人のほうがもともと購入しやすかった」という偏りをセレクション・バイアスと呼びます。 バイアスや交絡を除去する方法 バイアスや交絡を除去する最も強力な方法はランダム化比較実験です。対象を「メールを送るグループ」と「送らないグループ」に振り分けることにより、データ取得の段階からバイアスや交絡を含まない比較対象を作ることができます。薬剤やワクチンの効果の検証は、この方法が採られます。どれぐらいの実験対象を用意し、測定された効果が偶然現れたものではないことを統計学的に検証します。このあたりは、ライフサイエンスの事例の回で詳細に紹介します。 一方で、ランダム化比較実験はコストがかかります。さきほどのメールの例でいえば、買ってくれそうな人に送ったほうが効果的なメールを、あえて効果が低い人にも送る必要があります。薬剤の治験では、協力してくれた被験者に報酬を支払います。また、例えば「子供手当の効果」の検証など、そもそもランダムに振り分けることができない場合もあるでしょう。そういった場合には、実験で計測されたデータではない、観察データを用いて統計学的に効果や因果を検証することになります。この方法は統計的因果推論と呼ばれます。統計的因果推論については、こちらのブログ・シリーズで詳しく解説されています。 観察データから因果や効果を推定するには、「もしかしたらこういう要因があるのではないか」という候補を多く集め、それらの影響を丁寧に検証する必要があります。そういった候補を網羅的に思いつくには、その領域への深い知識が必要です。データサイエンスにおけるドメイン知識の重要性は、前回述べたデータ準備においてそれぞれのデータの意味や特徴を捉えるとともに、このような要因分析・因果推論における交絡要因を抜き出すことにも関連します。 研究における診断的アナリティクス 米国バージニア・コモンウェルス大学のMessyがんセンターで、がんによる死亡の社会要因を研究している事例があります。ここでは、所得や教育水準など、社会的な不利な立場ががんの死亡率に与える影響を研究しています。このためには、年齢や体重、喫煙、飲酒、食生活といったがんのリスク因子の他に、医療施設の場所や居住地域、人種、民族、収入などの社会的要因を総合的に検証する必要があります。このような多くの要因から、本当に影響がある要因を特定するためには、統計的因果推論が必要です。 また、ここでもやはり、データの質は重要です。多くのデータソースから個人をキーとしてデータを統合し、さまざまな要因(変数)を含む総合的なデータを作る必要があります。医療情報はセンシティブなデータになりやすいので、データの統合、研究者への共有、患者へのフィードバックといった利便性の追求と、セキュリティの確保の両面が大切です。

Analytics | Students & Educators
アナリティクス入門講義:記述的アナリティクスと可視化

SASが提供する大学講義「アナリティクス入門」のブログ・シリーズ、1回目の前回はイントロダクションとして「アナリティクスとは」についてまとめました。今日は4つのアナリティクスのレベルの1つ目、記述的アナリティクスについてまとめます。 前回も書いたように、記述的アナリティクスは、過去に何が起こったか、いま何が起こっているかを知るためのアナリティクスです。データの集計し、統計量を計算したり、集計結果を表やグラフを用いて可視化したりすることで、データを理解したり情報伝達をすることが目的です。 納得して仕事をするために 私の娘が小学校を卒業するとき、「卒業式は友達みんな袴を着るって言ってるよ!」と言い出しました。つまり、だから自分も袴を着たいと主張しているわけです。「小学校の卒業式なんて一生に一回だしな…」なんてよくわからない理屈でレンタルしましたが、蓋を開けてみると、3割ぐらいの女子しか着ていませんでした。小学生の言う「みんな」は信じてはいけません。 ところで、SAS Japan では、毎年夏休みに「親子でデータサイエンス」というイベントを開催しています。小学生とその保護者が、一緒にデータを活用したポスターを作るイベントです。何年か前、自分のおこづかいが少ないと感じた小学生が、おこづかいアップを目指すためのポスターを制作しました。学校のお友達に毎月のおこづかいの金額をアンケートし、集計した結果をヒストグラムに表し、平均値、中央値、最頻値を算出して、親を説得するための材料にしたのです。「みんな私よりおこづかい多いよ!」という主観的で非定量的な主張より、このようにデータとグラフで示されると、親は納得せざるを得ません。 子供が親を説得するのに限らず、組織として多くの人が関わる仕事では、ある種の同意を形成する必要があります。そこには納得感が必要であり、そのためには客観的なデータを示すことが役に立ちます。同意が形成されていることを、英語で “be on the same page” と表現しますが、同じページの同じ図表を見ていることが重要なのです。おそらく、どこの会社でも同様のものがあると思いますが、SAS Japan では毎月、全社員が参加する(ことになっている)ミーティングのなかで、現在の売上の状況が報告されます。どの部門が目標に対してどれぐらいの位置にいて、来月以降はどの程度の売上を予測しているのか、図表を使って全社員に共有します。そのことにより、全員が同じ目標に向かって活動することができます。 可視化の役割 データサイエンスという言葉には、人工知能や機械学習のイメージが強いかもしれませんが、実際の社会におけるデータ活用では、まだまだこのような可視化の役割が大きいと感じています。多くの人の同意を得るために客観的なデータを提示するだけでなく、日常的なデータをモニタリングし、非日常的な変化を検知してアラートを上げることができます。例えば新型コロナウイルスの陽性者は毎日報告されて、その遷移が可視化されています(例: 東京都のページ)。これにより、「感染者が増えてきたな」と感じることができますし、数値が基準を超えると、まん延防止措置や緊急事態宣言などの対策が取られることになります。 他にも、例えば工場のカーボン・フットプリントの総量が規制されているような場合、各ラインが毎日どれぐらいエネルギーを消費しているかについての情報を管理することが必要になります。このためには、データを集計し、報告する必要があります。毎日することですので、手作業で実施するのは大変です。データ取得から報告書作成までを自動化できれば、仕事の効率を上げることができます。そのためには、どんな分析をするか、だけではなく、いつデータを持ってきて、分析結果をどこにどのタイミングで出力するかを考慮してシステムを設計する必要があります。世の中には、まだまだこのように記述的アナリティクスにより解決できる課題が多く残っていると思われます。 可視化をサービスの透明性の確保のために行っている例もあります。米国のダーラム市の事例では、警察が市民の信頼を得るために、警察官の活動データを可視化して市民が閲覧できるようにしました。逮捕、出勤、苦情、トレーニングなどのデータを集め、指標をダッシュボードに表示します。市民が自分でダッシュボードを操作して「分析」することができれば、より「自分が調べている」感が出て納得しやすくなり気がします。 記述的アナリティクスとデータ準備、データ探索 記述的アナリティクスは記述統計量を計算したり、データをグラフで表したりするだけだから簡単だ、と思われるかもしれませんが、実際はそうではありません。可視化も含めたデータ分析のためには準備が必要で、この工程に80%もの時間が使われることも珍しくありません。データはどこにあるのか、どのようにアクセスするのか、そのデータの項目は何を意味しているのか、入力漏れはないか、ありえない値が入力されていないか、表記は統一されているか、複数のデータソースに整合性はあるか、など、正しいデータ分析のために必要な準備は多岐にわたります。これについては、データの管理と準備の回で詳細を紹介します。 逆に、データの準備のために記述的アナリティクスが活用されることもあります。例えば、記述統計量やヒストグラムにより各変数の分布を調べることで、それが想定している分布と一致しているか、おかしな値が入力されていないかをチェックすることができます。変数間の相関を見たり、散布図を描いたりすることで、異常値を発見しやすくなることもあります。 また、このようなデータ探索は、診断的アナリティクスや予測的アナリティクスのような、さらなるデータ分析のための準備にも使われます。変数の分布をみることで、どのような統計モデルを当てはめるかを検討することができます。機械学習の精度を上げるためには、変数を操作して適切な特徴量をつくることが必要ですが、そのために変数の分布や欠損をチェックし、変数変換や補完を行うかどうかを決定します。 このように記述的アナリティクスは、データの準備から高度なアナリティクスまで、幅広いフェーズに活用される基礎的なスキルです。 記述的アナリティクスの学習 SASソフトウェアで記述的アナリティクスを実践するときは、SAS Visual Analytics を活用するのが便利です。マウス操作でデータの可視化とレポート作成、データ分析を行うことができます。 学生であれば、学習用ポータル Skill Builder for Students に登録して、e-learningで学ぶことができます。「SAS Visual Analytics 1 for SAS Viya: Basics」というコースでは、データ準備と可視化、レポーティングを学ぶことができます。ぜひご活用ください。

Analytics | Students & Educators
アナリティクス入門講義:イントロダクション

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つのアナリティクスを詳しく見ていきましょう。

Analytics
0
SAS ViyaでのSASプログラム実行用リソース管理(一):計算リソース上限の設定方法

一、背景の紹介 "データアナリストのようなヘビーユーザと利用頻度が低いユーザや参照系のユーザなど、さまざまなユーザがおり、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:

Analytics | Learn SAS | Students & Educators
まず「データリテラシー」からはじめよう

社会でのデータ活用が進むにつれ、それを推進する人材の必要性が増しています。データ活用人材、アナリティクス人材、データサイエンティスト、呼び方や役割はさまざまですが、そのスキルの根底にあるのは、「データリテラシー」です。データリテラシーとは、世界で起こっているさまざまなことを理解するために、データと対話できることを指します。データの有用性を見極め、信頼性を問い、意味を見出し、その洞察を意思決定に役立て、洞察を他者に伝えることができる一連のスキルです。内閣府、文部科学省、経済産業省は、大学における「リテラシーレベル」の数理・データサイエンス・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 ...

Analytics
0
SAS ViyaでSASプログラムをバッチで実行する方法の紹介

一、背景の紹介 SAS Viyaに搭載されているSAS StudioはSASプログラムの作成と実行のツールとしてよくユーザーさんたちに利用されています。また、実際のビジネスの中では、SASプログラムのバッチ実行が必要となる場面もたくさん存在しています。しかし、多くのSAS9を活用している既存のユーザーは、Viyaでのバッチ実行方式に対してまだ詳しくないかもしれませんので、本ブログを通してViyaでバッチ方式でのSASプログラムの実行方法を紹介したいと思います。 以下は本記事内容の一覧です。読者は以下のリンクをで興味のあるセクションに直接ジャンプすることができます。 二、sas-viya CLIツールの紹介 1.sas-viya CLIとは 2.インストール方法の紹介 三、SASプログラムをバッチで実行する方法の紹介 1.バッチでSASプログラムの実行 2.実行されたバッチジョブの確認とログの取得方法 3.バッチジョブの削除と停止方法 二、sas-viya CLIツールの紹介 1.sas-viya CLIとは SAS Viyaのコマンドラインインターフェース(以下はsas-viya CLI)は、コマンドライン上で、SAS ViyaのRESTサービスを利用することによって、SAS Viyaの設定や機能を利用するためのツールです。CLIは、グラフィカル・ユーザー・インターフェース(GUI)を使用する代わりに、プログラム的にSAS Viyaを操作するために使用することができます。 sas-viya CLIのbatchプラグインは、SAS Viya環境にコマンドラインからSASプログラムやコマンドをアップロードし、バッチ処理することを可能にします。プログラムをアップロードした後は、サーバ側でバッチ処理を実施するので、処理中にViyaのサーバとの接続を維持する必要はありません。 2.インストール方法の紹介 従来SAS9を利用しているユーザーは、sas.exeなどでSASプログラムをバッチで実行していたと思いますが、Viyaの場合はsas-viyaというコマンドラインツールを利用します。別途でインストールは必要ですが、Viyaのサービスへ接続できるところであれば、WindowsでもLinuxでも、任意のマシン上から遠隔でViya上でSASジョブの実行ができます。以下ではsas-viyaコマンドラインツールのインストールとセットアップ方法を紹介します。 まずは下記のサイトからお使いのOS(Linux, Window, OSX)に応じて、インストールファイルをダウンロードします。 https://support.sas.com/downloads/package.htm?pid=2512/ ① Windowsをご利用の場合の手順は以下となります。Linuxユーザーの方は、こちらを参照ください。 (1)ダウンロードしたzipファイルを解凍し、sas-viya.exeのフォルダの下にshift+右クリックし、「PowelShellウィンドウをここで開く」をクリックします。 (2)利用開始の前に、接続先のViyaサーバ情報の初期登録が必要ですので、下記のコマンドを実行します。聞かれた内容を下記のように入力し、アクセス先を定義します。 .sas-viya.exe profile init こちらのステップは初めて利用する際に、一回だけ実施します。Service Endpointは繋ぎ先のURLを入力し、それ以外の”Output type”と”Enable ANSI colored output”については、画面に出力されたメッセージのフォーマットを指定するものですので、お好みの設定で構いません。もしわからない場合は、それぞれにtextとyにすれば良いです。 (3)接続先の情報を設定し終わったら、次はサーバへのログインです。下記のコマンドを実行して、IDとPWを入力し、ログインします。 .sas-viya auth login

Analytics
自然言語処理とSAS (3)

こんにちは!SAS Institute Japanの堀内です。今回も自然言語処理について紹介いたします。 前回の投稿では、実際にSASを使って日本語の文章を扱う自然言語処理の例を解説しました。 最終回の本投稿ではその応用編として、自然言語処理の代表的なタスクとSASによる実装方法を紹介します。なお、ここでいうタスクとは「定式化され一般に共有された課題」といった意味になります。自然言語処理には複数のタスクがあり、タスクごとに、共通する部分はあるとはいえ、問題解決のアプローチ方法は基本的に大きく異なります。SASには各タスクごとに専用のアクションセット1が容易されています。 要約タスク その名の通り文章を要約するタスクです。SASではtextSummarizeアクションセットで対応可能です。 ここでは、NHKのニュース解説記事「気になる頭痛・めまい 天気が影響?対処法は?」(https://www.nhk.or.jp/kaisetsu-blog/700/471220.html) の本文を5センテンスで要約してみましょう。 import swat conn = swat.CAS('mycashost.com', 5570, 'username', 'password') conn.builtins.loadActionSet(actionSet='textSummarization') conn.textSummarization.textSummarize(addEllipses=False, corpusSummaries=dict(name='corpusSummaries', compress=False, replace=True), documentSummaries=dict(name='documentSummaries', compress=False, replace=True), id='Id', numberOfSentences=5, table={'name':CFG.in_cas_table_name}, text='text', useTerms=True, language='JAPANESE') conn.table.fetch(table={'name': 'corpusSummaries'}) numberOfSentencesで要約文のセンテンス数を指定しています。結果は以下の通りです。 'まず体調の変化や天気、気温・湿度・気圧などの日記をつけ、本当に天気が影響しているのか、どういうときに不調になるのかパターンを把握すると役立ちます。 気温・湿度以外にも、気圧が、体調の悪化や、ときに病気の引き金になることもあります。 私たちの体は、いつも耳の奥にある内耳にあると言われている気圧センサーで、気圧の変化を調整しています。 ただ、天気の体への影響を研究している愛知医科大学佐藤客員教授にお話ししを伺ったところ、「台風最接近の前、つまり、気圧が大きく低下する前に、頭が痛いなど体調が悪くなる人は多い」ということです。 内耳が敏感な人は、わずかな気圧の変化で過剰に反応し、脳にその情報を伝えるので、脳がストレスを感じ、体のバランスを整える自律神経が乱れ、血管が収縮したり、筋肉が緊張するなどして、その結果、頭痛・めまいなどの体に様々な不調につながっているのです。' 重要なセンテンスが抽出されていることが分かります。   テキスト分類タスク 文章をいくつかのカテゴリに分類するタスクです。その内、文章の印象がポジティブなのかネガティブなのか分類するものをセンチメント分析と呼びます。ここでは日本語の有価証券報告書の文章をポジティブかネガティブか判定してみます。使用するデータセットは以下になります。 https://github.com/chakki-works/chABSA-dataset (なお、こちらのデータセットには文章ごとにポジティブかネガティブかを示す教師ラベルは元々付与されておりませんが、文章内の特定のフレーズごとに付与されているスコアを合算することで教師ラベルを合成しております。その結果、ポジティブ文章は1670文章、ネガティブ文章は1143文章、合計2813文章になりました。教師ラベルの合成方法詳細はこちらのブログをご覧ください。) pandasデータフレームにデータを格納した状態を確認してみましょう。 df = pd.read_csv(CFG.local_input_file_path) display(df)

1 2 3 8