| スピーカー |
トランスクリプト |
| マイケル・クロッティ |
こんにちは。ご視聴ありがとうございます。 |
| |
JMP Pro でサンプリング手法とモデルを比較できる不均衡分類アドインについて説明します。 |
| |
マイケル・クロッティです。JMPのドキュメント作成チームで統計ライターとして働いています。本日の共同プレゼンターは、同じく統計ドキュメントチームのコリーン・マッケンドリーです。これはマリー・ゴーダールと共同で取り組んだ成果です。 |
| |
本日の講演の概要を簡単にご説明します。作成したアドインの目的、不均衡分類問題の背景、そしてそのような状況で分類モデルを構築する方法についてご説明します。 |
| |
アドインに含まれていて、不均衡な分類問題でよく使用されるいくつかのサンプリング方法について見ていきます。 |
| |
アドインで利用できるオプションを見てみましょう |
| |
アドインの入手方法について説明し、その後 Colleen がアドインの例とデモを紹介します。 |
| |
コミュニティで利用可能なスライドには、参考資料や追加の背景情報が記載された付録もあります。 |
| |
私たちのアドイン、つまり不均衡分類アドインの目的は、不均衡なデータ向けに設計されたさまざまなサンプリング手法を適用できるようにすることです。 |
| |
これらの手法を適用した結果を、JMP Pro で使用できるさまざまな予測モデルと比較できます。 |
| |
さらに、精度再現曲線、ROC 曲線、ゲイン曲線、その他の尺度を使用して、これらのモデルとサンプリング手法の適合を比較できます。 |
| |
これにより、曲線を使用して分類のしきい値を選択できます。 |
| |
また、Tomek、SMOTE、SMOTEとTomekのサンプリング手法をデータに直接適用することもできます。これにより、既存のJMPプラットフォームを使用して、 |
| |
選択したほぼデフォルトの方法オプションが気に入らない場合は、新しくサンプリングしたデータをオンにして、モデリング オプションを微調整します。 |
| |
なお、Tomek、SMOTE、SMOTE と Tomek を組み合わせたサンプリング手法は、名義予測変数、順序予測変数、および連続予測変数でも使用できることに注意してください。 |
| |
では、不均衡なデータ問題の背景について説明します。 |
| |
したがって、一般に多項式の応答が可能ですが、応答変数がバイナリであることに焦点を当てます。重要な点は、1 つの応答レベルでの観測数が、他の応答レベルでの観測数よりもはるかに多いことです。 |
| |
これらの反応レベルをそれぞれ、多数派クラスレベルと少数派クラスレベルと呼びます。つまり、少数派クラスレベルとは、ほとんどの場合、予測・検知したい関心レベルです。例えば、詐欺や病気の存在、信用リスクの検知などがこれにあたります。 |
| |
そして、回帰変数に基づいてクラスのメンバーシップを予測したいと考えています。 |
| |
そこで、少数派クラスに属する確率を割り当てる予測モデルを開発し、それを最適化する閾値を選択しました。 |
| |
様々な基準があります。誤分類率、真陽性率、偽陽性率など、何でも構いません。そして、少数派クラスに属すると予測される確率が、選択した閾値を超えた場合に、観測値を少数派クラスに分類します。 |
| |
では、分類モデルをどのように取得するのでしょうか? |
| |
JMPには、バイナリ変数やバイナリ結果の予測ができる様々なプラットフォームがあります。 |
| |
回帰変数が存在する場合、それらのモデルを比較する方法が必要になります。分類精度のような従来の指標は、不均衡なデータには必ずしも適していません。極端な例として、2%の少数派クラスを考えてみましょう。 |
| |
すべての観測結果を多数派ケースとして分類するだけで、98%の精度が得られます。しかし、これは有用なモデルではなく、使いたくないでしょう。 |
| |
なぜなら、対象ケースのいずれも少数派ケースまで正確に予測していないからです。しかし、全体的な精度は 98% となり、かなり良好です。 |
| |
そのため、不均衡な分類モデルにおける分類精度を測定するための他の方法が模索されるようになりました。その一つが適合率・再現率曲線です。 |
| |
これらは不均衡なデータでよく使用され、真陽性再現率に対して陽性予測値または精度をプロットします。 |
| |
また、精度では大多数のインスタンスが考慮されるため、PR 曲線は ROC 曲線よりもクラスの不均衡の影響を受けやすくなります。 |
| |
そのため、PR曲線は不均衡なデータにおけるモデル間の違いをより明確に示すことができます。そのため、アドインのレポートではPR曲線が最初に表示されます。 |
| |
不均衡な分類データを処理する別の方法は、少数クラスをモデル化するのに役立つサンプリング方法を使用することです。 |
| |
一般的に、これらは回答の分布にバランスをもたらすための様々な方法であり、結果として、多数派と少数派の観測値の境界をより明確にするのに役立ちます。そのため、私たちのアドインには7つの異なるサンプリング手法が採用されています。 |
| |
最初の4つについてはあまり詳しくは触れず、最後の3つに焦点を当てます。簡単に言うと、重み付けなしとは文字通りの意味です。私たちは何もしません…変更はしません。 |
| |
本質的には、不均衡を考慮するための何らかのサンプリング方法を実行しなかった場合に何を行うかの基準を提供するためにそこにあります。 |
| |
重み付けにより、多数派クラスと少数派クラスの重みの合計が同じになるように、少数派のケースに重みが付けられます。 |
| |
ランダムアンダーサンプリングは、バランスの取れたケースを得るために、多数派のケースをランダムに除外し、ランダムオーバーサンプリングは、ランダムに複製します。 |
| |
少数派のケースを再度取り上げてバランスの取れた状態にします。 |
| |
次のスライドでは、さらに高度な 3 つの方法について詳しく説明します。 |
| |
高度な方法の 1 つ目は、合成少数オーバーサンプリング手法 (SMOTE) です。 |
| |
これは基本的に、より洗練された形式のオーバーサンプリングです。より多くの少数のケースをデータに追加しているからです。 |
| |
これは、既存の少数派クラスの観測に類似した新しい観測を生成することによって行われますが、オーバーサンプリングのように単純に複製するわけではありません。 |
| |
そこで、ガワー距離関数を使用して、各少数クラスの観測に対して K 近傍を実行し、それらの近傍によって定義された空間を埋めるための観測を生成します。 |
| |
このグラフでは、少数派のケースが赤で示されているのがわかります。最も近い3つの近傍を選択しました。 |
| |
そのうちの1つをランダムに選びます。たまたまここにあるもので、それからもう一つの少数派事例を生成し、この小さな影付きのボックスのどこかに配置します。これは2次元です。もし |
| |
予測変数が n 次元の場合、網掛けされた領域は n 次元空間になります。 |
| |
しかし、一つ重要なことは、最も近い隣人の数を選択できることです。 |
| |
ランダムに選択し、これを何回実行するかを選択することもできます |
| |
このアルゴリズムは少数例ごとに実行されます。 |
| |
次のサンプリング法はトメックリンクです。この方法は、少数派クラスと多数派クラスの境界をより明確に定義しようとします。そのために、少数派クラスの観測値に近い観測値を多数派クラスから除外します。 |
| |
繰り返しになりますが、トメックリンクを見つけるためにガワー距離を使用します。トメックリンクとは、異なるクラスに属する最近傍点のペアです。つまり、互いに最近傍となる多数派と少数派が1つずつ存在することになります。 |
| |
これらのインスタンスの重複を減らすために、ペアの一方または両方を削除できます。アドインのメインオプションであるモデル評価オプションでは、多数派インスタンスのみを削除します。ただし、Tomekオプションでは、どちらの削除形式も使用できます。 |
| |
そして最後のサンプリング方法は、SMOTEとTomekを組み合わせたものです。これは、前述の2つのサンプリング方法を組み合わせたものです。 |
| |
これらを組み合わせる方法は、このモードアルゴリズムを適用して新しい少数派の観測を生成し、元のデータと生成された新しい少数派のケースの束を取得したら、 |
| |
ttは、異なるクラスに属する最近傍点のペアを見つけるためのTomekアルゴリズムに適用されます。この方法では、Tomekペア内の両方の観測値が削除されます。 |
| |
したがって、不均衡分類アドインをインストールすると、アドイン メニューの下にサブメニュー項目として表示される 4 つのオプションが表示されます。 |
| |
最初のオプションは「モデルの評価」で、様々なサンプリング手法を用いて様々なモデルを適合させることができます。次の3つは、先ほど説明した3つのサンプリング手法を実行するための独立したダイアログです。 |
| |
したがって、アドインのモデルの評価オプションでは、モデルとサンプリング手法の組み合わせの比較を容易にする不均衡な分類レポートが提供されます。 |
| |
ここには PR 曲線と ROC 曲線、およびゲイン曲線が表示されます。PR 曲線と ROC 曲線の場合は、曲線の下の領域が表示されます。通常、各曲線の下の領域が大きいほど、モデルの適合性が高くなります。 |
| |
クラス別に予測される確率のプロットが提供され、各モデルがどのように適合しているかを把握するのに役立ちます。 |
| |
また、テクニックと閾値のデータテーブルも提供されており、そのテーブルにはレポートを再現できるスクリプトが含まれています。 |
| |
これはアドインを初めて実行したときに生成されるものです。そして、これを実行して全体を書き換えずに結果を保存したい場合は、 |
| |
モデリングおよびサンプリング方法アルゴリズムを使用すると、このテクニックとしきい値テーブルを保存して、結果を保存し、レポートを再現することができます。 |
| |
それでは、モデル評価オプションのダイアログを見てみましょう。ここでは、いくつかのモデルとサンプリング手法から選択できます。 |
| |
バイナリクラス変数とX予測変数をすべて入力して、 |
| |
私たちは、すべてのモデルに適合するために、そして |
| |
テストセットで評価するために、データをトレーニング検証セットとテストセットにランダムに分割します。各セットに含めるデータの割合を設定できます。 |
| |
結果を再現したい場合は、ランダムシードオプションがあります。また、SMOTEオプションもあります。 |
| |
前にも触れましたが、ここでは最近傍の数を選択できます。その中から、新しいケースを生成するために使用する最近傍を 1 つ選択します。各少数ケースの複製とは、各少数観測に対してアルゴリズムを何回繰り返すかということです。 |
| |
他にも3つのサンプリングオプションがあります |
| |
アドインのオプションはTomek、SMOTE、SMOTEとTomekの組み合わせに対応しています。Tomekサンプリングオプションでは、データテーブルに2つの列が追加され、予測の重みとして使用できます。これは、実行したい予測モデルすべてに当てはまります。 |
| |
最初の列では、リンク内の最近傍のみが削除され、他の列では Tomek リンクの両方のメンバーが削除されるため、そのオプションがあります。 |
| |
SMOTE 観測により、合成観測がデータ テーブルに追加されます。 |
| |
また、ソース列も表示されるので、どのソースが |
| |
観測が追加されました。そして、SMOTEとTomekを組み合わせることで、合成観測と、Tomekリンクの両方の要素を除外する重み付け列が追加されます。 |
| |
そして、TomekサンプリングとSMOTEプラスTomekからの重み付け列は、 |
| |
これはJMPモデリングプラットフォームで重みとして使用できる指標列です。重み付けされている場合は1、除外されている場合は0になります。 |
| |
他の 3 つのサンプリング オプション ダイアログのほとんどは基本的に同じです。 |
| |
モデル評価オプションダイアログには表示されず、これらのオプションにのみ表示されるオプションの1つに「中間テーブルの表示」があります。このオプションはSMOTEとSMOTE plus Tomekで表示されます。 |
| |
基本的に、SMOTE観測の構築に使用されたデータテーブルを見ることができます。通常は見る必要はありませんが、これらの観測がどのように生成されたかをより深く理解したい場合は、これらの中間テーブルを確認することができます。 |
| |
これらはすべてドキュメントで説明されています。 |
| |
繰り返しになりますが、アドインはコミュニティを通じて入手できます。 |
| |
このDiscovery Summit Americas 2020の講演のページから |
| |
コミュニティの一員として、ぜひご参加ください。先ほども申し上げましたが、アドイン内にドキュメントが用意されています。「ヘルプ」ボタンをクリックしてください。 |
| |
ここで、Colleen がアドインのデモで例を示します。 |
| コリーン・マッケンドリー |
マイケル、ありがとう。これからアドインのデモをします。デモには、このマンモグラフィーのデモデータを使います。 |
| |
したがって、マンモグラフィー データ セットは、マンモグラフィー画像内の微小石灰化の研究に使用されるデジタル化されたマンモグラム フィルムのセットに基づいています。 |
| |
このデータでは、各レコードは 1 または 0 のいずれかに分類されます。1 は画像に石灰化が見られることを表し、0 は石灰化が見られないことを示します。 |
| |
このデータ セットでは、石灰化が見られる画像が予測対象であり、クラス レベル 1 が興味のあるクラス レベルです。 |
| |
完全なデータセットには、6 つの連続予測変数と約 11,000 件の観測値があります。 |
| |
しかし、このデモでは実行時間を短縮するために、データセット全体のサブセットのみを使用します。つまり、観測データの約半分、つまり約5500件の観測データを使用します。 |
| |
1に分類される観測値、つまり皆さんが関心のあるものは、フルデータセットと現在使用しているデモデータセットの両方で、全観測値の約2.31%を占めています。つまり、約2%の少数派が存在します。 |
| |
そして今、私はJMPに切り替えます |
| |
に |
| |
マンモグラフィーのデモデータがあります。 |
| |
開きますが、アドインはすでにインストールされています。ドロップダウン メニューに不均衡分類アドインがあり、モデルの評価オプションを使用します。 |
| |
ここに起動ウィンドウがあります。バイナリクラス変数、予測変数を指定し、すべてのモデルとすべての手法を選択し、 |
| |
ランダムシード。 |
| |
そして「OK」をクリックします。 |
| |
では、この処理の実行中に、バックグラウンドで実際に何が起こっているのか説明しましょう。アドインはまず、データテーブルをトレーニングデータセットとテストデータセットに分割します。 |
| |
したがって、2 つの別々のデータ テーブルがあり、トレーニング データ テーブル内でそれらの観測はさらにトレーニング観測と検証観測に分割され、検証はモデルのフィッティングに使用されます。 |
| |
これら2つのデータセットができたら、 |
| |
インジケーター変数があります...SMOTE に関連するものを除き、指定したサンプリング手法ごとにトレーニング データ テーブルに追加されるインジケーター列があります。 |
| |
したがって、これらの列が追加され、重み付け列として使用され、観測を分析に含めるかどうかを指定するだけです。 |
| |
SMOTEでサンプリング手法を指定すると、データテーブルに追加の行が追加されます。これらが生成された観測値です。 |
| |
列と行が生成されると、各モデルはそれぞれのサンプリング手法に適合されます。すべてを選択すると |
| |
先ほどここで行ったように、合計42種類のモデルが適合されています。これが現在行われていることのすべてです。 |
| |
現在のデモでは42のモデルが適合されており、適合が完了すると関連情報が収集され、結果レポートにまとめられます。そしてそのレポートは |
| |
すぐにポップアップ表示されると思いますが、ここにそのレポートが表示されています。また、テクニックと閾値の表と概要表も表示されます。 |
| |
では、アドインを実行すると何が得られるか見てみましょう。まず、トレーニングセットがあります。ここに重み付け列、つまり重み付け列が追加されているのがわかります。これらは、観測値の予測確率のために追加された列です。 |
| |
次にテストセットがあります。これには重み付け列は含まれていませんが、テストセットの観測値の予測確率が含まれています。 |
| |
結果報告があります |
| |
技術と閾値のデータ表です。マイケルはこれについて言及しました |
| |
先ほども話しましたが、これは重要なことです。結果を保存して再度表示したい場合、保存しておきたいものだからです。 |
| |
スクリプト全体を再実行する必要はありません。このデータテーブルは保存するもので、再現するスクリプトが含まれています。 |
| |
最後にお見せしたいのは、結果レポートとサマリーテーブルです。これは各サンプリング手法とモデルの組み合わせのサマリーと、それぞれのAUC値が記載されています。 |
| |
では、実際の結果ウィンドウを見てみましょう。上部にはダイアログ仕様が表示されています。ここには、起動ウィンドウで指定した情報が含まれています。 |
| |
したがって、ランダム シードや割り当てた割合など、指定した内容を忘れた場合は、それを開いて確認することができます。 |
| |
また、バイナリクラス分布もあります。これは、訓練セットとテストセット全体にわたるクラス変数の分布です。これは、割合が同じになるように設計されており、この場合は2.3です。 |
| |
そして、閾値が欠けているという問題もあります。これはそれほど重要ではありませんが、 |
| |
クラス変数の値に欠損予測値がある場合、それがここに表示されます。 |
| |
実際の結果については、タブ付きのグラフをご用意しています。適合率・再現率曲線、ROC曲線、累積ゲイン曲線が表示されています。また、PR曲線とROC曲線には、対応するAUC値も表示されています。 |
| |
クラス別の予測確率のグラフもあります。これは、一度にいくつかのクラスだけを表示する場合に便利です。これについては後ほど説明します。 |
| |
そして、これらすべてのグラフと結果を結び付けるデータ フィルターがあります。 |
| |
実際の分析結果については、今から見ていきましょう。まずは、これらを並べ替えてみましょう。 |
| |
ROC 曲線と PR 曲線を比較すると、ROC 曲線よりも PR 曲線の方が曲線間に大きな違いがあることがすでにわかります。 |
| |
たとえば上位 5 つを選択すると、これらすべての AUC は実際に .97 になります。 |
| |
ご覧の通り、どれも非常に近い位置にあります。基本的に重なり合っています。どのモデルが実際に優れているのか、どれを選ぶべきなのかを判断するのは非常に難しいでしょう。 |
| |
特に不均衡なデータの場合、適合率と再現率の曲線が非常に重要になります。ここで、ROC曲線のAUC値が最も高かったモデルが、 |
| |
適合率・再現率曲線ではかなり分散しています。実際、PR曲線ではAUC値が最高ではありません。 |
| |
だから、もしかしたら...もっと良いモデルが選べるかもしれない。 |
| |
そこで、今度は上位 2 つ、つまりブースト ツリー Tomek と SVM Tomek に注目し、データ フィルターを使用してこれを実行します。 |
| |
次に、表示して含める内容を確認します。 |
| |
これで、これら 2 つのモデルの曲線が得られました。青い曲線はブースト ツリー、赤い曲線は SVM です。 |
| |
これらの曲線を見ると、真陽性率の異なる値の間で、曲線が重なり合っているのがわかります。これらの曲線を使って |
| |
分析で使用するモデルを選択する際に、許容できる真陽性率がどの程度かなどを考慮します。参考線をいくつか追加すれば、このことが分かります。入力中に手の動きが見えるかもしれませんが、ご容赦ください。 |
| |
さて、これらが皆さんが興味を持つかもしれないいくつかの異なる真陽性率だとします。つまり、たとえば、持っているデータ セットの真陽性率を 0.55 にしたいとします。 |
| |
閾値を設定すれば、真の陽性率が得られます。そしてこの場合は |
| |
真陽性率に関しては、ブーストツリーTomekモデルの方が精度が高いです。そのため、このモデルを選択するのも良いでしょう。 |
| |
ただし、真陽性率を .85 程度にしたい場合、その特定の真陽性率に対する精度が高い SVM モデルを選択する方がよいかもしれません。 |
| |
そして、真陽性率が .95 と高かった場合は、再度反転してブースト ツリー モデルを選択することになるかもしれません。 |
| |
このように、これらの曲線を使用して、データに最適なモデルを選択できます。 |
| |
さて、グラフをもう一度見てみましょう。グラフの数は少なくなっています。これは、選択したモデルの各クラスにおける予測確率の分布を示しています。この特定のケースでは、SVMでは大多数が |
| |
予測される確率の範囲全体にわたる確率ですが、ブースト ツリーでは、確率を下限に維持する方が優れています。 |
| |
このデモはこれで終わりですが、最後にもう1つお見せしたいことがあります。これはevaluateの使い方の例です。 |
| |
モデルオプションです。しかし、特定のサンプリング手法を使いたいだけなら、ここで設定できます。起動ウィンドウはほぼ同じです。バイナリクラスと予測変数を割り当てて、「OK」をクリックします。 |
| |
これにより新しいデータテーブルが生成され、 |
| |
インジケータ列。 |
| |
指標列。これは、観察結果を分析に含める必要があるかどうかのみを示します。 |
| |
そして、これは SMOTE と Tomek の組み合わせなので、これらすべての SMOTE 生成の観測結果も得られます。 |
| |
これで新しいデータテーブルができました。必要なオプションを設定した任意のモデルを使用できます。この列を重みまたは頻度の列として使用して、そこから作業を進めてください。これで、不均衡分類アドインのデモは終了です。ご視聴ありがとうございました。 |