ロジスティック回帰の使用例 (2)

2 項ロジスティック回帰は、顧客の製品購入傾向を予測するマーケティング アプリケーションだけでなく、医学および社会科学の分野でも広く使用されています。

細胞測定に基づいた悪性乳がん細胞の予測

UCI Web サイト (https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/) から入手した、乳がんの患者細胞とそうでない細胞のUCI データセットから、細胞の様々な特徴や測定値により、細胞が良性か悪性かを予測するための重要なモデリング能力が提供可能としていることがわかっています。

データセット

このケースで使用される正確なデータセットのバージョンは breast_cancer_data.csv (122KB) です。

これには、569 件の観察結果、診断コラム、および細胞核の特性 (テクスチャー、周長、面積、滑らかさ、緻密さ、凹面、凹点、対称性、フラクタル次元) に関連する 30 個の属性が含まれています。これらの特徴の平均、標準誤差、および最悪 (最大) が計算され、30 個の予測特徴が得られます。

データセットをロードすることで、TIBCO Data Science - Team Studio では、データ エクスプローラー ビュー (DB テーブル オペレーターを右クリック) を使用してデータを表示できます。最初の数行とカラムを以下に示します。

ワークフロー

id は患者 ID であり、無視できます。診断は予測するための従属変数であり、悪性の場合は「M」、良性の場合は「B」の値を持つことができます。残りのカラムは、顕微鏡による細胞調査から得られた数値です。

このモデルは、2 値の悪性または良性の診断を予測するので、ロジスティック回帰オペレーターを試すことは理にかなっています。

当初、モデラーは積極的なアプローチをとり、モデルに含める非 ID 変数をすべて選択するかもしれません。

Summary 結果タブには次の内容が表示されます。

多数の悪い診断結果が表示されます。

反復量が最大設定であることからわかるように、アルゴリズムは収束しませんでした。残差逸脱度は本質的にゼロですが、カイ 2 乗/ Null 逸脱度がほぼ完璧なモデル適合を示しており(可能性は低い)、これは疑わしいです。

Data 結果タブには次の内容が表示されます。

大きなベータ係数値が多数ありますが、これはモデルが少なくともデータのサブセットをオーバー フィッティング(オーバー フィッティング)している証拠です。これにより、ロジスティック回帰で係数が無限大に達することになります。この場合、モデルの逸脱度がゼロであるため、モデラーはすべてのデータがオーバー フィッティングしていると疑うことになります。オーバー フィッティングとは、トレーニング データでは非常によく適合するが、新しいデータでは同じ有用性が示されないことを意味します。

ROC 曲線の AUC は 1.0 であり、これは明らかにオーバー フィッティングの兆候を示しています。

 

モデラーがオーバー フィッティングを疑う場合、これを診断する方法は、一部のデータをモデルから制限し、新しいデータのシミュレーションに使用する交差検証または「ホールド アウト」トレーニングを実行することです。次のように、ランダム サンプリング オペレーターを挿入してデータを 50% のサンプル データの 2 つのグループに分割すると、これが実現されます。

 

分割されたデータセットを収集するには、2 つのサンプル セレクター オペレーターを追加する必要があります。

次に、モデルの構築に使用されたデータと非トレーニング データを予測する 2 つのロジスティック回帰予測オペレーターを追加することで、モデラーはモデルがトレーニング データセットのみを使用して適切に予測しているかどうかを確認できます。

また、ROC オペレーターを追加すると、両方のデータセットのモデルの品質が表示されます。注: ROC オペレーターは、ソース データセットおよびロジスティック回帰オペレーターと直接接続します。

最終的な交差検証設定は次のようになります。

トレーニング データの結果として得られる ROC グラフは、完璧なモデルを示しています。イルミネーターの緑でない線は常に対角線上にあり、役に立たないモデルです。赤い線はモデルのパフォーマンスを示します。右上隅では、感度は 100% です (つまり、すべての悪性ケースを検出します) が、偽陽性率が高くなります (ほぼ常に間違います)。左下隅では、偽陽性はゼロです (悪性を誤って予測することはありません) が、感度はありません (誰も悪性ではありません)。左上隅は、偽陽性 (すべてが正しく予測された) がなく、完全な感度 (悪性腫瘍を持つすべての人が予測された) のない純粋なモデルの完全性を示しています。

