SAS Japan

活用事例からデータ分析のテクニックまで、SAS Japanが解き明かすアナリティクスの全て
Analytics
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などで、オフィスツールの使い方などノウハウを共有をされている企業・組織もあるかと思います。それを全社規模のアナリティクス・プラットフォームで行うことで、データ分析に関わるナレッジをユーザー同士で培っていくイメージです。 まとめ 「このデータはこの目的に使えますか?」「あ、それはこの情報がないので使えないんですよ。こちらのデータを私は使ってますよ」データ分析者の間でよく交わされる会話です。この問いにいかに迅速に答えられるかが、データ分析の効率性と正確性を高めます。「情報資産カタログ」はまさにこの問いに答えるための機能なのです。

1 2 3 4 5 55