SAS Japan
活用事例からデータ分析のテクニックまで、SAS Japanが解き明かすアナリティクスの全て現代において統計学は様々な分野で利用されており、データアナリティクスとは切っても切れない関係にあります。しかし、実際にデータアナリティクを行う人すべてが、その内容を適切に理解しているのでしょうか。「有意差がつくかどうかとりあえず検定を行ってみる」、「集めたデータ全てをモデルに組み込んでみる」このような経験を持つ方も実は多いのではないでしょうか。分析に用いる手法の仮定や限界、その他解釈や留意事項への理解がないまま行われるデータアナリティクスは、誤った解釈を生む可能性があります。しかし、実社会においては、統計学はその活用事例が注目されがちであり、適切ではない事例が身の回りにあるというのもまた事実です。データアナリティクスを行う側としても、その結果を受け取る側としても、統計学を一般教養として学んでみてはどうでしょうか。 今回紹介するのは、e-learningコース「Statistics 1: Introduction to ANOVA, Regression, and Logistic Regression」です。統計学を学ぶ時に、学習がうまく進まない一つの理由として、各種内容が実際にどう活用されるか、そのイメージがつかないという声を多く耳にします。本コースは純粋な統計学の知識だけでなく、そのような具体的なデータアナリティクスに至るまでの「何を目的とするのか」、「目的によってどのような手法が適切であるのか」といった「データリテラシー」に関する内容も潤沢に用意されているため、一環した流れの中で学習を行う事ができます。このような何のために統計学を学ぶ必要があるのかという点は、どうしても”学問としての”統計学の学習の際には意識がされないため、統計学を初めて学ぶ方だけではなく、簡単にその内容を触れたことがある中級者の方にも最適な学習教材です。 統計学は「記述統計学」と「推測統計学」に分類されます。前者はデータの持つ特徴(最大値、平均など)を記述し、整理することによって、そのデータ自体への理解を行おうというものです。それに対し後者は、データをとある大きな集団からのサンプルであると仮定し、データからその大きな集団(母集団)の持つ特徴について、推測を行うものです。ここでは、実際に推測統計学でよく用いられている「統計的仮説検定」と「統計モデル」という、2つの手法について紹介します。これらについてもコース中ではより詳細に、活用されている事例とともに紹介されているので、ご興味のある方はぜひ一度コースに登録・受講してみてください。登録手順はこちらの以前の記事を参照ください。 統計的仮説検定 ある大きな集団(母集団)に対しその特徴を知りたい場合、すべてのデータを得ることができるのは非常に稀です。例えば、日本国民全員があるテレビ番組Aを見ているかどうかの情報を得ることは、労力的にも、費用的にもほぼ不可能です。統計的仮説検定はそういった場合に、標本である一部のデータを用いて、母集団に対する特定の仮説が成立するか否かを、背理法的に判断する方法です。先のテレビ番組の視聴率調査は、実際にこの考えに基づくものであり、よく見かける視聴率はおおよそ1万世帯のデータをもとに、統計的に推定されています。検定の手順は以下の通りです。 母集団に対し、帰無仮説とそれに対応する対立仮説の計2種類の仮説を設定する 帰無仮説の下で、得られたデータ(とそれ以上に極端な結果)が得られる確率(P値)を計算する 事前に設定した基準(有意水準)とその確率を比較する 基準よりも確率が低いのであれば、そもそも帰無仮説が妥当ではないと判断する(帰無仮説を棄却) 統計学でよく誤解を生みやすい「P値」というものが利用される内容になります。仮説検定は非常によく用いられる方法ですので、自分でどういった手順で検定は行われているのか、その解釈はどう行えばいいのか、を説明できない方は受講してみることをお勧めします。 統計モデル データから母集団の特徴について推定を行う場合には「統計モデル」というものが用いられます。このモデルはなぜ必要なのでしょうか?ここで、日本人の男性と女性の身長について、それぞれ推測をするという例を考えます。また、現実に得られるデータは、男性のみデータだけだとします。すると一つ問題が生じます。それは「女性については推定を行うことができない」ということです。男性については、得られたデータが男性50名の身長データですので、妥当な推定が可能です(ここにも男性の身長分布は正規分布であるという仮定は置きます)。しかし、女性の身長について推定を行おうとしても手元には男性のみのデータしかないため、推定ができません。もし何の仮定もなければ、男性の身長データを女性の身長の推定のために用いることは妥当ではありません。ではここに、『女性の身長の分布は男性の分布より10cm低く、分布の形状は同じである』という仮定があるとどうでしょうか?(いくつかの調査によると期待値としては12~13cmほど低いそうですが) 上記の仮定があるのであれば、男性の身長分布から女性の身長分布が想定可能なので、男性のみのデータからデータには含まれていない女性についても推定を行うことが可能になります。つまり、「統計モデル」とは観測されたデータにはない未知の部分について推測を行うために、仮定する一種の数学的・統計学的な制約条件になります。ただ一概にモデルといっても様々なものがあるため、データの置かれている状況によって想定される適切なモデルは異なり、どれを選択すべきかはケースバイケースです。このモデルの選択をどうすべきかは先行研究やこれまでの知見による部分が大きいため、様々な場面でのデータアナリティクスを学ぶ必要があります。 学生の方であれば今後、卒業研究やコンペティション参加など、多くの場面で統計学の知識が必要になるかと思います。数日学習を行えば統計学への理解が深まるだけでなく、SASから学習認定デジタルバッジを無料でもらうこともできます。ぜひこの機会に一度統計学について、学習を行ってみてはいかがでしょうか?
以前の記事では、学生であれば無料で利用可能なオンライン学習コース「Skill Builder for Students」についての紹介を行いました。このSkill Builder for Studentsには5つのコースが準備されており、今回の記事ではStatistical Analysis, Predictive Modeling, and Machine Learningコースについての概要を紹介します。このコースでは統計的仮説検定から回帰分析、予測モデル、教師あり機械学習まで「統計・機械学習モデル」の基礎的な部分と、SASソフトウェアでの実践を学習することができます。 データ析を行う際には、しばしば統計モデルや数理モデルと呼ばれる「モデル」を利用します。このモデルの学術的理論や実装方法を学習する機会は多数ありますが、モデルを利用する目的をはっきり意識できているでしょうか。モデルは現象を数式等で模式的に表現したものですが、このようなモデルによる表現の目的が、その現象に対する説明を行いたいのか、未知のイベントの予測を行いたいのかを区別する必要があります。前者は記述的アナリティクス(および診断的アナリティクス)、後者は予測的アナリティクスと呼ばれます。 記述的・診断的アナリティクスでは、現象を観察して得られたデータから、その現象に関する情報の関連や因果関係を推測し、現象を説明することが目的です。例えば、住宅価格を考えるとき、価格を決定する要素(面積、駅からの距離、築年数、階数、近隣施設など)は何か、どの要素が最も価格と強い関係を持っているかといったことを理解するために統計モデルを活用します。 一方、予測的アナリティクスでは、面積や駅からの距離といった既知の情報から住宅の価格を推定・予測するためにモデルを活用します。記述的・診断的アナリティクスのような「現象の理解」よりも、「予測の精度」に注目することになります。 今回のコースは、このような「何のためにデータアナリティクスを行うのか」という点が特に意識されており、SASでの実装を紹介するだけではなく、統計学の概要、モデルを使って何を考えるのかについてのイメージや理論の説明が豊富に用意されています。近年、アナリティクスに関係する職種を目指す方が増加しており、統計検定に代表されるような資格を取得しようとしている方も多いと思います。それに伴い、関連した書籍・講座が世に出るようになってきていますが、手法のみに着目しているものも多く、「なぜ」、「どんな場面で」その手法を利用するのかをイメージできないものも見られます。今回この記事で紹介しているコースは、そのような今後データに関連する分野に関わっていきたいという初学者の方に特におすすめです。単に統計的手法の実施方法や結果の見方を紹介しているだけではなく、どういったモチベーションでその手法の利用を考えるのか、現実に起こり得るシナリオに沿って理解できる教材だと思います。 Statistical Analysis, Predictive Modeling, and Machine Learningコースへのアクセスは以下の手順です。 Skill Builder for Studentsへログイン 「Learn SAS」というタブをクリック 画面中央の「Start Learning」をクリック 「Statistical Analysis, Predictive Modeling, and Machine Learning」をクリック 展開される各種e-learningコースをクリック 画面下部にある「enroll」をクリック このコースは後述のように、6つの項目に分かれており、各項目にはさらに複数のLessonが準備されています。各項目に含まれるLessonをすべて終了すると学習完了を証明する「SAS digital Learn Badge」(下図)が発行されます。 コースで学習できる内容 Statistics 1:
医者の診断に例えて学ぶ AIを用いたセンサデータ分析システムに関するよくある誤解について 製造業で盛んに導入されているセンサ。 そのセンサデータを分析してビジネスインパクトのある結果を出すには、どのようにしたら良いのでしょうか? データ分析を成功させるためには、様々な要素が考えられますが、ここではセンサデータの質に注目したいと思います。 いくら高度なデータ分析手法を用いても、分析対象のセンサデータが正しく取得できていない場合は、結果が出ないことは容易に想像できますが、あまり議論されることはありません。 これは、センサ計測とデータ分析の両方を視野に入れた幅広いノウハウが必要となり、Information Technology (IT) とOperational Technology (OT)との融合という課題に行き着くためです。 本ブログでは、このマニアックな話題を、医者の診断に例えながら、わかりやすく解説していきます。 ------ はい、本日は 「なぜ医者の診断に例えて学ぶと良いのか?」 をテーマにお話しします。 近年、製造業DX、またはインダストリアルIoTと呼ばれるトレンドにより、AIを用いたセンサデータの分析が流行しています。 例えば、 ・ 製造装置の故障予測 (設備状態監視) ・ 生産品の不具合検出 (生産ラインの品質管理) が人気の用途です。 背景としては、熟練者のリタイヤを見越して、彼らが持つ暗黙知の形式知化が必要とされていることや、熟練者ですら見つけられない不具合を検出することで更なる品質向上を実現したいという考えが背景にあります。 そのため、データ分析のリーディングカンパニーである弊社には、世界各国において、センサデータの分析に関する御相談が数多くやってまいります。 それと同時に様々な誤解が生じていることがわかってまいりました。 ところが、数多くのお客様とお話をしていくと、多くの誤解や勘違いが存在することがわかってきました。 例えば、 分析アルゴリズムに関して、熱心に調査されているお客様、がおられます。 ごく普通のニーズだと思いますが、お話を伺うとこんな感じになることがあります。 監視対象物や起こっている異常状態が不明 データは持っておらず、機械学習等の分析手法を調査されているご様子であったり、監視対象となる設備機械や生産品が決まっていないというお客様です。 要は情報収集段階だということです。この場合、優秀なデータサイエンティストでも明確な回答はできず、お客様もなかなか納得されない状況が生まれます。 この状況は、医療で例えるなら、病気にもなっていないのに病院に行き、治療方法を熱心にお医者様に相談している状況と同じではないでしょうか? この例え話をさせて頂くと、すぐに状況を御納得頂けます。 データ分析をしても結果が出ない 2017年頃にIoTが流行った際に、まずはセンサで計測してみましょうということで「スタートアップキット」なるものが流行ったことがあります。 この名残で、分析しても結果がでなかったという苦い経験をされたお客様が数多くおられたようです。 投資もしましたし、会社組織としても困りますよね。そこで弊社に相談が来るわけです。 もちろん分析手法が原因である場合もありますが、実は問題の大半は、センサの選定ミスや、取付けミス、生データの取得方法などに関係しています。 この状況は、医療で例えるなら、心臓の病気を見つけるのに、聴診器を足に当てて心音を聞いているような状況が起こっているということです。また、ウィルス性の病気を聴診器で見つけようとしているようなケースも見うけられます。 これでは絶対に病気は見つけられませんよね? 医療に例えれば、あり得ない状況ではありますが、センサデータ分析の世界では、頻発している問題です。 正直、驚きではありますが事実です。 私はこのような状況を、非常にもったいないと感じています。 そのため、本ブログを通して、AIを用いたセンサデータ分析システムに関して生じている様々な誤解について、医者の診断に例えながら、わかりやすく御紹介していけたらと思っております。 その理由ですが、医療診断と、製造業系データの分析の流れは似ているからです(図1)。また、医療診断は、多くの皆様が実体験をお持ちですので、例え話を通して、言われてみればそうだなという感覚を持って頂きやすいのではないかと考えております。 図1. 医療診断の流れと、生産ラインでのデータ分析の流れはよく似ている 今回は、医者の診断に例えると、色々と見えてきますというお話をさせて頂きましたが、次回からは、よくある誤解に関して、次々に御紹介していきます。 テーマとしては、こんな感じの物を予定しています。 ・ 生産ラインにおけるAIを用いたデータ分析の種類について ・ 無症状であり、異常検出が甘くなる原因となる「センサの選択ミス(取得データの選定ミス)」 ・ 無症状であり、異常検出が甘くなる原因となる「センサの設置方法のミス」 ・ 無症状であり、異常検出が甘くなる原因となる「取得データの質が悪いケース」 ・ 患者に寄り添う現場スタッフとのコラボの必要性 ・ 病名は同じでも、症状が微妙に異なるケースへの対処 など 次回に続く
背景の紹介 これまでのSAS製品は、SAS 9でもSAS Viya 3.5でも、ほとんどがWindowsやLinuxのプラットフォームで動作していました。 そのため、Windowsクライアントを持つユーザーは、SMBサービスやWindowsのファイル共有機能を介して、これらのプラットフォームに保存されたファイルに簡単にアクセスすることができていたのです。 SASが開発した最新のクラウドネイティブ・データアナリティクス・プラットフォーム「SAS Viya」は、WindowsやLinuxなどのOS上で直接動作するのではなく、コンテナ/ポッドの形でKubernetes(以下、K8s)上で動作し、従来の製品とはアーキテクチャが大きく変わっています。K8s上で動作するサービスのコンテナ内のデータは一時的なものなので消えてしまう特徴があります。この点に対して、お客様は最新の製品を使用する際に、K8sに保存したデータをローカルのWindowsシステムからどのようにアクセスするのか、SASで作成したレポートなどのデータをどこに保存するのかという疑問を持つことが多いようです。 今回は、下記の図の構造のような、K8sに保存されているファイルを、比較的簡単な方法でWindowsクライアントと共有する方法をご紹介したいと思います。 本記事の内容は、Microsoft Azure上にデプロイされたSAS Viya Stable 2021.2.3に基づいています。centos 7.9上で、kubectl、kustomization、azure cliなどのコマンドラインツールを利用する作業が含まれているので、Linux、Kubernetes、SAS ViyaのデプロイメントとAzureに関する一定の知識が必要です。また、お使いのクラウドベンダーや製品のバージョンによって、設定方法が異なる場合もありますので、詳細は各ドキュメントをご確認ください。 SAS Viya on Kubernetesが利用するストレージの紹介 まず、K8s上にデプロイされたSAS Viyaサービスを使用した場合のデータの保存方法について簡単に説明します。 例えば、SAS Studioを利用する場合、ユーザーがセッションを作成するたびに、SAS ViyaはK8s上に一つのコンテナを作成します。これは、ユーザーがセッションで実行したすべてのコードや操作がこのコンテナに入っているミニLinux内で実行されます。 ご存知のように、コンテナの最大の利点は、インストール作業や設定などが一切いらず、配置したらすぐに使えることです。コンテナが提供するサービスや機能を使用するために設定を行う必要はありませんが、同時に、コンテナ内のデータに加えた変更も保存されず、新しいセッションを作成するたびに、まったく同じ設定を持つまったく新しいコンテナが作成されます。 そのため、SAS Studioで作成した新しいデータを保存したい場合は、コンテナの外部にあるストレージに保存する必要があります。K8sではこの外部ストレージは永続ボリュームと呼びます。 永続ボリュームを利用することにより、SAS Studioのセッションが終了しても、作業中にユーザーが作成した新しいデータはちゃんと保存されています。次にユーザーが新しいセッションを作成する時、以前使用していた永続ボリュームが新しいセッションに自動的にマウントされ、ユーザーが永続ボリュームに保存されていたデータを使って引き続き作業できます。この記事で紹介するデータ共有方法も、こちらの永続ボリュームを利用しています。 データ共有するための設定方法 次に、K8sで作成したファイルをWindowsと共有する方法を紹介します。前述したように、作業中に発生したデータを永続ボリュームに保存することができるので、永続ボリュームをWindowsにマウントするだけで、作業用PCとK8sの間でデータを共有することができますが、実現方法は使用する永続ボリュームの外部ストレージの種類によって異なります。 AzureのK8sサービス上でSAS Viyaを利用する場合、使用する外部ストレージは、大体以下の3種類です。Azure Fileを共有ストレージとして使用する場合、追加のサーバは必要なく、使い方も比較的簡単なので、本記事ではAzure Fileを外部ストレージとして使用する場合の共有方法を紹介します。 - ネットワークファイルシステム(以下NFS) - Azure Disk - Azure File(本記事で紹介する方法) データを共有するためには、次のような手順が必要です。 これらの手順には、AzureとK8sの管理者権限と関連する知識が必要なため、一般的にはサーバ管理者やSAS Viya導入の担当者が行うことになることに注意してください。 1.ストレージクラスの作成 2.永続ボリューム要求の作成