データサイエンスの使いどころ・・・攻めと守りの圧倒的な違い 以前のブログで、データ活用における攻めと守りについてお話しました。今回は小売業を例に多くのデータ活用プロジェクトが陥りやすい罠と、真の目的達成のための方法についてご紹介します。 小売業の目的はもちろん他の業種企業と変わらず、収益の最大化です。昨今データ分析を武器として売り上げの最大化、コストの削減、業務プロセスの生産性向上を目指す企業が増えてきています。時には、データサイエンティストが、データサイエンスを駆使してプロジェクトを実行しているケースもあるでしょう。 ここで、今一度現在取り組んでいる、またはこれから取り組もうとしているデータサイエンスやAI活用のプロジェクトがどんな利益を自社にもたらすのかを改めて考えてみましょう。昨今、需要予測についての相談が非常に多いので、ここでは需要予測について考えてみます。 弊社にご相談いただくケースの中で、少なくない企業が、需要予測をこのブログで言うところの「守りの意思決定」としてとらえています。多くのケースで、過去の実績をベースに将来の需要を予測することで、在庫過多や欠品を減らそうというプロジェクトに投資をしていたり、しようとしています。言い換えると、過去の実績を学習データとして、将来を予測するモデルを構築し、ひとつの将来の需要予測を作成し、それを在庫を加味したうえで、発注につなげています。 手段が目的化することで見失う可能性のある本来の目的とは 非常に典型的なAI活用、データサイエンス活用かと思いますが、実は、「AIで予測」、「機械学習で予測」といった言葉で最新のデータ活用をしているかのような錯覚に陥っているケースが見受けられます。数十年前から行われており、昨今でも同様に行われている、機械学習を用いた典型的な需要予測は、「守り」です。すなわち、どんなに多くの種類のデータを使うかどうかにかかわらず、過去の傾向が未来も続くという前提のもとに予測モデルを作成している場合には、あらかじめ定義した前提・業務プロセスの制約の下で、機会損失を最小化するために予測精度をあげているにすぎません。 つまり、そのような前提での需要予測は、小売業の収益向上という観点では、期待効果が限定的であるということです。では、最終的な収益の最大化を実現するには、何をすべきでしょうか? 収益を向上させるためにはもちろんより多くの商品を売ることにほかなりません。より多くの商品を売るためには当然、顧客の購買心理における購買機会に対して販売を最大化する必要があります。あるいは、顧客の購買心理そのものを潜在的なものから顕在化したものにすることも必要でしょう。つまり、販売機会を最大限に活用するということは、店舗中心ではなく、顧客中心に考えるということです。 小売業における攻めのデータ活用の1つは、品ぞろえの最適化 このように、顧客中心に考えることで初めて最適な品揃えの仮説検証のサイクルが可能となります。過去のデータは、単に過去の企業活動の結果であり、世の中の「真理~ここでは顧客の本当の購買思考」を表しているわけではありません。真理への到達は、仮説検証ベースの実験によってのみ可能になります。わかりやすく言うと皆さんよくご存じのABテストです。このような実験により、品ぞろえを最適化することで、販売機会を最大化することが可能なります。そのプロセスと並行して、オペレーショナルな需要予測を実践していくことが重要となります。 需要予測と品ぞろえ最適化の進化 昨今、AIブーム、データサイエンティストブーム、人手不足や働き方改革といったトレンドの中で、従来データ活用に投資してこなかった小売業においても投資が進んでいます。しかし多くのケースでこれまで述べてきたような守りのデータ活用にとどまっていたり、古くから行われている方法や手法にとどまっているケースが見受けられます。歴史から学ぶことで、無用なPOCや効率の悪い投資を避けることができます。今、自社で行っていることがこの歴史の中でどこに位置しているかを考えてみることで、投資の効率性の向上に是非役立てていただければと思います。 小売業におけるデータ活用のROI最大化にむけたフレームワーク SASでは長年、小売業や消費財メーカのお客様とともにお客様のビジネスの課題解決に取り組んできました。その過程で、小売業・消費財メーカー企業内の個々の業務プロセスを個別最適するのではなく、それら個々の業務プロセスを統合した、エンタープライズな意思決定フレームワークが重要であるとの結論に至っています。AIやデータサイエンスという手段を活用し、データドリブンな意思決定のための投資対効果を最大化するための羅針盤としてご活用いただければと思います。
Japanese
はじめに 統計的因果推論における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
社会におけるデータ活用の拡大に伴い、データ活用人材の需要はますます大きくなってきています。東京理科大学データサイエンスセンターと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・通信・インターネットの分野において、転職による給与の上昇が期待できるようです。最近では、経験者を募集する割合が減ってきていることも人材不足を反映しているかもしれません。
ビジネスにおけるデータ活用のゴールとは? データ活用はもちろん手段ですのでビジネス上の様々な目的が考えられます。今回は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への投資、その際にどのような人材を育成・獲得する必要があるのかが見えてくるのではないでしょうか。
近年、AI/アナリティクス市場に巨大ITベンダーが参入してきたことと、データサイエンティストがその存在感を高めようとしてきたことがあいまって、「予測」、「予測モデル」あるいは「AI予測」、「AIモデル」という言葉が、この市場で一般的になってきました。ビジネスにおいて、データ分析による洞察に基づいてよりよい意思決定と自動化を行うことーこれを「アナリティクス」と言いますーは、筆者がこの世界に足を踏み入れた20年以上前よりもっと前から、一部の「データを武器とする企業」において行われていました。それがより多くの企業に広まってきたということです。 今回は、より多くの方が「予測」について理解を深めてきているところで、その「予測」をもう少し深く理解し、近年の世界情勢において、大きく変化が求められている業界の1つである、流通小売業や製造業のサプライチェーン課題にフォーカスしたいと思います。まさにいま、サプライチェーンの大きな課題はレジリエンス強化です。そのための解決ソリューションとしてデジタルツインが注目されていますが、デジタルツインで何をすべきかを適切に見極めるために必要なおさらいとして、そもそも不確実性とは?について頭の中を整理したいと思います。 アナリティクスとは将来の不確実性に対して勇気を出して踏み出すーつまり行動するーことである。 「予測」という概念が広まることで、「予測」が確率的であるという認知も正しく広まってきました。需要予測値は確率的なものであるため、予測値そのものだけではなく安全在庫を計算するためにその確率を活用し、解約予兆、商品のレコメンデーションへの反応、不正検知、異常検知や歩留まりなど、アナリティクスつまり予測モデルを意思決定に適用するほとんどの意思決定は、すべて確率的なものです。よく見る予測モデル以外でも同様です。最適化も多くの場合その入力となる情報が確率的にばらついているケースが多いですし、近年、古典的な最適化手法が当てはまりずらいビジネス課題、例えばサプライチェーンの最適化、リアルタイムの配送スケジューリングなどの課題やカスタマージャーニーの最適化課題に対して適用される強化学習のアプローチにおいても、将来の報酬を確率的に計算して、目の前の一手を決めているといえます。 ここで唐突に余談ですが、リスクという言葉は日本語だとネガティブな意味に使われることが多いですが、本来はポジティブでもネガティブでもなく、単に確率的なバラツキを意味しています。なのでリスクを管理するということは、単に将来に対して確率的なバラツキを特定し意思決定の要因に組み込むということです。つまりこれはアナリティクスと同義です。なので、アナリティクスとアナリシスは語感は似ていますが、意味はだいぶ異なるということになります。 不確実性の1つは過去の経験から得られる確率 これは、上述した「リスク」です。どのような事象が起きたか?それが起こる確率はどれくらいか?そのインパクトはどの程度か?などについて過去の経験に基づいて洞察が得られるものです。例えば、輸送の遅れ、需要のバラツキ、ITシステムの障害、消費者の購買行動におけるバラツキ、設備などの停止、部品の故障率や製造品質などです。このような不確実性は過去のデータを分析することで予測可能です。このタイプの不確実性を今回は、「予測可能な不確実性」と呼ぶことにします。この「予測可能な不確実性」への対処に関しては、長年の経験から、多くのケースにおいて理論が確立してアナリティクスのベストプラクティスにすでに組み込まれています。 近年ニーズが増えてきたもう一つの不確実性への対応 こちらはずばり、過去に起きてないために予測することが困難な事象です。例えば、COVID-19、自然災害、特定地域での紛争や各国の政治情勢の変化などです。海洋の変化が予測とは大きく異なり漁獲高が計画と大きく乖離して輸出の計画が崩れて困っているという事例も該当します。特にサプライチェーン管理が必要な多くの企業は、近年特にこのような事象により、サプライチェーンが突如として混乱に見舞われるという経験をされているでしょう。このような不確実性は、過去に起きてない事象であっても、あらゆる情報を収集することで将来の起こる可能性についての洞察をある程度得ることができることもあります。ソーシャルメディアを分析することで、その国の経済の先行指標としての洞察を得たり、政治的な変化の予兆につなげるという活用方法も実際にされてきています。しかし、自社のサプライチェーンに関わる世界中のあらゆる状況に対して調べつくすということは、ほとんどの企業にとっては投資対効果的に見合わないと思います。したがって、サプライチェーンにおいては、そのような事象によって混乱した状態からなるべく早く回復するために、自社のサプライチェーンの脆弱性を理解し、起こりうるシナリオを想定して、それに備えることに投資の目を向けます。このようなタイプの不確実性を今回は、「予測困難な不確実性」と呼ぶことにします。 デジタルツインでは二つの不確実性への対応が価値をもたらす デジタルツインですが、そもそもビジネスをデータに基づいた意思決定にしている世界は部分的には47年前からデジタルツインだと言えます(ちょっと強引すぎますかね)。SASは1976年に穀物の収穫高の予測を電子的統計手法で行ったのがスタートです。ITの進化、IOT技術の進化に伴いより多くのデータが観測・収集できるようになり、ビジネスの一部だけでなくより全体がデータの世界で表現できる様になりました。近年ではそれを「デジタルツイン」と呼んでいます。サプライチェーンのデジタルツインを実現して、皆様はどんな課題を解決したいでしょうか?今回取り上げた「予測可能な不確実性」と「予測不可能な不確実性」を理解することで、デジタルツインを活用した「現実世界のよりよい理解」、「その理解に基づく意思決定」、「シナリオ分析」や「シミュレーション」を適切に行うことができるようになり、将来起こりうることに対して、よりよい対処が可能となるでしょう。 この話の続きが気になる方へ SASのデジタルツインの最新の取り組みについてはまずはこちらのプレスリリースをご覧ください。 また、デジタルツインやシミュレーションについて他のユースケースなどご興味ある方は、こちらのCosmo Tech社の(英語)もお役に立つと思います。
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
一、背景の紹介 "データアナリストのようなヘビーユーザと利用頻度が低いユーザや参照系のユーザなど、さまざまなユーザがおり、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
SASが提供する大学講義「アナリティクス入門」のブログ・シリーズ、前回は記述的アナリティクスについてまとめました。今回は4つのアナリティクスのレベルの2つ目、診断的アナリティクスについてまとめます。診断的アナリティクスは、要因分析・効果検証・統計的因果推論などの手法を用い、事象がなぜ起こったかを分析します。 収入が多い家庭の子供は学力が高いか? 数年前のNewsweekの記事に、教育の不平等を取り上げたものがありました。子供の教育にはお金がかかり、収入が多い家庭しか良い学歴を得られないという論調です。東京大学生の親の年収分布と45-54歳男性の年収分布を比較し、前者では年収950万円以上が62.7%もいるのに対し、後者は12.2%であることをデータとして掲載しています。さて、このデータから「東大に入学できたのは親の収入が多いからである」と主張するのは正しいでしょうか? 子供の教育にお金がかかることは事実だと思いますが(日々実感しております)、先程のデータから「親の収入→東大」の因果関係を導くには、対応しなければいけない反論をいくつか思いつくことができます。 まず、取得したデータに偏りはないでしょうか。東京大学の学生は、東京を中心とした関東出身者が多いと思いますが、全国と比較して、東京在住者の収入は高いので、その影響が出た可能性があります。また、「一般の男性」は「大学生の子供がいる年代」のデータのようですが、「実際に大学生がいる」かどうかはわかりません。一般に、子供がいる世帯のほうが子供のいない世帯より収入が多いので、これも影響が出ている可能性があります。このように、集計対象のデータの偏り(バイアス)により、適切な比較がなされていない可能性があります。 また、「収入の多さ」と「東大への入学」に関係があっても、因果関係は無いかもしれません。例えば、家族や地域の「教育熱心に対する考え方」が収入や学歴に同時に影響を与える場合、擬似的な相関が現れる場合があります(偽相関)。このような交絡要因を考慮しないと、真の因果関係を割り出すことは難しいです。(念のため書いておきますが、Newsweekの記事が間違っていると主張しているわけではありません。考慮すべきバイアスや交絡がありそう、という主張です) キャンペーン・メールの効果 企業では、商品の購買促進のために、顧客に直接メールを送り、商品の案内をするということを行うことがあります。このとき、メール配信の効果を知るためには、メールを送った顧客の購買量とメールを送らなかった顧客の購買量の差分をとればよい、と考えることができます。しかし、もしメールの配信を「もともと買ってくれそうな人」を対象としていた場合はどうでしょうか。効果的にメールを送るには、このような対象に限定することは合理的ですので、このような場合は多いでしょう。しかし、買ってくれそうな人にメールを送っていたとすれば、メールを送った顧客は「もともとメールがなくても買っていた」人だったかもしれません。つまり、メールを配信した効果は単純比較の差分量より小さい可能性があります。このときの、「メールを送った人のほうがもともと購入しやすかった」という偏りをセレクション・バイアスと呼びます。 バイアスや交絡を除去する方法 バイアスや交絡を除去する最も強力な方法はランダム化比較実験です。対象を「メールを送るグループ」と「送らないグループ」に振り分けることにより、データ取得の段階からバイアスや交絡を含まない比較対象を作ることができます。薬剤やワクチンの効果の検証は、この方法が採られます。どれぐらいの実験対象を用意し、測定された効果が偶然現れたものではないことを統計学的に検証します。このあたりは、ライフサイエンスの事例の回で詳細に紹介します。 一方で、ランダム化比較実験はコストがかかります。さきほどのメールの例でいえば、買ってくれそうな人に送ったほうが効果的なメールを、あえて効果が低い人にも送る必要があります。薬剤の治験では、協力してくれた被験者に報酬を支払います。また、例えば「子供手当の効果」の検証など、そもそもランダムに振り分けることができない場合もあるでしょう。そういった場合には、実験で計測されたデータではない、観察データを用いて統計学的に効果や因果を検証することになります。この方法は統計的因果推論と呼ばれます。統計的因果推論については、こちらのブログ・シリーズで詳しく解説されています。 観察データから因果や効果を推定するには、「もしかしたらこういう要因があるのではないか」という候補を多く集め、それらの影響を丁寧に検証する必要があります。そういった候補を網羅的に思いつくには、その領域への深い知識が必要です。データサイエンスにおけるドメイン知識の重要性は、前回述べたデータ準備においてそれぞれのデータの意味や特徴を捉えるとともに、このような要因分析・因果推論における交絡要因を抜き出すことにも関連します。 研究における診断的アナリティクス 米国バージニア・コモンウェルス大学のMessyがんセンターで、がんによる死亡の社会要因を研究している事例があります。ここでは、所得や教育水準など、社会的な不利な立場ががんの死亡率に与える影響を研究しています。このためには、年齢や体重、喫煙、飲酒、食生活といったがんのリスク因子の他に、医療施設の場所や居住地域、人種、民族、収入などの社会的要因を総合的に検証する必要があります。このような多くの要因から、本当に影響がある要因を特定するためには、統計的因果推論が必要です。 また、ここでもやはり、データの質は重要です。多くのデータソースから個人をキーとしてデータを統合し、さまざまな要因(変数)を含む総合的なデータを作る必要があります。医療情報はセンシティブなデータになりやすいので、データの統合、研究者への共有、患者へのフィードバックといった利便性の追求と、セキュリティの確保の両面が大切です。
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」というコースでは、データ準備と可視化、レポーティングを学ぶことができます。ぜひご活用ください。
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.
一、背景の紹介 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
こんにちは!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)
こんにちは!SAS Institute Japanの堀内です。今回も自然言語処理について紹介いたします。 第1回目の投稿では、最近の自然言語処理の応用例とSAS社が携わった自然言語処理関連の実案件の概要を紹介しました。 第2回目の本投稿では実際にSASを使って日本語の文章を扱う自然言語処理の例を解説していきます。 テキストデータって何? 自然言語処理を語る前に、自然言語処理が処理対象とするデータのことを知る必要があります。自然言語処理で扱われるデータはテキストデータと呼ばれています。ここからはテキストデータがどういうものか探っていきます。 テキストとは以下のようなものです。 「自然言語処理で扱われるデータはテキストデータと呼ばれています。本投稿ではテキストデータがどういうものか探っていきます。」 何の変哲もない日本語の文章です。日本語以外の言語で書かれた文章ももちろんテキストと呼ばれます。 ではテキストデータとは何でしょう?データと言うからには何らかの構造を持っていると考えます。例えば行と列が与えられたテーブルデータがわかりやすい例です。 テキストデータと呼ぶとき、テキストに何らかの構造を与えられたものを想起すると良いかと思います。上で挙げたサンプルのテキストをテキストデータに変換してみましょう。 ["自然言語処理で扱われるデータはテキストデータと呼ばれています。", "本投稿ではテキストデータがどういうものか探っていきます。"] これは句読点でテキストを区切り、リストに格納した例です。やりかたは他にもあります、 [["自然言語処理", "で", "扱われる", "データ", "は", "テキストデータ", "と", "呼ばれて", "います", "。"], ["本投稿", "では", "テキストデータ", "が", "どういうもの", "か", "探って", "いきます", "。"]] これは先ほどの例で2つのテキストに区切ったうえで、それぞれのテキストを更に単語ごとに区切って別々のリストに格納した例になります。これをテーブルデータのように整えると、 ID COL1 COL2 COL3 COL4 COL5 COL6 COL7 COL8 COL9 COL10 1 自然言語処理 で 扱われる
こんにちは、SAS Japan の西井です。本ブログにアクセス頂きありがとうございます。私は 2019 年に SAS に入社しましたが、それまでは国内の自動車部品メーカーにて様々な化学素材や工業部材の基礎研究・量産化開発に 10 年以上携わって来ました。SAS 入社後は、国内の製造業のお客様へ業務課題解決のためのデータ分析のソリューション(ソフトウェアやサービス)を提供する仕事に従事しています。今回はそれらの経験を通じて感じた事をタイトルのブログ記事として記しました。製造業での DX 推進の一つのヒントになれば幸いです。 背景 近年、製造業におけるデジタルトランスフォーメーション (DX) が大きな注目を集めています。DX とは一般的に、データやデジタル技術を活用して、業務プロセスを変革し競争優位を確保していくことと定義されています (参照 1) 。 製造業で DX が求められる背景には、ビジネス環境の変化による製品競争力低下への強い危機感があると考えています。日本の製造業はこれまで、各社のコア技術を元にした高度な品質を有する製品群によって、長期にわたり競争力を維持して来ました。しかし2000年代以降、新興国の参入やサプライチェーンのグローバル化など様々なビジネス環境の変化により、その優勢性に陰りが見えるようになりました (参照 2) 。競争優位の再構築に向けて、単独の製品性能による価値だけでなく、バリューチェーンを横断する形での付加価値創出、例えばロジスティックの最適化や顧客サービスの高度化など、いわゆるビジネスモデルの変革へ向けた施策が多くの企業で試みられるようになりました。その際、重要な要素の一つがデジタル技術の活用であり、DX の概念と重なったため、最近より強く注目されるようになって来たと認識しています。 本ブログのスコープ 弊社 SAS Japan は国内の製造業のお客様へ分析ソフトやサービスの提供を行い、業務課題の解決や高度化への変革、DX 推進のサポートを進めております。その中でしばしばお客様から、このような DX の総論を聞いても、実感がわかない、自分の業務とどう関連するのかわからないというご意見をしばしば頂くことがあります。特に競争優位の中核である品質管理に関わっている技術者の方々にとっては、製造データを用いた生産・品質管理活動はかねてから実施しており、今後どのような変化が必要で具体的に何に着手して良いか理解しかねていると感じています。今回、そのような現場技術者の方や企業の DX 推進担当者の方々を対象に、一つの切り口の例として、これまで品質管理手法として長らく活用され今も活躍している SQC (Statical Quality Control: 統計的品質管理) にフォーカスを当て、どのように DX へ組み込み発展させることが可能か、提言したいと思います。 SQC とは SQC は、QC七つ道具などの可視化手法 (管理図など、参照
こんにちは!SAS Institute Japanの堀内です。今回は自然言語処理について紹介いたします。 自然言語処理とは、人間が普段会話したりメールしたりする際に使う言語(日本語や英語など)を、一種の信号とみたてて、その信号を機械が理解し、機械によって意味のある出力を得られるように工夫して処理することを指します。”自然”と明記しているのは機械にとっての日常語であるプログラム言語や機械言語と区別するためです。近年のAIやディープラーニングの発展とともに、この自然言語処理の分野も驚異的な進歩が見られ、私たちの日常生活の様々な分野で実際に活用されるようになってきました。第1回目の本投稿では、その内のいくつかを紹介いたします。第2回目以降は、実際にSASを使った自然言語処理の例を解説していく予定です。最後まで読んでいただければ、自然言語処理のホットトピックの内のいくつかを実装レベルで把握することができるようになるかと思いますのでどうぞお付き合いください。 最近の自然言語処理の実務適用例 チャットボット フリーテキストを入力欄に書き込むと、それに応じてボット(プログラムされた自動応答マシン)が適切な返答をテキストで返してくれるものです。様々なウェブページやアプリケーションに内蔵されるようになってきました。 例えば、不動産検索アプリに内蔵されたチャットボットでは、希望の条件をフリーテキストで入力すると、条件に合う物件を瞬時にレコメンドしてくれます。これによりユーザーが不動産検索サイトで条件を指定したり、相談窓口に電話して担当者に希望を伝えたりする手間が省けるようになってきています。 文書検索 手元にある長文の文書(例えば小説や論文など)と類似する文書を探したいとき、皆さんはどうしていますか?検索キーワードをいくつかピックアップしてGoogleなどのサーチエンジンで検索する、というのが最もオーソドックスな方法かと思いますが、最近では文書をまるごとサーチエンジンに入力し、似ている文書を探してくる文書検索ができるようになってきました。似ている文書がどのくらい似ているのかという指標も併せて返してくれるので、大量の論文を検索しなければならないビジネスや研究分野においては、検索の手間が大幅に減り大変便利です。 自動採点 皆さんも学校の国語や英語の授業で、長文を読んで質問に対して答えを書くという長文読解問題を解いたことがあるかと思います。私はこの手の問題が大の苦手でした。なぜならまず長文を読まなければならないのと、答えも一定の長さの文章を書かなければならず、とても手間に感じていました。実はこれ、テストを受ける生徒が嫌がるだけでなく、採点をする先生も同じくらい嫌だったのではないかなと思います。生徒の書いた解答文を読み解き、模範解答とされる文章と意味的に合致しているかという判断を下さなければならないのは結構手間がかかるはずです。実は最近の自然言語処理の発展により、この採点の部分を自動化することができるようになってきています。生徒の書いた文章と模範解答文との意味的距離をモデルが計算し、意味が近ければ正解、遠ければ不正解とすることができます。 また、長文のどの部分が解答となる要素を含んでいるか、というところまで判断し、解答文を自動作成することもできるようになってきました。これはQAタスクと呼ばれる自然言語処理の代表的なタスクの直接的な応用例になります。 オートフィル機能・スペルチェック機能(ライティング支援機能) 文書をタイピングする際、先読みして候補の単語をレコメンドしてくれたり、タイプした文のスペルチェックをしてくれたりする機能を皆さんも使ったことがあるかと思いますが、最近のものは複数行のセンテンスをレコメンドしてくれるようになってきました。またプログラミングの支援機能として書きたい内容をフリーテキストで書くと、該当のコードを提案してくれる機能がGitHubに実装されるなど、世の中はますます便利になりつつあります。(今私はブログを書いているわけですが、書きたいことの概要だけを書くと実際のブログ記事が提案されるようになったらどんなに仕事が捗るかと思います。) このように、これまで人間が苦労をして行っていた言語処理を機械ができるようになってきました。上にあげた例は実務適用例のごく一部です。様々な分野で自然言語処理が適用されようとしています。では、実際にSASではどのような事例が扱われているのでしょうか? SASによる事例紹介 ここではSASがこれまで手掛けてきた自然言語処理のプロジェクトの一部を紹介します。 MR活動最適化 フランスの製薬企業において、SNSデータを解析することでKOL (Key Opinion Leader: 製薬企業の販売促進に影響力を持つ医師などの専門家) のセグメンテーションを行い、MR活動の最適化を行いました。SNSデータの解析にVTA¹が用いられました。 紹介記事: https://www.linkedin.com/pulse/how-does-hcp-behavioral-segmentation-help-build-full-olivier-bouchard/ 院内有害事象発生防止の取り組み ノルウェー北部の中規模病院にて院内有害事象発生の未然防止のため標準的なツールGTT(トリガーツール)を半自動化する改良を加えることで、同等の精度を保ちながら院内有害事象の発見に要する時間を94%削減させました。電子カルテにはフリーテキストで記載された様々な様式の文書がありますが、そこから院内有害事象のトリガーとなる事象を抽出する部分にSASの自然言語処理の技術が使われました。 紹介記事: https://www.sas.com/da_dk/customers/helse-nord-patient-safety.html 有害事象発生予測 市販後の医薬品安全性監視において、FDA(アメリカ食品医薬品局)に寄せられた患者テキストの内、対象とする有害事象の発生を真に報告しているものをディープラーニングにより自動抽出する試みがなされました。テキスト解析とそれに続くディープラーニングによる予測モデルの構築にSASの技術が使われました。 紹介記事: https://communities.sas.com/t5/SAS-Global-Forum-Proceedings/Developing-a-SAS-Deep-Learning-MedDRA-encoder-MedDRA-DeepCoder/ta-p/735360 院内感染発生状況モニタリングシステム デンマーク南部地域一体の病院における、院内感染発生状況をモニタリングするシステムの開発が行われましたが、フリーテキストで記載された電子カルテの文書の中から、院内感染が疑われる箇所を抽出するアルゴリズムにSASの自然言語処理の技術が使われました。 紹介記事: https://www.sas.com/da_dk/customers/the-region-of-southern-denmark.html 消費者安全に関する報告のテキスト解析 消費者安全を担当するアメリカの政府機関に寄せられた消費者による様々な商品の安全性に関する報告文書を、VTAで解析し, VA²で可視化することで、単なる検索では得られないインサイトを得られることが分かりました。
はじめに 前回のコラムでは因果関係を統計学的に考えるために「潜在アウトカム」という概念を導入しました。そして、因果効果を異なる介入レベルの潜在アウトカムの比較によって定義しました。例えば、心臓移植という介入がその後の生存に関して因果効果を持つかどうかを考えたい場合には、各個人が心臓移植を受けたらどうなったか、もしくは受けなかったらどうなっていたかという2つのifの結果(潜在アウトカム)を考え、それぞれを比較します。これが潜在アウトカムの枠組みでの因果推論(Rubin流の因果推論)の基本的な考え方になります。 しかし、詳細については後述しますが、このifの結果である潜在アウトカムは、現実にはいずれか1つしか観測はされず、もう一方は現実には得られない結果(反事実)となるため、個人における因果効果は定義することは可能であっても、その値を求めることは一般には出来ません。しかし、平均因果効果については識別可能条件 (identifiability conditions) と呼ばれる以下の3つの仮定の下では、その値をデータから推定することが可能です。 一致性 (consistency) 交換可能性 (exchangeability) 正値性 (positivity) 今回のコラムではこれらが意図する内容について解説を行います。なお推定手法によっては追加の仮定や、ここで紹介したものとは異なる仮定が置かれる場合(e.g., 操作変数法)、暗に置かれている条件については補足資料や、各推定手法に関するコラムをご参照ください。 一致性 前述のように潜在アウトカムを用いるRubin流の因果推論においては、因果効果は異なる介入レベルの潜在アウトカムの比較によって定義されます。ここで1つ重要なことがあります。それは、潜在アウトカムと観測されるアウトカムは異なる概念であるということです。あくまで潜在アウトカムとは、〇〇という介入を「仮に受けたとしたらどのような結果となるかというifの結果」であり、観測されるアウトカムは〇〇という介入を「実際に受けた場合の結果」です。つまり、潜在アウトカムを用いて定義される因果効果をデータ(観測される結果)から考えるためには、これら2つの異なるアウトカムをリンクさせる必要があります。 そこで必要となるのが一致性 (consistency) と呼ばれる仮定です。一致性とは全ての個人に関して、ある介入A=aを受ける場合の潜在アウトカム Ya が、実際にその介入を受けた場合に観測されるアウトカムYと一致することを意味します。例えば、介入Aを心臓移植の有無、アウトカムを介入から5日後の生存の有無としたとき、ある個人に対して想定される潜在アウトカムは、介入を受けない場合と受ける場合の結果であるYia=0, Yia=1の2つです。ここで仮に、被験者は実際に介入を受けたとします。すると、手術から5日後に観察された結果Yは、手術の前に考えた潜在アウトカム Yia=1と同じであるというのが一致性が指す内容です。一見すると、大変当たり前のことを言っているように思われます。しかし、一致性は以下の2つの要素から構成され※1、これらが成立しない場合には、潜在アウトカムと観測されるアウトカムが一致しない、もしくは後述の式の様な単純な関係とはならない場面があります。 precise definition of the counterfactual outcomes linkage of the counterfactual outcomes to the observed outcomes 1つ目の要素は、潜在アウトカムを構成する要素が十分に定義されているかどうかに関する項目です。ここまで心臓移植という介入の因果効果を考えるにあたり、介入を受ける場合の潜在アウトカム Ya=1と受けない場合の潜在アウトカムYa=0を比較しました。しかし、心臓移植を受けるといっても心臓移植を行う医師によって治療の効果は変わりうる可能性は十分考えられます(医師の手術の上手さが異なる)。このように単に介入を受けるといっても複数のバージョンがあり (multiple versions of treatment) 、かつ、それぞれの場合で介入による効果が異なる場合には、治療を受ける場合の潜在アウトカムを単にYia=1とするのではなく、どのような治療を受けるのかといった情報まで含めて、潜在アウトカムの定義をする必要があります。precise definition of the
はじめに 前回のブログでは、電力平準化問題が数理最適化のスケジューリング問題として扱えること、SASのCLP Procedureで簡単にモデリング可能であることを紹介しました。今回は具体的にサンプル問題でCLP Procedureの使い方を見ていきます(ブログ末尾にサンプルコード記載)。 CLP Procedureの使い方 ここではプロシジャの使い方を分かりやすく示すため、図1のような3タスク、2設備の簡略化された問題のスケジューリングを例として説明します。タスクの詳細な設定は表1の通りとします。 中身の詳しい説明に入る前に、一つだけ最適化の処理で理解しておくべき概念として、Resourceというものを紹介します。Resourceとはタスクを実行するために必要な何かしらの資源で、CLP Procedureによるスケジューリングでは「ある時間帯の使用電力がXである=電力という資源をX占有する」のように読み替えることがポイントです。図1を例にとると、全体のResourceとしては電力設備M1とM2が1つずつ、電力は設定した電力上限分が用意されており、タスクA実行中は電力設備M1というResourceを1つ、電力というResourceを電力波形で表される分だけ各時間で占有する、と見なすことができます。最終的に実行可能なスケジュール(同じ時間帯に複数のタスクが同じ設備で実行されない、電力上限を超過しない)を作成することは、各タスクが上限の範囲内で上手くResourceを分け合うような割り当てを作成することに置き換えられます。 では、実際にSASコードでCLP Procedureを呼び出してスケジューリングを行う部分ですが、必要なのは以下のコードだけです。 proc clp actdata=act resdata=res schedtime=outtime schedres=outres; run; “schedtime”と”schedres”は出力先データセットの指定なので、ユーザーが用意する必要があるのは入力データの”actdata”と”resdata”のみです。では、それぞれのデータセットの内容を確認してみましょう。 “resdata”ではResourceの設定を行います。上での説明の通り、電力設備M1とM2が1つずつで、使用可能な電力総量の上限が“12”であることを表現しており非常に簡潔な設定です。 “actdata”はスケジューリングの対象となる最小要素であるActivityの設定を行います。今回の例では、タスクを図1のように分割したフェーズそれぞれを一つのActivityと考えます。こちらのデータセットは様々な要素が一行に並んでいるのでやや複雑ですが、設定項目は大まかに5種類の系統に分かれます。 まず_ACTIVITY_列では、各Activityにそれぞれ固有のIDを設定します。タスクAを例にとると、各フェーズの電力使用に当たるA01~A05と、タスク全体として設備M1を使用することを表すA00を設定しています。今回の問題では「設備M1を使用している間電力を使用する」という前提なので、A00の_DURATION_とA01~A05の合計が一致していることが確認できます。問題によっては「待ち時間などで使用電力0だが設備は占有したまま」のような状況で、両者の_DURATION_が異なる設定もあり得ます。 _SUCCESSOR_は前後関係を設定する対象のActivityを示しており、前後関係の種類と程度は_LAG_と_LAGDUR_で指定します。例えばFSは、「当該ActivityのFinishと_SUCCESSOR_で指定するActivityのStartの差が_LAGDUR_で指定する値以上」を示しています。今回の例では一つのタスクを分割したフェーズに相当するActivityは常に間を空けることなく実行されるため、_LAG_=FSE(FinishとStartが_LAGDUR_にEqual)、_LAGDUR_=0と設定しています。6行目のように、「タスクAの後3時間単位空けてタスクBを開始する」という業務的な意味での前後関係を表すのにも使用できます。また1行目のA00では、_LAG_=SSE(StartとStartが_LAGDUR_にEqual)でA01と開始が一致するように設定されていることにも注意が必要です。設定の詳細はマニュアルをご覧ください。 _ALIGNDATE_と_ALIGNTYPE_の組み合わせは_SUCCESSOR_と_LAG_の関係に似ていて、当該Activityと_ALIGNDATE_で指定した期日の間に_ALIGNTYPE_で指定する前後関係を設定します。例えば作業に着手可能になる時期や納期を表すのに使用でき、12行目では_ALIGNTYPE_=FEQ(Finishが_ALIGNDATE_=24にEqual)で「タスクB(のフェーズ5)が時刻24丁度に終了すること」を指定しています。 この設定でCLP Procedureを実行すると以下のような結果が得られ、時間に関する結果の”schedtime”とResourceに関する結果の”schedres”が出力されます。”schedtime”は各Activityをどの時間枠に割り当てるかという関心のある結果そのもの、”schedres”には例えば(今回の問題とは異なり)タスクを実行する設備にも選択肢がある場合のResourceの割り当てが出力されています。 最後に少しデータの加工が必要ですが、以下のようにガントチャートや電力波形に可視化して、諸々の条件が満たされたスケジュールになっていることが確認できます。図2 では"resdata"(表2)で指定した、「使用可能な電力総量の上限が“12”」を下回っていることが確認できます。 なお前回も記載しましたが、「ピーク値をどこまで下げることができるか?」を知りたい場合は、「使用可能な電力総量の上限」の指定値を下げて計算し、その条件を満たすスケジュールが作成可能かを調べることで下限を得ることができます。 まとめ 本ブログでは電力平準化問題を例として、CLP Procedureの使い方を見てきました。手順の中心となる入力データ準備の部分は、他のプログラミング言語で用意したものを読み込ませても良いですし、規模が小さければExcel上で作成してしまうことも可能です。SAS言語の知識も最適化の知識も最小限で、便利にスケジューリング機能が使えると感じていただけたなら幸いです。(反響があれば、設備の割り当ても考える場合など、より高度なモデリング方法についても取り上げます) サンプルコード 入力データは全てdataステップで作成しています。ganttプロシジャはclpプロシジャの結果である"schedtime"をほとんどそのまま使用できます(今回はグループ化の処理だけ追加しています)。使用電力の棒グラフについては、今回説明していないデータ加工が多少必要になるため、ソースコードからは割愛しています。 data res; input _RESOURCE_ $ _CAPACITY_; datalines; M1 1 M2 1 El 12 ;
はじめに 2022年も半ばを過ぎましたが、今年は何かと電力需給関係の話題を耳にすることが多くなっています。まず3月下旬には、直前に発生した福島県沖地震の影響で火力発電所が停止したことと寒波が重なり、東京電力と東北電力の管内で電力需給ひっ迫警報(予備率3%以下)が発令されました。そして6月下旬にも想定外の猛暑により、東京電力管内で電力需給ひっ迫注意報(予備率5%以下)が発令されています。事業者の皆様にとっても、政府からの節電要請など対応の必要な課題の一つではないでしょうか。 さて、本ブログでは製造業のスケジューリングを例にとって、使用電力の平準化(ピーク時間帯をシフトする、またピークそのものを下げる)問題に対するSASのアプローチをご紹介します。そもそも一般的なスケジューリング問題は数理最適化問題として扱えることが知られていますが、電力平準化問題も同様の枠組みで解決可能です。数理最適化によるスケジューリングは事例も豊富で歴史もある分野なのですが、通常の最適化エンジンを使用したスケジューリング問題のモデリングには背景にある数理最適化の理解が必要不可欠で、経験の無い方にとっては中々手を出しにくい代物というのが実情です。一方SAS Optimization(またはSAS/OR)にはスケジューリング問題専用の機能があり、CLP Procedureにフォーマットに従ったデータを与えるだけで、ほとんど数理最適化の理論を意識することなく簡単にモデリングすることができます。SASにはあまり最適化のイメージは無いかもしれませんが、本ブログをきっかけに意外と便利な機能が揃っていることを知っていただけたら幸いです。 問題設定 本ブログのスケジューリングで対象にするタスクとは、製造業における一連の生産プロセスのように、一度開始すると所定時間まで途中で中断することのできない作業のまとまりを指し、その間継続的に電力を使用するものとします(タスクごとに使用電力の推移がどうなるかは、過去の実績や予測としてデータ化されている必要があります)。 そして「使用電力を平準化する」とは、非常に単純に表現すると図1のように、使用電力の大きいタスクの時間的重なりをできるだけ解消してピークを下げることです。もちろん現実の問題では、設備の数や納期など様々な制約が存在するので、それらを考慮したスケジュールを作成する必要があります。 では次に、スケジューリング問題として扱いやすくするため現実の問題に対して行う、二つの側面からの近似を説明します。一つ目は時間軸に関する近似で、最小の時間単位を決めてその単位に粒度を丸めます。例えば30分単位で1日分のスケジュールを立てる場合、各タスクの所要時間も30分単位に切り上げて丸めて、「1日分48個の時間枠のどこからどこに割り当てるか」という処理を行うようにします。もう一つは電力波形に関する近似で、もとの波形を階段状に近似します。階段状の近似では、実際の電力波形の傾向が変わるなどキリの良い時点で分割して(フェーズに分割)、各フェーズの使用電力は常に期間中の最大値と同じとみなすような近似を行います。30分単位のスケジューリングを行う場合は、フェーズの所要時間も30分単位になるよう切り分けます。ここでは実際の電力波形を四角いブロックで覆うように近似していますが、もとの波形から多めに余裕を見て使用電力を設定している状況に該当しますので、このシミュレーションで電力ピークを削減できれば、実際にはもっと大きく削減できる可能性があるということになります。「時間軸はどれくらい細かく設定するか」や「タスクを何フェーズに分割するか」は、最終的なスケジュールの精度に影響しますので、問題の設定者が処理時間(細かくすればするほど計算の処理時間は伸びる)との兼ね合いで決定していく要素になります。電力に限定すると、電力会社の集計が30分単位なので、30分単位のスケジューリングには妥当性があります。 このような設定のタスクが複数存在してそれぞれのタスクを実行可能な設備が決まっている場合に、「各タスクをいつ開始するか」を上手く調節して、使用電力合計のピークが所定の上限を超えないようなスケジュールを作成することが今回の目的です。 本手法で行うのは与えた使用電力の上限を超えないスケジュールを作成することなので、いくらまでピーク値を下げられるかは自動的には求められません。通常は業務的に意味のある目標値を指定しますが、「ピーク値をどこまで下げることができるか?」を知りたい場合は、電力上限の指定値を変えて複数回実行することで求められます。指定値が厳しすぎて実行可能なスケジュールが無い場合は解なしと出るので、そこに至るまで少しずつ指定値を下げて再実行する、もしくはそのような処理を自動で行うシステムを実装します。 以下はある程度複雑な問題(30分単位1週間分、10設備、20タスク、上限10kW)を解いた時の結果イメージです。弊社では実際のプロジェクトでも使用電力平準化の問題に取り組んだ事例があり、階段状近似によって実際より各タスクの使用電力を過大評価している分を加味しても、最適化によって作成したスケジュールの方が実績よりピークが低くなることを示せました。 次回はサンプル問題でCLP Procedureの使い方を詳しく説明します! まとめ 最後に電力平準化問題のビジネスインパクトについてですが、この問題で行っているのは使用電力のピーク値の削減で、使用量そのものを削減している訳ではない(合計すると同じ)ことに注意が必要です。電力会社との契約はピーク値に基づいて決まるため、それを小さくすることができれば一定のコスト削減効果はあります。また契約によっては時間帯によって料金が異なるため、高い時間帯からピークをずらせればその分だけのコスト削減も見込めます。ただし事業規模にもよりますが、この両者を総合しても、電力平準化だけで十分な投資対効果を得るのは難しい可能性もあります。一方、節電要請への対応はコストだけに還元できない社会的意義もあり、今後のディマンドレスポンス進展や、既に今冬にも予想されている電力ひっ迫への対応など、昨今の不安定な情勢へのBCPの一つとして十分に検討に値するテーマであるとも考えています。また同じような考え方で、より利益に直結するスケジューリングを検討することも可能です。 SASでは既存のユーザー様に対するライセンス追加や活用方法のアドバイス、既存・新規関わらずドメイン知識の豊富なコンサルタントによるプロジェクト化の支援など幅広く受け付けておりますので、ご興味を持たれた方は是非ご連絡ください。
アカデミア向けにアナリティクス・データサイエンスのキャリアを紹介するイベント「SAS アナリティクス・キャリアシンポジウム」において、SAS Institute Japan 株式会社 コンサルティングサービス統括本部のクラウス 舞恵瑠 氏が講演しました。本イベントは、「データサイエンティストになりたい」と考える学生が業務内容やキャリアをイメージできるようになることを目指し、2021年12月22日(水)に開催されました。前回の記事はこちら。 「大学院のときに学会に参加し、『もっと数学をやりたい』と気づいたときには、すでに就活が終わっていました…」と振り返るクラウス氏は、大学院ではオペレーションズ・リサーチを専攻していました。「やりたいことが分からないから」という理由でコンサルティングファームに就職し、システムの導入支援の業務につきましたが、在学中に参加した学会で芽生えた「数理的な手法で問題解決をしてみたい」という思いが強くなり、SAS Japanへの転職を決意します。 クラウス氏がSASで携わっている直近のプロジェクトのテーマは、「不良債権回収業務の回収益向上」というものです。通常、債務の返済を督促するときは電話をかけますが、人によっては訴訟に発展してしまう可能性もあります。そこで、返済状況や債務者のタイプによって督促の方法を変更したり、場合によっては債務を減額する提案をするほうが長期的には回収額が向上する場合があったりします。どのような督促・回収方法を取るのがよいのか、回収担当者の意思決定を支援するために、強化学習や最適化手法といったデータ分析を活用します。 「一般的なプロジェクトには業務フローがありますが、それぞれのフェーズにおいて必要となるスキルや知識は異なります」とクラウス氏は言います。プロジェクトのフェーズは①現状分析/効果検証、②要件定義、③設計/開発/テスト、④導入支援、⑤本番稼働、の5つに分けられます。それぞれのフェーズにおいて、①分析とドメイン知識、②コミュニケーション、③エンジニアリング、④コミュニケーション、⑤エンジニアリングのスキルが重要になります。 分析スキルのベースには線形代数、微分、統計などの数学的な力があり、それを活用するためにSASやPythonなどのツールやプログラミングのスキルがあります。業界やクライアントの業務に関する知識であるドメイン知識は、クラウス氏によると「非常に重要なもの」ですが、一方で「学生の間に身につけることは難しい」ものです。コミュニケーション・スキルは、クライアントの課題を明確にするためにヒアリングを実施し、また、プランや結果をクライアントにフィードバックするための資料を作成し、わかりやすく説明するためのスキルです。エンジニアリング・スキルは、参画するプロジェクトにもよりますが、GithubやSQLなどのテクノロジーを扱う技術が求められる傾向にあります。このうち、分析スキルは大学の授業などを通して、コミュニケーション・スキルはゼミなどを通して学生のうちに身につけることができそうです。 「これらのスキルをすべて伸ばしていくことはもちろん望ましいですが、私の現在の課題としては、より高度な分析スキルを身につけることです。そのためには、独学、勉強会、YouTubeなどさまざまな勉強法がありますが、一番大切なのは実務経験だと考えています」とクラウス氏は述べます。「学生にとっては実務経験を得ることは難しいですが、就職したあとに積極的に実務に携わり、経験を通してスキルを向上させていく意欲が大切です」と学生にエールを送りました。
はじめに データに基づいた意思決定が必要とされる場面が近年ますます増えており、そういった際には、データからいかに因果関係を導き出すかが非常に重要な問題です。”因果”を統計学的に捉え、いかにしてそれに迫るかは、統計的因果推論として体系化がなされています。SAS Blogでは、前回の記事からこの統計的因果推論に関する連載コラム・シリーズが始まりました。 因果関係を統計学的に導くことを目的とする統計的因果推論には、主に2つの枠組みがあります。1つは潜在アウトカムを用いるRubin流の考え方、そしてもう1つが構造的因果モデルを用いるPearl流の考え方です。これら2つの考え方は相反するものではなく、Pearl流の因果推論では、ある変数の特徴とそれらの関係を記述するために構造的因果モデル (SCM; Structural Causal Model) が用いられています。このSCMには対応するグラフィカル因果モデルがそれぞれ存在しており、その際に使用されるのが有向非巡回グラフ (DAG; Directed Acyclic Graph)※1です。このDAGはRubin流の因果推論においても、変数間の関係を視覚的に理解するために補助的に利用がされています。本コラム・シリーズでは前者の潜在アウトカムの枠組みでの因果推論について紹介を行います。今回は特にその根底となる潜在アウトカムについて、また、それを用いた因果関係の定義について説明します。 ※1 補足資料を参照 相関関係と因果関係 相関関係とは、ある2つの変数において、一方が増加するにつれてもう一方も増加(減少)する傾向があるという双方向の関係を意味しています。これに対し因果関係とは、ある2つの変数のうち、一方の操作可能な変数(原因)の値を変化させる(介入を行う)と、もう一方(結果)の値が変化するという、原因から結果への一方向的な関係です。これらの関係の違いを理解することは社会生活を送る上で非常に重要です。例えば、相関関係がある有名な例として、年収と血圧の関係があります。この2つの変数の間には正の相関関係(年収が高くなるほど血圧が高い傾向)があります。しかし、年収を上げるために血圧を上げる(Ex, 暴飲暴食を行う)ことは妥当でしょうか。もしくは、血圧を下げるために年収を下げる(Ex, 転職をする)ことは受け入れられることでしょうか。おそらく多くの読者の方の意見は「No」であるかと思います。この例からも察することができるように、相関関係と因果関係の存在とその方向というものは必ずしも一致しません。また、これらの関係を混同することは大きな不利益につながる可能性があります。上記の例であれば、真には血圧の増加は年収増加に対して因果的な効果を持たないのにも関わらず年収を上げるために無駄に暴飲暴食を行ってしまうことで、結果として不健康につながる可能性があります。 このように興味の対象が因果関係、因果効果である場面は比較的多く存在します。統計的因果推論 (causal inference) とはこれらを形而的、哲学的にではなく、統計学的に考える学問分野です。また、単に因果推論と言われる場合もあり、コラム中で単に因果推論と呼称した場合には、統計的因果推論を意味していることにご注意ください。データから因果効果を推定するために「傾向スコア」を用いた手法など様々なものが用いられています。しかし、これらの手法は適用さえすれば因果効果を適切に推定することができるというわけではありません。因果推論を行うにあたっては因果関係を検討する集団はどういった集団であるか、考える因果効果はどのような介入の効果であるかといった因果的な疑問 (causal question) を明確にすることがまず重要です。その上でデータへの手法の適用があります。また、それぞれの手法は異なる仮定を必要とするため、無条件で因果効果を求めることはできず、その仮定が目の前にあるデータに対してどの程度成立するものであるかといった議論も必要です。 加えて、推定する対象が手法間で異なるといった点や真の関係をゆがませる要因は何が想定されるのかなど、他にも様々な事を考慮する必要があり、慎重に議論を行っていくことが大切です。本コラムでは潜在アウトカムの枠組みでの因果推論の理論(考え方)と、一部の因果効果の推定手法についてのみ取り扱いますが、現実的にはそのような総合的な議論が重要です。 本コラムにおける用語 今回のコラムでは、心臓移植とその5日後の生存の間の因果関係を具体例として考えます。すなわち、心臓移植という介入が5日間の生存というアウトカムに対して、因果効果を持つかどうかを検討します。医療の分野では原因として考える要因を介入 (intervention) や処置 (treatment) 、曝露 (exposure)、結果変数のことをアウトカム (outcome) と呼ぶことが一般的であり、このコラム・シリーズでは、具体例として主に医療関連の話題を取り上げるため、基本的にはこのような呼称を行います。経済・金融系の分野では、因果効果があるかどうか検討したい要因が施策等である場面があるかと思いますが、因果推論の理論に関して変わりはないので、本コラムの例を読者の方がそれぞれ抱えている疑問に置き換えて考えるとよいでしょう。ただ、今後紹介する因果推論に関する様々な仮定の妥当性や分析に用いられるデータの特徴は、それぞれの分野によって異なりますので、その点ご理解ください。 潜在アウトカムによる因果効果 それでは早速、例を用いて潜在アウトカムとは何か、因果関係とは何かを考えていきます。具体的には心臓移植(介入)が5日後の生存(アウトカム)に対して因果的な効果があるのかどうかを考えます。この関係を検討するために、まずゼウスとヘラというある2人に対し、ともに介入を行うことを想定し、何らかの方法で以下の結果が得られたものとします。 ゼウスは1月1日に心臓移植を受けると、その5日後には死亡している。 ヘラは1月1日に心臓移植を受けると、その5日後は生存している。 このもしもの結果(介入を行う場合の結果)が分かったとき、心臓移植はゼウスとヘラの5日間の生存に対してそれぞれ因果効果を持つと結論付けることは可能でしょうか。一見すると、ゼウスは心臓移植後に死亡し、ヘラは生存していますので、ゼウスに対してはnegativeな因果効果(心臓移植により死亡した)、ヘラに対してはpositiveな因果効果(心臓移植により生存した)があったように見えます。しかし、その結論は正しいのでしょうか。もしかすると心臓移植を受けずとも、ゼウスは5日後には亡くなり、ヘラは生きていたのかもしれません(結果は変わらなかった)。もしくは心臓移植を行わなければ、逆にゼウスは生存し、ヘラは亡くなっていたのかもしれません。つまり因果効果があるかどうかについては、この結果だけでは判断することはできません。 では、どのような状況であれば因果関係かどうかを判断することができるでしょうか。その1つのアイディアがもし介入を受けなかったらどのような結果が得られたのかを考えることです。実際にはゼウスもヘラも介入を受けるか受けないかのいずれかしか取り得ないため、必ずどちらか一方の結果は現実的には得られない(反事実)ものとなってしまいますが※2、先ほどと同様に何かしらの方法でその場合の結果を知ることができたと仮定し、それぞれの場合の結果を比較するわけです。そして、それらの値が異なるのであれば介入の因果効果があるとし、同一であるのならば因果効果がないと判断します。 ゼウスとヘラに関しては、以下のようなifの結果が得られたとします。 ゼウスは1月1日に心臓移植を受けないと、その5日後は生存している。 ヘラは1月1日に心臓移植を受けないと、その5日後は生存している。 先程の結果も含め、介入を受ける場合と受けない場合の結果をまとめたものが下図です。 介入を受けない場合の結果が得られたことにより、心臓移植はゼウスに対しては5日後の生存に対し因果効果を与えた(ネガティブな効果)、ヘラには因果効果を与えなかった(介入があってもなくても結果は同じ)と判断することができます。おそらく、この判断に関しては読者の方々も特に異論はないかと思います。この例のように、ある介入を受けた場合のifの結果のことを潜在アウトカム (potential outcomes)
はじめに 根拠に基づいた意思決定を行うこと (EBPM; Evidence Based Policy Making) が、近年分野を問わず重要視されるようになってきています。意思決定を行う立場としては、根拠となる事象と結果の事象の間に因果関係があるのか、それとも相関関係しかないのかは大変大きな違いです。 因果関係と相関関係を混同した1つの有名な例として、チョコレート摂取量とノーベル賞の受賞者数に関する研究があります。この研究では、「チョコレートを多く摂取するとノーベル賞受賞者数が増加する」という因果関係の存在について触れられています。この論文は、2012年に世界で最も権威のある医学雑誌の1つである New England Journal of Medicine に掲載され、世界規模で大きな論争を引き起こしました。論文では、国ごとのチョコレート消費量とノーベル賞受賞者数を調べたところ、チョコレート消費量の多い国ほどノーベル賞受賞者数が多いというデータが示されました。論争のポイントとなったのは、各国のチョコレート消費量とノーベル賞受賞者数の関係が以下のどちらの関係であるかについてです。 チョコレートを摂取すればノーベル賞受賞者は増加する(因果関係) 別の隠れた要因がそれぞれに影響を与えており、チョコレート消費量とノーベル賞受賞者数の間に見かけ上の関連性が生まれている(相関関係) 一体どちらの主張が正しいのでしょうか。読者の方には、ぜひ今の意見と、このコラム連載が終了した後の意見を比較していただきたいと考えています。 統計的因果推論 (Causal causal inference) とは、因果関係をデータから導くための体系的な学問領域であり、2021年に David Card, Joshua Angrist, Guido Imbensの3名がノーベル経済学賞を受賞したことも相まって、現在大きな注目を集めています。しかし、その注目の程度と比べると、内容についてはあまり認知されていないように思います。そこで本ブログ・シリーズでは、統計的因果推論(または、単に因果推論)に関する連載を行います。データアナリティクスに関わる多くの方に、因果とは何か、それをデータから導くためには何が必要となるのかを理解をしていただき、適切なデータアナリティクスのために活用されることを望みます。連載コラムで取り扱う内容は以下を予定しています。 理論編 潜在アウトカムの枠組み 因果効果を求めるために必要な条件 観察研究と実験研究における交換可能性 選択バイアス (selection bias) 測定誤差 (measurement error) 手法・実装編 推定におけるモデルの必要性 層別化・回帰・標準化 傾向スコアとそれを用いた手法 操作変数法 理論編では、データから因果関係を考えるために必要となる概念、および仮定について取り扱います。また、観測される関係が真の関係と異なる要因について解説を行います。手法・実装編では、理論編で扱う潜在アウトカムの枠組みで因果効果を推定する手法についてSASでの実装方法とともに紹介を行います。SASソフトウェアでは、2016年以降のバージョンで、因果推論に特化した機能が利用できます。 なお、手法・実装編で紹介する因果効果の推定手法は、すべてを網羅しているわけではなく、回帰不連続デザインなど他にもいくつかの手法があることにご注意ください。 本コラムでは出来る限り数学的な記載は避け、直感的な表現をすることに努めますが、数理的な部分に興味がある方に向けた参考資料も準備しています。コラム中に登場する解析例で使用したプログラム・コードは著者のGithub上で公開を行う予定です。 謝辞 この連載記事では、参考文献として主に以下の2つを使用します。 Causal
医者の診断に例えて学ぶ AIを用いたセンサデータ分析システムに関するよくある誤解について 製造業で盛んに導入されているセンサ。そのセンサデータを分析してビジネスインパクトのある結果を出すには、どのようにしたら良いのでしょうか? データ分析を成功させるためには、様々な要素が考えられますが、ここではセンサデータの質に注目したいと思います。いくら高度なデータ分析手法を用いても、分析対象のセンサデータが正しく取得できていない場合は、結果が出ないことは容易に想像できますが、あまり議論されることはありません。 これは、センサ計測とデータ分析の両方を視野に入れた幅広いノウハウが必要となり、Information Technology (IT) と Operational Technology (OT)との融合という課題に行き着くためです。 本ブログでは、このマニアックな話題を、医者の診断に例えながら、わかりやすく解説していきます。 記事の振り返り: 自覚症状が無いセンサデータの品質問題 これまで「自覚症状が無いセンサデータの品質問題」をテーマとし、「センサデータの品質を向上させる7つのポイント」について(前編)と(中編)の2回に分けてお話ししました。生産ラインのDXのために、センサデータを用いてデータ分析をしているのだが、思うような結果が得られていないケースが市場で発生していることをお伝えし、その原因の一つとして、分析対象となるセンサデータ自体の品質問題があることをお伝えしました。この問題は関係者が気付きにくく、対処方法も専門知識と経験が必要となります。 今回の後編では下記の⑥~⑦について御説明します。 図1. センサデータの品質を向上させる7つのポイント ⑥データレイクに蓄積すべきデータの選択(特徴量抽出) これまでの記事で、課題解決にマッチした高品質なセンサデータを収集することが重要だと述べてきましたが、他にも重要なポイントがあります。データレイクに蓄積すべきデータをどのように選択するのかが、昨今、課題となっています。 理由としては、AIモデル開発と更新のために、ある程度の生データ保存が必要となるからです。 この問題は、PoC段階では大きな問題になりません。PoCと称して大量にデータを取って専門の担当者が解析するからです。問題はPoC後の現場での運用です。 図2. 関連データ/センサ/特徴量の戦略的選択 それはなぜでしょうか? 各種センサが作り出すデータ量は非常に大きく、センサによっては毎分1 GB 以上のデータを生成してしまい、通信ネットワークの負荷の問題や、クラウド上でのデータ保存のコストといった現実的な問題が見えてくるためです。 例えば、図1の右側の表に示すように、サーモグラフィは動画像のため、1分間で1GB以上のデータを生成します。この場合、従量課金/ネットワークトラフィック減への対応が必要となります。温度センサ等のデータ量は、数個であれば小容量ですが、数百個もセンサを使用するケースですと、1分間に数MBにもなります。このようなデータをクラウドへ転送し続ける必要があるのでしょうか? また、高額なセンサを減らすために、できるだけセンサの数を絞りたいという要望も出てきます。これがいわゆるデータ選択(特徴量抽出)をどうたらいのかという課題の本質であり、データ分析上、特徴量の選定が重要だという理由とは異なります。では一体、どんなデータが本当に必要なのか、またデータ量を減らす時にどのような形でエッジコンピューティングを活用すべきなのでしょうか? この技術的な見解は、今後、ブログにて紹介させて頂きたいと思っておりますが、ITとOTの両方の視点から検討する必要があります。 キーワードとしてはプロ同士の意見交換です。 ⑦プロ同士の意見交換が鍵となる ここまで、センサデータの品質がデータ分析に与える影響について、データ分析企業の視点で述べてきましたが、どの注意点も専門知識と経験を要するものばかりです。つまり、成功の鍵は、プロ同士の意見交換だと言えます(図3)。もしくは「業界を超えたコラボレーションの必要性」、「ITとOTとの融合が鍵になる」と表現しても良いかもしれません。 特に現場の熟練者との協業は必須となります。現場の熟練者から伺いたい事としては、測定対象物の詳細、製造プロセスや作業工程、異常状態の詳細、また、どういうメカニズムで異常が起こるのか情報交換させて頂くことが重要です。そして、それがどれだけ困ることなのかをプロジェクトチーム内で意見交換をして頂くことが重要だと言えます。そして、センサデータ収集からデータ分析までを広く見渡した上で、AIを用いたセンサデータ分析システムを構築していくことが成功への近道だと筆者は考えています。難しく感じられる方もおられると思いますが、このプロ同士の意見交換に関しては、日本人エンジニアが得意とする高度な擦り合わせ文化が活かせると信じております。 図3. プロ同士の意見交換が大事 以上、センサデータの品質を向上させる7つのポイントを、3回に分けて紹介致しました。気になる点がございましたら、弊社までお問い合わせ下さい! 前回のブログ
医者の診断に例えて学ぶ AIを用いたセンサデータ分析システムに関するよくある誤解について 製造業で盛んに導入されているセンサ。そのセンサデータを分析してビジネスインパクトのある結果を出すには、どのようにしたら良いのでしょうか? データ分析を成功させるためには、様々な要素が考えられますが、ここではセンサデータの質に注目したいと思います。いくら高度なデータ分析手法を用いても、分析対象のセンサデータが正しく取得できていない場合は、結果が出ないことは容易に想像できますが、あまり議論されることはありません。 これは、センサ計測とデータ分析の両方を視野に入れた幅広いノウハウが必要となり、Information Technology (IT) と Operational Technology (OT)との融合という課題に行き着くためです。 本ブログでは、このマニアックな話題を、医者の診断に例えながら、わかりやすく解説していきます。 記事の振り返り: 自覚症状が無いセンサデータの品質問題 これまで「自覚症状が無いセンサデータの品質問題」をテーマとし、前回は「センサデータの品質を向上させる7つのポイント(前編)」についてお話ししました。生産ラインのDXのために、センサデータを用いてデータ分析をしているのだが、思うような結果が得られていないケースが市場で発生していることをお伝えし、その原因の一つとして、分析対象となるセンサデータ自体の品質問題があることをお伝えしました。 この問題は関係者が気付きにくく、対処方法も専門知識と経験が必要となります。 そこで、「センサデータの品質を向上させる7つのポイント」について、今回の中編では下記の④~⑤まで御説明します。 図1. センサデータの品質を向上させる7つのポイント ④センサの設置方法 センサは種類に応じて必ずメーカが推奨する設置方法が決められています。図2は圧電型加速度センサの設置方法と注意点であり、加速度センサメーカから提供されている一般的な公開情報です。重要なのは、設置方法によっては必要なデータが得られないことです。例えば、計測可能な上限周波数は、プローブだと1 kHzが限界ですが、ネジ留めだと15 kHz近くまで測れます。これも筆者が経験した事例ですが、ユーザ様が自己流で両面テープを用いて加速度センサを貼り付けておられたために、振動が吸収されてしまい、正確な計測ができていなかったことがありました。これはさすがに、高度なデータ分析を実施する以前の問題でしたので、すぐに改善をお願いしました。 図2. 加速度センサの設置ミスによる振動データのロスト ⑤データ収集装置の選定 データ収集装置自体の性能不足が問題になることがあります。これは盲点であり、自覚症状が出にくいものです。たとえ高精度なセンサを設置してデータ収集したとしても、適切なデータ収集装置を選定しなかったために、データの精度を低下させてしまうケースがあります。特に重要なのは、サンプリング周波数、分解能、同期計測の3つです(図3)。 図3. 適切な計測装置の使用が不可欠 サンプリング周波数に関しては、計測器の選定基準の一つとして必ずカタログ等に記載されており、また、近年はサンプリング周波数が不足しているデータ収集装置は稀なため、選定ミスの原因にはなりにくくなっています。しかし、分解能に関しては注意が必要です。例えば、加速度センサやマイクロフォンを用いた計測では、 24 bit分解能のデータ収集装置を使用するのが業界標準だが、16 bit分解能の装置を使用しているケースがあります(一般的なオシロスコープは8 bit分解能)。この場合、計測データに与える影響としては、波形再現性の悪化と微少な変化の取りこぼしが発生します。仮に機械学習を用いて異常検出をするとしたら、感度不足が起こる可能性があります(表1)。 表1. センサ計測ミスの原因とデータ分析に与える影響 極めて重要であるにもかかわらず、ほとんど意識されていないのが、同期計測です。各種センサデータ同士の時間的タイミングが取れていない場合は、厳密なデータ分析ができない場合があるからです。例えば、周期性のある回転機械や往復運動機械の異常検知を行う場合には、各種信号の立ち上がりタイミングや信号の発生サイクルが異常検知上、大きな意味を持つため、同期が取れていないデータでは異常検出が困難な場合あります(図4)。厳密には、計測装置の同期精度が、実施したいデータ分析用途に合っているかどうか判断する必要があります。高速動作をする精密機械の状態監視では、マイクロ秒レベルの同期精度が要求される場合もあり、一般的な工作機械ではミリ秒レベルで十分な場合があります。 図4.同期計測の重要性 データ収集装置の選定ミスにより、不具合の発見ができなかったという事例を、筆者は数件経験しています。例えば、高速印刷機の印刷ズレの原因分析に携わった時のことです。原因はベアリングのわずかな損傷で、それが原因で印刷ズレが発生していました。ですが、お客様のお持ちのデータ収集装置は、サンプリング周波数と分解能が低く、異常波形が検出できておりませんでした。そのため、筆者が持ち込んだデータ収集装置を使い原因分析は成功しました。加速度センサは最高のものでしたが、それを活かしきれるデータ収集装置の選定に問題があったという事例でした。 これまでの記事で、センサデータの品質を向上させる7つのポイントのうち5つを紹介してきました。 残り2つのポイントは、後編にて御説明します。 前回のブログ 次回に続く
医者の診断に例えて学ぶ AIを用いたセンサデータ分析システムに関するよくある誤解について 製造業で盛んに導入されているセンサ。そのセンサデータを分析してビジネスインパクトのある結果を出すには、どのようにしたら良いのでしょうか? データ分析を成功させるためには、様々な要素が考えられますが、ここではセンサデータの質に注目したいと思います。いくら高度なデータ分析手法を用いても、分析対象のセンサデータが正しく取得できていない場合は、結果が出ないことは容易に想像できますが、あまり議論されることはありません。 これは、センサ計測とデータ分析の両方を視野に入れた幅広いノウハウが必要となり、Information Technology (IT) と Operational Technology (OT)との融合という課題に行き着くためです。 本ブログでは、このマニアックな話題を、医者の診断に例えながら、わかりやすく解説していきます。 前回の振り返り: 結果が出ないPoC(Proof of Concept:概念実証) 前回の記事では「自覚症状が無いセンサデータの品質問題」についてお話ししました。生産ラインのDXのために、センサデータを用いてデータ分析をしているのだが、思うような結果が得られていないというケースが市場で発生していることをお伝えし、その原因の一つとして、分析対象となるセンサデータ自体の品質問題があることをお伝えしました。 この問題は関係者の自覚症状もないため気付きにくく、対処方法も専門知識と経験が必要となります。 そこで、今回から前編/中編/後編の3回に分けて、「センサデータの品質を向上させる7つのポイント」について御説明します。 センサデータの品質を向上させる7つのポイント 現場では正確なセンサデータ収集(計測)を行っているつもりでも、気付かずに失敗しているケースが数多く存在していることに注意して頂きたいです。これは、計測ミスしたデータをいくら解析しても、良い結果は得られないからです。このような計測ミスを防ぐためのポイントは以下の7つだと言えます。 ※本記事では、上記の①~③まで御説明します。 ① 異常状態の発生メカニズムの理解(測定対象物の理解) この異常状態の発生メカニズムの理解は、測定対象物の理解を深めることだと言い換えることもできます。 いくつか例をあげてみます。ポンプのような回転機械の軸受けの不具合は異常振動として現れ、その結果として異音が発生します。また、音響機器はスピーカの取り付け不具合により、ビビリ音という異音が現れます。そして、プレス機のような往復運動機械の場合は、往復周期がぶれることにより、生産品の加工精度にバラツキが生じることがあります。さらに、射出成形機の場合は、材料の注入圧力の時間的変化にバラツキが生じた場合にうまく成形できない場合があります。 このように、測定対象物の異常状態が、なぜ起きるのかを物理的な観点から把握することが第1ステップとなります。 ところがこれが意外と難しいため、解決策としては、異常状態を把握している可能性の高い、現場の熟練オペレータなどからの情報収集が重要になります。 ② センサの選択(取得データの選定) よくあるミスとしては、センサの選択ミス、いわゆる取得データの選定ミスがあげられます。原因の一つは、上述の「①異常状態の発生メカニズム」が事前に理解できておらず、適切なセンサ選定ができなかったことに起因しています。例えば、回転機械の軸受けの不具合は異常振動として現れるため、異常検知のためには加速度センサを用いて振動データを取得することがベストだと言えます。また、音響機器のスピーカの取り付け不具合によるビビリ音の検出にはマイクロフォンを用いた音響計測が適切だと考えられます。 実はセンサ選定が不要な場合もあります。例えば、機械の制御信号が外部出力されているようであれば、そのままデータ収集することも可能です。 他にも原因があります。それは、システム構築を担当しているシステムインテグレータ(SIer)の得意分野が影響しているケースがあります。実際、SIerが得意としていないセンサは選定候補に上がってこないケースがあります。表1は、状態監視のために使用される代表的なセンサをまとめたものです。センサの種類によっては専門メーカや専門のSIerがいるものもあり、中には高性能な計測器が必要とされるセンサもあります。これは筆者が経験したことですが、製造装置の状態監視の際に、電流を使った異常検知の方が適切だと思われるケースがありました。ですがそこでは加速度センサが使用されていました。理由は業者が得意とするセンサ計測領域に偏りがあったことと、特に明確な理由がないまま、加速度センサが選択されていた状況でした。無論、生データには異常信号が弱く含まれており、データ分析をしても良い結果が得られていませんでした。そのため、筆者はセンサの変更を進言しました。 表1.状態監視に使用される代表的なセンサ ③ センサの取付け位置 センサの取付け位置も重要です。例として生産品の品質管理と製造装置の異常検知の例をあげてみます。機械はローラ機械である。図1左側の写真は、加速度センサを用いた軸受けのモニタリングであり、X、Y、Z軸に加速度センサが取り付けられている。この例は正しく設置されている例である。 医者の診断に例えれば、心臓の診断のために心音を聴こうとする医者は、どこに聴診器をあてるでしょうか? もちろん胸ですよね? 足に聴診器をあてて心音を聴こうとするお医者様がいたらかなり心配になりますよね? このような、あり得ない状況がセンサの取付け位置のミスとして起こっている場合があります。このような事態を防ぐには、「なぜそのセンサを設置するのですか?」とSIerに質問するなり、自問自答してみると良いと思います。また、「設置するセンサの数、取り付け方向はどうすべきか?」という問いに関しても明確な理由を持っておきたいですね。 図1.生産品の品質管理と製造装置の異常検知(ローラ機械の例) 以上、センサデータの品質を向上させる7つのポイントのうち3つを紹介しました。 次回は、④~⑤について御紹介します。 前回のブログ 次回に続く
はじめに 今回は、地球環境に関する喫緊の課題であるカーボンニュートラル対策およびグリーン成長戦略におけるSASの取組みをご紹介します。 カーボンニュートラルに向けた動向 159か国・地域をカバーしたパリ協定*1に締結した日本は、2050年までにGHG(温室効果ガス)排出を全体としてゼロにする(GHGの排出量と吸収量を均衡させる)カーボンニュートラルを目指すことを宣言しています。すべてのインダストリーで多くの企業はこれをカバーするグリーンビジネス戦略の施策を展開し、マテリアリティの中核に置いたカーボンニュートラルに向けた事業を推進しています。すでにヨーロッパを中心に35の国(2021年9月時点)で炭素税が導入され、GHG排出量に応じた課税がされています。日本では地球温暖化対策税だけですが、今後より厳しい税率の炭素税の導入が検討されています。 グリーン成長戦略 温暖化への対応を成長の機会ととらえたグリーン成長戦略*2は、14の重点分野が設定されており、グローバル市場や世界の巨大なESG投資意識し国際連携を推進したゲームチェンジが始まっています。これらの重点分野での目標は、高いハードルによりイノベーションが必要と考えられています。企業はESGに係る情報開示を求められ、統合報告書やサスティナビリティレポートなどでESG情報を開示しており、カーボンニュートラルの取組みはその中核をなしています。SASにおいても長年にわたり推進しています。 サステナビリティのリーダーとしてのSAS SASは、企業のサステナビリティのリーダー*3として、従業員、サプライヤー、および顧客と緊密に連携し、省エネ、排出管理、汚染軽減、節水、グリーンビルディング、およびその他のプログラムに焦点を当てたプログラムで環境フットプリントを削減しています。スマートキャンパスプロジェクトを通じて運用を改善するためのデータのストリーミングから、ソーラーファームからのクリーンエネルギーでオフィスビルに電力を供給するまで、SAS Visual Analyticsを使用して、環境パフォーマンスを収集、管理、計算、および報告をしています。 SASの環境プログラムの成果 SASの2020年の環境プログラムの主な成果は次のとおりです。 カーボンニュートラルの取組み SASは、パリ協定の目標に引き続きコミットし、2050年のカーボンニュートラルな目標を設定しています。それによりサイエンスに基づく目標の達成に取組む最初の1,000社の1つとして認められました。 SASの主要なエネルギーおよびGHG排出削減イニシアチブには、積極的なエネルギーおよびGHG排出削減目標の設定、LEED® (建築や都市の環境性能評価システム) ガイドラインに準拠した施設の建設と維持、電気自動車充電ステーションの設置、再生可能エネルギーへの投資、オフィスビルおよびデータセンター向けのスマートなエネルギー効率の高い技術の追求、電話会議の奨励が含まれています。SASは、自社の独自のソフトウエアを使用して、世界中の施設のエネルギーと排出量の要件を収集、理解、管理するプロセスを改善し、消費傾向を報告して積極的に影響を与える能力を高めています。環境プログラムは、SASソフトウエアを使用して削減戦略を策定し、対策間の関係を分析して最大の効果を持つ施特定、決定パフォーマンス指標の開発および監視を実行しています。 次に代表的なイニシアチブを紹介します。 クリーンエネルギーシフト SDGs目標7「エネルギーをみんなにそしてクリーンに」とSDGs目標13「気候変動対策を支援するために」への施策 SASは再生可能エネルギーの導入とクリーンエネルギーの経済的および環境的利益を積極的に提唱しています。 SASは、ノースカロナイナ州ケリーにある広大なグローバル本部キャンパスに自らのSASソーラーファームを構築、グリーンエネルギー自社の電力、移動に利用するEVへの電源供給を実現しています。SASソーラーファームがノースカロライナ州知事ロイ・クーパーにクリーンエネルギー経済とパリ協定の支援のための執行命令に署名する場所として選ばれた後、SASはクリーンエネルギーと炭素政策の設計を支援するために州のクリーンエネルギー計画で推奨されているように利害関係者会議に継続的に参加ました。 スマートシティー SDGs目標11「住み続けられるまちづくりを」への施策 SASはSmart Cities Council*4、Envision America*5、Research Triangle Cleantech Cluster(RTCC)*6などの組織とも提携し、接続されたデバイス、ソーシャルメディア、モノのインターネット(IoT)から供給されるデータの爆発的な増加を利用して、自治体のスマート化(スマートシティー)を支援しています。人工知能(AI)、ブロードバンドワイヤレス、クラウドコンピューティング、IoTネットワークなどの相互依存テクノロジーの理解を深めることで、効率の向上、コストの削減、機会の特定、気候変動の影響の緩和を支援します。 スコープ別の世界のGHG排出量 サプライチェーン排出量(スコープ1からスコープ3に分類される*7)の全体像を把握し、効果的な削減対象を特定して長期的な環境負荷削減戦略や事業戦略策定のインサイトを抽出することが重要と考えています。 SASは自社ソフトウエアによりデータ収集、分析、可視化、予測を行っています。これにより現状を迅速かつ正確に把握し、統計モデルやAIモデルにより予測・最適化しゴールへの軌道や実現性を描いています。アナリティクスによる意思決定により確実な目標達成を実践しています。 *SAS Visual Analyticsによる環境ダイナミックレポート グラフ1: スコープ別GHG排出量 *SAS Visual Analyticsによる環境ダイナミックレポート グラフ2: スコープ1とスコープ2のGHG排出量トレンド その他の環境への取組み 環境におけるその他の分野でも次のように多くの取組みをSASのアナリティクスにより実施しています。詳細は割愛しますのでご興味がある方はCSRレポート*8をご覧ください。 廃棄物の転換(SDGs⽬標12)、紙の消費削減·リサイクル(SDGs⽬標12、15)、節水(SGD目標 6)、排水管理(SGD目標
SAS ViyaではCData JDBC Driverを使って下記のソーシャルメディア・ファイルストレージサービスにシームレスにかつ、素早く連結できます。 ・Facebook ・Google Analytics ・Google Drive ・Microsoft OneDrive ・Odata ・Twitter ・YouTube Analytics 本日はCData JDBCドライバーを使ってTwitterと連携し、「天気」に関するツイートを取得してみたいと思います。順番通り説明しますので、最後までお読みいただき、皆さんも是非ご活用ください。 1. Twitter API利用申請 Twitter Developer PlatformにてTwitter APIの利用申請を行います。申請にあたり、名前と住んでいる地域、利用目的などの情報を提供する必要がありますので、事前に用意しておいてください。また、利用申請の承認はTwitter側で数日かかる場合がありますのでご了承ください。 Twitter APIの利用申請が終わったら、申請完了のメールが届きます。 また、申請の検討が終わり、Twitter APIが利用できる状態になりましたら、「Account Application Approved」というメールが届きます。 2. CData Twitter JDBC Driverインストール インストールにはSASの契約とは別途、CData社との契約が必要ですが、30日間トライアルで使うことも可能ですので、ご紹介します。 まず、CData Twitter JDBC Driverインストールページにアクセスします。 次に、Downloadクリックします。 Download Trialをクリックします。 適切なOSを選択してDownloadをクリックします。今回はWindowsを選択しました。 ダウンロードされたTwitterJDBCDriver.exeファイルを開き、画面に表示されるステップに従ってインストールを完了します。 3. Connection String生成
医者の診断に例えて学ぶ AIを用いたセンサデータ分析システムに関するよくある誤解について 製造業で盛んに導入されているセンサ。そのセンサデータを分析してビジネスインパクトのある結果を出すには、どのようにしたら良いのでしょうか? データ分析を成功させるためには、様々な要素が考えられますが、ここではセンサデータの質に注目したいと思います。いくら高度なデータ分析手法を用いても、分析対象のセンサデータが正しく取得できていない場合は、結果が出ないことは容易に想像できますが、あまり議論されることはありません。 これは、センサ計測とデータ分析の両方を視野に入れた幅広いノウハウが必要となり、Information Technology (IT) と Operational Technology (OT)との融合という課題に行き着くためです。 本ブログでは、このマニアックな話題を、医者の診断に例えながら、わかりやすく解説していきます。 今回から、「自覚症状が無いセンサデータの品質問題」に関連した話題をお伝えしていきます。 結果が出ないPoC(Proof of Concept:概念実証) SASは世界各国に支社を持ち、製造業DXの実現に向けた数多くのデータ分析案件を取り扱っています。 よく頂く御相談内容としては、生産品の品質管理と設備保全系に関連するデータ分析システムの導入検討です。(図1) 図1. 生産ライン向けDXとしてよくある御相談 ところが、PoCとしてセンサデータを用いてデータ分析をしているが、思うような結果が得られていないというケースが市場で発生しています。多くの方がデータ分析手法に問題があるのではないかと考え、データ分析のスペシャリストである弊社に御連絡を頂きます。たしかに分析手法の問題もあり、原因は様々ですが、意外と盲点になっているのが分析対象となるセンサデータ自体の品質問題です。 センサデータの品質問題とは何か? データ分析はデータ収集から始まります。そして、そのデータの質が分析結果に影響を与えることは容易に想像できます。図2はセンサデータ分析システムの構築の流れを示しています。システム構築は、データ収集からスタートし、データ蓄積、そしてデータ分析という順番で実施され、手動でデータ分析の結果が出るようになった段階で自動化するという流れが一般的です。 図2. センサデータ分析システムの構築の流れ 図3は、センサデータの分析の際にAIの導入を意識して描いたものです。流れとしては、経営上の目標設定から始まり、データ取得、特徴量抽出/次元削減、そしてモデル作成へと進んでいきます。ここで皆様に質問させて頂きたいのは、どの工程が一番重要なのかということです。無論、どの工程も専門家の知見が必要であり、重要かつ難易度が高いのは当然ですが、最も重要なのは前半のデータ取得と特徴量抽出だと、あえて強調します。言い換えますと、モデル作成に使用されるセンサデータの品質(精度)が重要だということです。当然ではありますが、センサデータの質が悪い場合、データ分析(作成するモデルの精度)に影響が出てしまうためです。 医者の診断に例えれば、検査データが間違っていたら間違った診断を下してしまうのと一緒であり、センサデータの品質は極めて重要だと言えます。 図3. AIを用いたセンサデータ分析システムの開発の流れ 自覚症状が無いセンサデータの品質問題 この問題の恐ろしい点は、システム開発に携わっている関係者の皆様にとって自覚症状が表れない場合が多いことです。 そもそも、データ分析の結果が出ない原因が、上述のセンサデータの質に関係していることを、どうやって判断すれば良いのでしょうか? 当然、他の原因も考えられます。 先日、お医者様と健康診断の検査結果のお話をした際に気がついたのですが、お医者様は検査データの意味や限界、誤差要因をよく御存知のようでした。そして総合的に私の健康状態を判断しておられるようでした。思わず、その秘密を知りたいと思い質問してしまったのですが、お医者様の回答は「過去の事例と経験即かなぁ~~??」と、お答えいただきました。 ということで、次回以降、私の経験即に基づいたチェックポイントを御紹介していきます。 前回のブログ 次回に続く