交差検証データの結果として得られる ROC グラフの曲線下面積 (AUC) は、1 ではなく 0.9354 です。これは依然として優れていますが、トレーニングのパフォーマンスとは根本的に異なります。交差検証の目的で、モデラーはパフォーマンスが近いことを望んでいます。これほどの低下は、オーバー フィッティングのさらなる証拠となります。

 

この場合のオーバー フィッティングに対する理想的な解決策は、データの過剰記憶を避けるためにより多くのトレーニング データを取得することです。しかし、より現実的な解決策としては、モデルに有用であっても、いくつかの変数を削除することです。トレーニングデータが少なければ、トレーニング変数も少ない方が安全です。

変数を除去するための 1 つのアプローチは、「AIC」基準タイプを使用するステップワイズ モードを使用して、ロジスティック回帰オペレーターのステップワイズ回帰手法をオンにすることです。

この例では、ステップワイズ回帰により、独立変数の数が元の 30 変数から 7 に減ります。ただし、この例でもモデルには、mean_concave_pointsstddev_radius、および worst_symmetry のオッズ比が無限大に達するという問題がまだあります。

別のアプローチとして、モデラーは、最初にデータ内の標準偏差カラムを手動で削除し、ステップワイズをオンにせずに回帰を再実行することを決定する場合があります。これにより、互いの意味が重複する変数の使用を回避できる可能性があります。たとえば、モデラーはモデルから標準偏差カラムの選択を解除する場合があります。これにより、妥当な p 値と暴走係数値を持たない収束モデルが得られます。

反復回数が最大値を満たしていませんでした。これは、ロジスティック回帰が適切に収束したことを示しています。

データ タブには、適切なベータ値とオッズ比の値が表示されます。

モデラーは、残りの変数を p 値で並べ替え、p 値が最も高い (つまり、重要性の信頼度が最も低い) 変数を削除することで、反復的に実験を行うことができます。注: 変数を一度にすべて取り出さないでください。別の変数が重複しているために変数が不正になる可能性があります。したがって、手動またはステップワイズを使用して自動で段階的に実行する必要があります。

こうすることで、モデルを 3-4 個の変数だけにすることができ、オーバーフィットの可能性が低くなります。次の例では、mean.concavepointsworst.areamean.texturemean.radius の変数だけがモデルに残されています。結果は次のようになります。

p 値は非常に小さいので、それらの有意性に高い信頼性を与えます。84 の偏差がとても低く、カイ 2 乗/ヌル偏差比が約 0.89 なので、モデラーは、これらの4つの変数(mean.concavepointsmean.texturemean.radiusworst.area)だけで、診断の変動の 89% を予測していることがわかります。

p 値が許容範囲内 (0.05 未満) であるため、モデラーは係数値で並べ替えて、最も強い相関効果を持つ変数を探します。

この例では、mean.concavepoints 変数の高い係数値を見るだけで、その独立変数のみを使用してモデルを実行した場合、それ自体が非常に有益であることがモデラーにわかります。このモデルは、細胞の形状や質感が非円形または異常であればあるほど、がんの可能性が高くなるという直観的な信念を裏付けているようです。

ROC グラフ オペレーターを追加すると、モデルの品質を分析できるようになります。AUC 値 .9937 は非常に高いですが、以前の 1.0 よりも信頼性が高くなります。

モデラーは、この変数を削減したモデルを使用して交差検証スタディを再実行して、より一貫性のある結果をチェックし、オーバー フィッティングの問題が存在しないことを確認できます。

ノート: ROC グラフのギザギザの線は、予測された診断感度と変数がしきい値として機能していることを示す軽い診断の兆候です。モデラーは、ディシジョン ツリー オペレーターを使用して調査することもできます。

この例では、トレーニング データセット (AUC 0.995) と非トレーニング データセット (AUC 0.992) の両方に対して実行した場合、2 つの ROC グラフはほぼ同じパフォーマンスを示しています。これは、モデルが癌の悪性度の信頼できる予測子になったことを意味します。

モデラーの希望は、より少ない変数で、優れたパフォーマンスを示し、トレーニング以外のデータに対しても交差検証およびパフォーマンスが良好な、シンプルなモデルを見つけることです。

最後のステップとして、モデラーは、トレーニング データと非トレーニング データの両方の信頼レベル カラムと予測カラムを表示するためのロジスティック回帰予測オペレーターを追加します。

 

予測信頼レベルは、トレーニング データの予測と非トレーニング データの予測の両方で高くなります。モデラーはロジスティック回帰モデルの品質を確信できます。たとえば、以下に示す最初の行では、予測された診断は良性であり、予測の信頼度は 99% 以上です。