ロジスティック回帰は、データサイエンスにおける教師あり機械学習アルゴリズムです。これは、離散的またはカテゴリー的な結果を予測する分類アルゴリズムの一種です。例えば、分類モデルを使用して、貯蓄額、収入、クレジットスコアなどの予測変数に基づいて、ローンが承認されるかどうかを決定できます。
この記事では、機械学習や人工知能(AI)で最もよく使用されている分類アルゴリズムの1つであるロジスティック回帰の背後にある数学について詳しく解説します。また、回帰分析、ユースケース、さまざまな種類のロジスティック回帰についても詳しく説明します。生成AIの時代においても、ロジスティック回帰を支える基礎理論は、複雑なニューラルネットワークモデルの構築において依然として重要な役割を果たしております。ロジスティック回帰は、行動科学や社会科学の研究、あるいはデータサイエンスの分野全体の文脈で統計的テストを実行する際にも、引き続き高度な関連性を持っています。Pythonのscikit-learnモジュールを使用すると、ロジスティック回帰を簡単に実装できます。
この解説では、線形回帰とロジスティック回帰の違い、数学的基盤、さまざまな種類のロジスティック回帰、およびそれに関連するユースケースについて説明します。
ロジスティック回帰は、線形回帰と同様に、予測変数(独立変数)とアウトプット変数(応答変数、ターゲット変数、または従属変数)の関係を調べる線形モデルの一種です。主な違いは、線形回帰はアウトプット値が連続値である場合に使用される点です。例えば、個人の信用スコアを予測する場合などが該当します。ロジスティック回帰は、融資が承認されるかどうかなど、結果が分類的なものである場合に使用されます。
ロジスティック回帰では、モデルは特定の結果が発生する確率を予測します。例えば、誰かの財務プロフィールから、その人のローンが承認される確率を予測できます。モデルのアウトプットは、0から1までの値です。しきい値(多くの場合0.5)に基づいて、結果を「承認」または「未承認」に分類します。ロジスティック回帰では、線形回帰のようにデータから直線を描くのではなく、S字型の曲線を用いてインプットを確率にマッピングします。
線形回帰とロジスティック回帰はどちらも、統計的検定を使用して、どの予測変数が出力に意味のある影響を与えるかを評価します。t検定や分散分析(ANOVA)などの手法は、各係数のp値を生成するため、関連性が統計的に有意であるかどうかを評価するのに役立ちます。p値が低い(通常、0.05未満)ことは、変数がモデルに意味のある寄与をしていることを示唆しています。また、回帰タイプに応じてさまざまなメトリクスを使用して、適合度(モデルが観察された結果をどの程度十分に説明するか)も評価します。
モデルを構築する際には、モデルがトレーニング・データ内のノイズを捕捉し、新しいデータに対してパフォーマンスが低下する過学習を防ぐことが重要です。このリスクは、予測変数が多数あるものの標本サイズが小さい場合に増大します。この問題に対処するには、係数を縮小することで重要度の低い変数の影響を減らす手法である正則化を適用できます。また、外れ値はモデルを歪め、p値や係数を誤解させる可能性があるため、慎重に注意する必要があります。実際には、主要な機能の選択、テスト、改良を複数回繰り返すことでモデルを改善します。
この2つのモデルをより具体的に対照するために、現在の貯蓄などの主要な機能に基づいて誰かのクレジットスコアを予測する線形回帰シナリオを考えてみましょう。これは次のようにモデル化できます。
線形回帰と同様、ロジスティック回帰は、一般化線形モデル(GLM)ファミリーに分類される線形モデルの一種です。前の例と同様に、承認するか承認しない確率を表す場合は、線形関数を適用します。
線形関数は線形関係を仮定しているため、Xの値が変化すると、Yは(-inf, inf)からの値になります。ご存知のように、確率は[0,1]に制限されます。この線形モデルの原理を使用して、2進数結果の確率を直接モデル化することはできません。代わりに、確率を理解するにはロジスティック・モデルが必要です。したがって、結果を限定できるように、インプットにトランスフォーメーションを適用する必要があります。このトランスフォーメーションは、ロジスティック回帰式として知られています。この式は複雑に見えるかもしれませんが、次のセクションで、それがどのように導き出されるかを段階的に見ていきます。
シグモイド変換により、前のユースケースに対して2項予測を行うことができます。トランスフォーメーションを適用すると、Xの値は(-inf, inf)を取得でき、yは[0,1]に制限されます。
ロジスティック回帰関数(またはシグモイド関数)を理解するには、次の概念に基づく強固な基盤が必要です。
確率の比率のログはロジット関数として知られており、ロジスティック回帰の基礎を形成します。
線形関数を使用して確率を直接モデル化することはできない(確率は0から1の間に制約がある)ため、代わりにオッズを使用します。確率とオッズはどちらも結果の可能性を表しますが、定義では異なります。
確率は、考えられるすべての結果の中からイベントが発生する確率を測定します。
オッズは、イベントが発生する可能性とそうでない可能性を比較します。
p(x)は結果の確率を表します。次に、xのオッズは次のように定義されます。
具体的な例を考えてみましょう
バスケットにリンゴ3個とオレンジ5個が入っているとします。
- オレンジを選ぶ確率は5/(3+5) = 0.625です
- オレンジを選ぶオッズは5/3≈1.667です
つまり、オレンジを選ぶ確立は、リンゴを選ぶよりも約1.667倍高いということになります。逆に、リンゴを選ぶオッズは3 / 5 = 0.6です。これは1未満であり、結果(リンゴを選ぶこと)の可能性がそうでない場合よりも低いことを示します。オッズの方程式に従って、オッズは、1-結果の発生確率以上の結果が発生する確率と考察することもできます。オレンジを選ぶオッズは、P(oranges)/(1-P(oranges))=0.625/(1-0.625)から、約1.667となります。
オッズは0から無限までの範囲があります。オッズ値が1より大きい場合は好ましい結果を示し、1未満は悪い結果を示ます。1はイベントが発生する可能性が半々であることを意味します。
ただし、オッズは1を中心に対称的ではありません。例えば、2と0.5のオッズは「可能性が2倍」と「可能性が半分」を表しますが、これらはまったく異なる数値スケールを表しています。この不均衡に対処するために、オッズの対数を採用し、オッズの無制限の[0, ∞]スケールを実数直線(−∞, ∞)に変換します。これは、対数オッズ、またはロジットとして知られており、ロジスティック回帰モデルの基礎となります。
私たちは、対数オッズを次のように定義しています。
このトランスフォーメーションにより、対数オッズをインプットの線形関数として表すことができます。
次に、両側を指数化してオッズに戻ることができます。
解くと シグモイド関数が得られ、これにより予測値が0から1の間に収まることが保証されます。
このトランスフォーメーションにより、下位線形関数を使用してモデル化していても、回帰は有効な確率をアウトプットできます。
最後に、モデル係数の効果を解釈するのに役立つ概念であるオッズ比について紹介します。オッズ比は、インプット変数x1が1単位増加するときにオッズがどのように変化するかを示します。
イベントの確率が次のようになるとします。
x1を1単位増やすと、新しいオッズは次のようになります。
x1が1単位増加するごとに、オッズはeb1倍になることを意味します。この乗数がオッズ比です。
- b1>1の場合、オッズが増加する(イベントの可能性がより高くなる)
- b1<1の場合、オッズが減少する(イベントの可能性が高くなる)
もしb1=1の場合、オッズ比は0であり、インプットがオッズに影響を与えないことを意味します
オッズ比は、ロジスティック回帰に解釈可能性を与えます。それは、インプットに基づいてイベントのオッズがどのように変化するかを示し、ヘルスケア、マーケティング、金融などの多くの応用環境で役立ちます。ただし、線形回帰の係数と同じ方法で係数を解釈することはできません。次のセクションでは、係数がどのように決定され、解釈されるかについて詳しく見てみましょう。
以前にもお伝えした通り、線形回帰では係数の解釈が容易です。連続変数を使用した線形回帰の例を考えてみます。インプット特徴量 x が1単位増加すると、予測される結果 y がb1単位増加します。この直接的な関係が成立するのは、線形回帰がインプット特徴量と目的変数の間の変化率が一定であると仮定しているためです。そのアウトプットは無制限であり、直線的に増加します。
ただし、ロジスティック回帰はyを直接モデル化するのではなく、対数オッズ(オッズの対数)を通じてyの確率をモデル化します。このため、xを1単位増やすと、成果が一定に変化するとは言えません。代わりに、係数を対数オッズ、ひいてはオッズと結果の確率に対する影響という観点から解釈します。
具体的には、ロジスティック回帰では次のようになります。
重要なのは、係数の規模はこの影響の強さを反映していることです。また、オッズ比(係数の指数関数)は、変数が1単位増加したときにオッズがどれだけ変化するかを示します。
他の機械学習と同様に、ロジスティック主要な機能エンジニアリングの予測にはカテゴリー変数を組み込むことができます。カテゴリー変数や離散変数を扱う際には、ワンホットエンコーディングやダミー変数などの主要な機能エンジニアリング手法を用いて、モデルが使用できるバイナリ形式に変換することが一般的です。
例えば、先ほどの概念を応用して、既存の債務の有無に基づいて、 誰かがローンの承認を受けるかどうか(承認された場合:y=1、承認されなかった場合:y=0) を予測したいとします。」
- 既存の負債がないと意味する
- 既存の負債があることを意味する
対数オッズ は
係数 は、既存の負債がある場合と、そうでない人を比較した場合に承認される対数オッズの変化を表します。
これをより解釈しやすくするために、b1をべき乗してオッズ比を得ることができます。
そのため、線形回帰からは係数の単純な解釈が失われますが、ロジスティック回帰は、特にオッズと確率シフトの観点からフレームワークする場合に、依然として豊富で解釈可能なインサイトを提供します。変数xの関数としての確率の増減の大きさは、xが1単位増加したことに対応するものではなく、 特定の時点における xの値によって決まります。
ロジスティック回帰の係数は、 と は最尤推定(MLE)を用いて推定されます。MLEの背後にある中心となる考え方は、ロジスティック回帰モデルの下で観測データの可能性を最も「可能にする」パラメーターを見つけることです。
ロジスティック回帰分析では、入力変数 x1 が与えられた場合に、目的変数 y1 が 1(例えば「承認済み」)となる確率を、ロジスティック(シグモイド)関数を用いてモデル化します。
MLEはb0とb1の様々な組み合わせを試行し、それぞれの組み合わせについて次のように問いかけます。 および これらのパラメータを前提とした場合、実際のデータで観測された結果が生じる確率はどれほどでしょうか。
これは、各データ・ポイントの予測確率を乗算する尤度関数を使用して取得されます。
もし もし y₁ = 1(「承認」)である場合、モデルの予測確率 P(x₁) が 1 にできるだけ近づくことを望みます。p(x_i)y_iという項がこれを表します。y1の実際の観測データが実際に「承認」または1の場合、その項は1になります。
もし y1=0の場合、予測確率が0に近づくことを望みます。このケースは(1-p(xi))1-yiという項で処理されます。y1の実際の観測値が「承認されない」、 つまり0である場合、 p(xi)の値は0に近づくため、 1-p(xi)は1に近づきます。
したがって、各データポイントに対して、実際のラベルが1か0かによって、p(x₁) または 1 − p(x_i) を乗算します。 または すべての例における積は、単一の数値、すなわち現在のモデル下でデータセット全体が観測される確率を示します。ご覧の通り、予測結果(パラメータ b 0 および b 1 を用いて)が および 観測データに適合する場合、尤度の値は最大化されます。すべての確率を掛け合わせる理由は、結果が互いに独立していると仮定しているためです。言い換えれば、ある方の承認される可能性が、別の方の承認される可能性に影響を与えるべきではありません。
この積は非常に小さくなるため、通常は対数尤度を使用します。これにより、積が合計に変換され、計算と最適化が容易になります。
対数尤度を最大化する および b₀およびb₁の値を求めるために、反復最適化アルゴリズムである勾配降下法を用います。各ステップで、各パラメーター(例えば、その勾配)に関して対数尤度がどのように変化するかを計算し、その後、尤度が高まる方向にパラメーターをわずかに更新します。時間の経過とともに、このプロセスは および データに最も適合するb₀およびb₁の値に向かって収束します。
ロジスティック回帰には、カテゴリー応答に基づく3種類のモデルがあります。
ロジスティック回帰は、予測および分類問題の分析によく使用され、そのユースケースには次のようなものがあります。
AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。
業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。
AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。