ニューラルネットワークの出力層、ロジスティック回帰の予測確率、注意機構のゲート——機械学習のいたるところに、あの $S$ 字の シグモイド関数 $\sigma(x) = 1/(1+e^{-x})$ が現れます。あまりに頻繁に使うので「便利な関数」として丸暗記している人も多いでしょう。しかし、シグモイドはどこから来たのでしょうか? なぜ「ちょうどあの形」なのでしょうか?
答えは確率分布にあります。シグモイド関数は、ロジスティック分布という確率分布の累積分布関数(CDF)そのもの なのです。この視点を持つと、世界がつながって見えてきます。ロジスティック回帰がなぜ「シグモイドで確率を出す」のかは、「予測誤差がロジスティック分布に従うと仮定したから」と一言で説明できます。プロビット回帰との違いも、テストの難易度を測る項目反応理論(IRT)も、経済学の離散選択モデルも、すべて同じ分布から枝分かれします。
この分布が活きる場面を挙げてみましょう。ひとつは 二値分類のロジスティック回帰 — 0か1かを確率で予測するための確率的基礎を与えます。もうひとつは 項目反応理論(IRT) — 「この問題に正答できる確率」を受験者の能力の関数として表し、TOEICのようなテストのスコアリングを支えています。さらに 成長曲線モデル(製品の普及、感染の拡大、個体数の飽和)や、ノーベル経済学賞のマクファデンが定式化した 離散選択モデル も、この分布の応用です。
本記事の内容
- ロジスティック分布の直感(シグモイドの母体)と定義、CDFがシグモイドになる導出
- 平均・分散 $\pi^2 s^2/3$ の導出と、正規分布との比較(似ているが裾が重い)
- ロジスティック回帰の潜在変数表現 — 誤差がロジスティック分布だからリンクがロジットになる
- ロジット vs プロビット、Gumbel差がロジスティック分布になる関係、項目反応理論
- Pythonでの実装と、Gumbel差・成長曲線・IRT の数値検証
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
なぜロジスティック分布を学ぶのか — シグモイドの母体
機械学習に親しんでいる人なら、シグモイド関数 $\sigma(x) = 1/(1+e^{-x})$ は手に馴染んでいるはずです。$x$ が大きいと1に、小さいと0に近づき、$x=0$ でちょうど $1/2$ を通る、なめらかな $S$ 字。この関数の「正体」を考えたことはあるでしょうか。
確率論の言葉で言えば、シグモイドは 累積分布関数(CDF) の条件を完璧に満たしています。単調増加で、$x \to -\infty$ で0、$x \to +\infty$ で1。連続でなめらか。CDFとは「確率変数が $x$ 以下になる確率」のことですから、CDFがシグモイドになるような確率変数が存在するはずです。その確率変数が従う分布こそ ロジスティック分布 です。
つまり順序はこうです。「便利だからシグモイドを使う」のではなく、「ロジスティック分布という自然な確率分布があり、そのCDFがたまたま(あるいは必然的に)あの美しい閉じた形 $1/(1+e^{-x})$ になる」。この見方を手に入れると、ロジスティック回帰がなぜ確率を出せるのか、その確率に意味があるのかが、確率論の土台の上で理解できます。

左がロジスティック分布の確率密度関数(PDF)で、左右対称の釣鐘型。一見すると正規分布によく似ています。右が累積分布関数(CDF)で、これがまさにシグモイド関数 $1/(1+e^{-(x-\mu)/s})$ です。中心 $\mu$ で確率 $1/2$ を通り、そこが密度のピークかつCDFの変曲点になっています。この「PDFは正規っぽい釣鐘、CDFは閉じた形のシグモイド」という二面性が、ロジスティック分布を特別な存在にしています。
ではこの分布を、定義からきちんと組み立てていきましょう。
ロジスティック分布の定義とCDF=シグモイド
ロジスティック分布は、位置パラメータ $\mu$(中心)と尺度パラメータ $s > 0$(広がり)の2つで特徴づけられます。まず累積分布関数 $F(x)$ を定義として置きます。なぜならこの分布の「主役」はCDFだからです。
$$ \begin{equation} F(x) = \frac{1}{1 + e^{-(x-\mu)/s}} \end{equation} $$
これがそのままシグモイド関数の形です。標準形($\mu=0,\ s=1$)にすると $F(x) = 1/(1+e^{-x}) = \sigma(x)$、まさに機械学習で使うシグモイドそのものになります。$x \to -\infty$ で分母の $e^{-(x-\mu)/s} \to \infty$ なので $F \to 0$、$x \to +\infty$ で $e^{-(x-\mu)/s} \to 0$ なので $F \to 1$。CDFの条件を満たしていることが一目でわかります。
密度関数の導出
確率密度関数 $f(x)$ は、CDFを微分すれば得られます。$f(x) = F'(x)$ です。$z = (x-\mu)/s$ とおくと $F = (1+e^{-z})^{-1}$、$dz/dx = 1/s$ です。合成関数の微分で計算します。
$$ \begin{align} f(x) &= \frac{d}{dx}\,(1+e^{-z})^{-1} \\ &= -(1+e^{-z})^{-2}\cdot(-e^{-z})\cdot\frac{dz}{dx} \\ &= \frac{e^{-z}}{(1+e^{-z})^2}\cdot\frac{1}{s} \end{align} $$
1行目から2行目は、外側の $(\cdot)^{-1}$ を微分して $-(\cdot)^{-2}$、内側の $e^{-z}$ を $z$ で微分して $-e^{-z}$、さらに $z$ を $x$ で微分して $1/s$ を掛けた連鎖律です。マイナスが2つ出て打ち消し合うので、符号は正のまま。よって密度関数は次のようになります。
$$ \begin{equation} f(x) = \frac{e^{-(x-\mu)/s}}{s\left(1 + e^{-(x-\mu)/s}\right)^2} \end{equation} $$
シグモイドの便利な性質を使った別表現
ここで、シグモイド $\sigma(z) = 1/(1+e^{-z})$ の有名な微分公式 $\sigma'(z) = \sigma(z)(1-\sigma(z))$ を思い出すと、密度は驚くほどきれいに書けます。$F = \sigma(z)$ なので $1-F = e^{-z}/(1+e^{-z})$、よって
$$ \begin{equation} f(x) = \frac{1}{s}\,F(x)\bigl(1 – F(x)\bigr) \end{equation} $$
と表せます。密度がCDF自身の積で書ける——これはニューラルネットワークの逆伝播でシグモイドの勾配を $\sigma(1-\sigma)$ と計算するのと、まったく同じ構造です。ロジスティック回帰やニューラルネットの「あの勾配」が、実は確率密度だったわけです。
密度関数が左右対称であることも確認できます。$f(\mu + t) = f(\mu – t)$ が成り立つので、平均・中央値・最頻値はすべて中心 $\mu$ で一致します。中央値が $\mu$ なのは $F(\mu) = 1/(1+1) = 1/2$ から即座にわかります。
定義が手に入ったので、次はこの分布の「重さの中心」と「広がり」、すなわち平均と分散を求め、正規分布と比べてみましょう。
平均・分散と正規分布との比較
直感を先に述べます。ロジスティック分布は左右対称なので、平均は中心 $\mu$ です。広がりを表す分散は尺度 $s$ の2乗に比例するはずで、実際には $\pi^2 s^2/3$ という美しい形になります。なぜ $\pi$ が顔を出すのかは導出で見えてきます。
平均
左右対称性 $f(\mu+t)=f(\mu-t)$ から、$\mu$ まわりの奇関数の積分はゼロになり、
$$ \begin{equation} \mathbb{E}[X] = \mu \end{equation} $$
が成り立ちます。中央値・最頻値とも一致するため、ロジスティック分布の「中心の3点(平均・中央値・最頻値)」はすべて $\mu$ です。
分散
標準形($\mu=0,\ s=1$)の分散を求めれば、一般形は $s^2$ 倍するだけです。標準ロジスティックの分散は
$$ V[X] = \int_{-\infty}^{\infty} x^2\,\frac{e^{-x}}{(1+e^{-x})^2}\,dx $$
です。この積分はリーマンゼータ関数 $\zeta(2) = \sum_{k=1}^\infty 1/k^2 = \pi^2/6$ と結びつきます。被積分関数を級数展開して項別積分すると $\sum_{k=1}^\infty 1/k^2$ が現れ、結果として
$$ V[X] = \frac{\pi^2}{3} \quad (\text{標準形}) $$
となります。尺度 $s$ を入れると $X = sZ + \mu$($Z$ は標準形)なので $V[X] = s^2 V[Z]$、したがって一般形では
$$ \begin{equation} V[X] = \frac{\pi^2 s^2}{3} \end{equation} $$
です。バーゼル問題で有名な $\pi^2/6$ が、ここにも顔を出すのが面白いところです。なお、尖度(kurtosis)は $4.2$ で、正規分布の $3$ より大きい。これは「裾が重い」ことの定量的な証拠です。
正規分布との比較
ロジスティック分布と正規分布は見た目がよく似ています。どちらも左右対称の釣鐘型。では何が違うのか。裾の重さ です。

左は線形尺度での比較で、分散を同じに揃えています(ロジスティックの分散 $\pi^2 s^2/3$ に合わせて正規分布の $\sigma$ を選んだ)。中心付近ではロジスティックの方がややピークが尖り、肩がやせています。右は対数尺度で見た裾。中心から離れた外側($|x| > 4$ あたり)では、ロジスティック分布の密度が正規分布より明らかに上にあります。
これが意味するのは、ロジスティック分布は外れ値(中心から遠い値)の生起確率が正規分布より高い ということです。実務的には、ロジスティック回帰がプロビット回帰より外れ値にやや頑健になる理由のひとつでもあります。$|x|$ が大きいとき密度は $e^{-|x|/s}$ のオーダーで指数的に減衰しますが、正規分布の $e^{-x^2/2\sigma^2}$(二乗で減衰)よりずっとゆっくりです。
ここまでで分布の素性がわかりました。いよいよ本記事の核心、なぜロジスティック回帰でシグモイドが現れるのか を、潜在変数の視点から解き明かします。
ロジスティック回帰の潜在変数表現
ロジスティック回帰では「$P(y=1) = \sigma(\bm{\beta}^\top \bm{x})$」と確率を計算します。多くの教科書はこれを天下り的に与えますが、なぜこの形なのか? その必然性を与えるのが 潜在変数(latent variable) の考え方です。
観測の裏にある連続量
イメージしましょう。あなたが「この商品を買うか買わないか($y=1$ か $y=0$)」を決めるとき、頭の中には「買いたい気持ちの強さ」のような連続した内部量があるはずです。これは直接は観測できません。観測できるのは「最終的に買ったかどうか」という0/1だけ。この観測できない連続量を 潜在変数 $y^*$ と呼びます。
潜在変数モデルでは、次のように仮定します。説明変数 $\bm{x}$ から決まる確定部分 $\bm{\beta}^\top \bm{x}$ に、ランダムな誤差 $\varepsilon$ が乗って潜在変数が決まり、それがしきい値(ここでは0)を超えたら $y=1$ になる、と。
$$ \begin{equation} y^* = \bm{\beta}^\top \bm{x} + \varepsilon, \qquad y = \begin{cases} 1 & (y^* > 0) \\ 0 & (y^* \le 0) \end{cases} \end{equation} $$

青と赤は、説明変数が異なる2つの観測点での潜在変数 $y^*$ の分布です。それぞれ中心が $\bm{\beta}^\top \bm{x}$ にあり、誤差 $\varepsilon$ の分だけばらついています。しきい値0より右側にある確率(赤の塗りつぶし部分)が、その観測が $y=1$ になる確率です。中心が右にあるほど、しきい値を超える確率が大きくなる——直感どおりです。
誤差がロジスティック → シグモイドが出る
ここが決定的なポイントです。$y=1$ になる確率を計算しましょう。
$$ \begin{align} P(y=1 \mid \bm{x}) &= P(y^* > 0) \\ &= P(\bm{\beta}^\top \bm{x} + \varepsilon > 0) \\ &= P(\varepsilon > -\bm{\beta}^\top \bm{x}) \end{align} $$
最後の行は、$\bm{\beta}^\top\bm{x}$ を移項しただけです。ここで誤差 $\varepsilon$ の分布の対称性を使います。標準ロジスティック分布は左右対称なので $P(\varepsilon > -a) = P(\varepsilon < a) = F(a)$。したがって
$$ \begin{equation} P(y=1\mid\bm{x}) = F(\bm{\beta}^\top\bm{x}) = \frac{1}{1+e^{-\bm{\beta}^\top\bm{x}}} = \sigma(\bm{\beta}^\top\bm{x}) \end{equation} $$
シグモイドが出ました。ロジスティック回帰のシグモイドは「誤差項がロジスティック分布に従う」という仮定の直接の帰結 だったのです。これは天下りではなく、確率モデルから導かれる必然です。
オッズ対数(ロジット)の線形性
この関係を逆に解くと、ロジスティック回帰のもうひとつの顔が見えます。$p = \sigma(\bm{\beta}^\top\bm{x})$ を $\bm{\beta}^\top\bm{x}$ について解くと、
$$ \begin{equation} \ln\frac{p}{1-p} = \bm{\beta}^\top\bm{x} \end{equation} $$
左辺は ロジット(対数オッズ) と呼ばれ、シグモイドの逆関数です。「確率 $p$ のオッズ $p/(1-p)$ の対数が、説明変数の線形結合になる」——これがロジスティック回帰を「一般化線形モデル」と呼ぶ理由です。リンク関数がロジット、すなわちロジスティック分布のCDFの逆関数になっています。
誤差分布をロジスティックに選んだからロジットになった。では、誤差分布を別のものに選んだら? 自然な対抗馬が正規分布で、それがプロビット回帰です。次に両者を比べましょう。
ロジット vs プロビット
ロジスティック回帰と双子のような手法に プロビット回帰 があります。違いはただ一点、潜在変数の誤差にどの分布を仮定するか です。
- ロジット(ロジスティック回帰): 誤差 $\varepsilon$ がロジスティック分布 → リンク関数はシグモイド $\sigma(\cdot)$
- プロビット回帰: 誤差 $\varepsilon$ が正規分布 → リンク関数は標準正規のCDF $\Phi(\cdot)$
プロビットでは、同じ潜在変数の論法で $P(y=1) = \Phi(\bm{\beta}^\top\bm{x})$ となります。$\Phi$ は正規分布のCDFで、こちらは閉じた初等関数では書けません(誤差関数 erf が必要)。

左はリンク関数(CDF)の比較です。傾きを揃えると、ロジットとプロビットはほとんど重なります。実データでどちらを使っても係数の解釈が多少変わるだけで、予測性能に大差がつくことは稀です。右は両者の差で、中心では一致し、裾($|\eta|$ が大きい領域)でロジットの方がわずかに大きい ことがわかります。これは前節で見た「ロジスティック分布の裾が重い」性質の反映です。
実務での使い分けは慣習による部分が大きいですが、ロジットには次の利点があります。第一に、リンク関数が閉じた形 $\sigma$ で書け、勾配が $\sigma(1-\sigma)$ ときれいなので計算が軽い。第二に、係数がそのまま 対数オッズ比 として解釈でき、説明力が高い。機械学習でロジスティック回帰が標準になっているのは、この扱いやすさのおかげです。一方、計量経済学ではプロビットも根強く使われます。
ロジスティック分布は「誤差分布」として回帰に現れました。実は、もうひとつ別の経路でもロジスティック分布は登場します。極値分布である Gumbel分布の差 です。これが離散選択モデルの理論的支柱になっています。
Gumbel差がロジスティック分布になる
離散選択モデル(多数の選択肢から1つを選ぶモデル)の世界では、ランダム効用 $U_k = V_k + \varepsilon_k$ を各選択肢 $k$ に割り当て、効用が最大の選択肢が選ばれると考えます。このとき、誤差 $\varepsilon_k$ に Gumbel分布(極値分布の一種)を仮定すると、選択確率がきれいなロジット型になります。その鍵が次の事実です。
独立な2つの標準Gumbel分布の差は、標準ロジスティック分布に従う。
導出
標準Gumbel分布(最大値型、位置0・尺度1)のCDFは $F_G(x) = \exp(-e^{-x})$、PDFは $f_G(x) = e^{-x}\exp(-e^{-x})$ です。$G_1, G_2$ を独立な標準Gumbel確率変数とし、その差 $D = G_1 – G_2$ の分布を求めます。$D$ のCDFは畳み込みで
$$ P(D \le d) = \int_{-\infty}^{\infty} F_G(g_2 + d)\,f_G(g_2)\,dg_2 $$
です。$F_G(g_2+d) = \exp(-e^{-(g_2+d)})$、$f_G(g_2) = e^{-g_2}\exp(-e^{-g_2})$ を代入すると、被積分関数は
$$ \exp\!\bigl(-e^{-g_2}(1 + e^{-d})\bigr)\,e^{-g_2} $$
になります。ここで $u = e^{-g_2}$ と置換すると $du = -e^{-g_2}\,dg_2$、積分は
$$ P(D \le d) = \int_0^\infty \exp\!\bigl(-u(1+e^{-d})\bigr)\,du = \frac{1}{1+e^{-d}} $$
と一発で解けます。指数関数の積分 $\int_0^\infty e^{-au}du = 1/a$ を $a = 1+e^{-d}$ で使っただけです。結果は
$$ \begin{equation} P(D \le d) = \frac{1}{1+e^{-d}} = \sigma(d) \end{equation} $$
これは標準ロジスティック分布のCDFそのものです。Gumbel差はロジスティック分布になる ことが、初等的な計算だけで示せました。

20万個の独立なGumbelペアの差をヒストグラムにし、理論曲線(標準ロジスティック分布)を重ねたものです。ヒストグラムが理論曲線にぴったり一致しています。これは偶然ではなく、上で導いた厳密な関係の数値的な裏付けです。
離散選択モデルへの帰結
この事実が効くのは2択の離散選択です。選択肢AとBの効用差 $U_A – U_B = (V_A – V_B) + (\varepsilon_A – \varepsilon_B)$ を考えると、誤差差 $\varepsilon_A – \varepsilon_B$ がロジスティック分布になります。よってAを選ぶ確率 $P(U_A > U_B)$ は、前節の潜在変数の論法でそのままシグモイドになり、
$$ \begin{equation} P(A) = \frac{e^{V_A}}{e^{V_A}+e^{V_B}} = \sigma(V_A – V_B) \end{equation} $$
が得られます。多選択肢に一般化すれば、これがソフトマックス(多項ロジット)です。ニューラルネットの出力層で使うソフトマックスの確率的起源が、ここにあります。
このGumbel差とロジット選択の関係は、極値統計とロジスティック分布をつなぐ深い結果です。極値分布そのものについては別記事で詳しく扱っています(記事末尾のリンク参照)。次は、ロジスティックCDFがテスト理論で主役になる例、項目反応理論を見てみましょう。
項目反応理論(IRT)
TOEICや共通テストのような大規模試験では、「この受験者の能力はどれくらいか」を、単なる正答数ではなく確率モデルで推定します。その理論的支柱が 項目反応理論(Item Response Theory, IRT) で、その中心にロジスティックCDFが座っています。
項目特性曲線
IRTでは、受験者の潜在的な能力を $\theta$ で表し、ある問題(項目)に正答する確率を $\theta$ の関数 項目特性曲線(Item Characteristic Curve, ICC) でモデル化します。最も使われる2パラメータロジスティックモデル(2PL)は、
$$ \begin{equation} P(\theta) = \frac{1}{1 + e^{-a(\theta – b)}} = \sigma\bigl(a(\theta – b)\bigr) \end{equation} $$
です。$b$ は 困難度(問題の難しさ)、$a$ は 識別力(能力の差をどれだけ鋭く見分けるか)。これはまさにロジスティックCDFで、$\theta$ を入力、正答確率を出力とするシグモイドです。

困難度 $b$ を変えると曲線が左右に平行移動します。$b$ が大きい(難しい)問題は曲線が右にずれ、同じ能力 $\theta$ でも正答確率が下がります。困難度 $b$ では正答確率がちょうど $1/2$ になる(中心を通る)ことに注目してください。識別力 $a$ を大きくすると曲線が急になり、能力のわずかな差で正答確率が大きく変わる——「能力差をよく識別する問題」になります。
ロジスティック回帰との対応は明快です。$a(\theta-b) = a\theta – ab$ と展開すれば、$\theta$ を説明変数、$a$ を係数、$-ab$ を切片とするロジスティック回帰そのもの。IRTは「能力 $\theta$ を説明変数にしたロジスティック回帰」と見ることができます。
IRTの応用は試験だけにとどまりません。心理尺度の測定、アンケート項目の質評価、さらにはコンピュータ適応型テスト(受験者の解答に応じて出題を変える)にも使われています。シグモイド=ロジスティックCDFが、教育測定の精密化を支えているわけです。
IRTでは入力 $\theta$ が能力でしたが、ロジスティック関数を「時間」の関数として使うと、まったく別の応用——成長曲線が見えてきます。
成長曲線と離散選択 — 応用の広がり
ロジスティック成長
ロジスティック分布のCDFは「時間とともに飽和に向かうS字」を描きます。この形は、生態学の個体数増加、新製品の市場普及、感染症の拡大など、「初めはゆっくり、途中で急加速し、上限に近づいて頭打ち」という現象に驚くほどよく当てはまります。これがロジスティック成長モデルです。
時刻 $t$ における量 $P(t)$ を、上限(環境収容力)$K$、成長率 $r$、変曲点の時刻 $t_0$ で表すと、
$$ \begin{equation} P(t) = \frac{K}{1 + e^{-r(t – t_0)}} \end{equation} $$
となり、形はロジスティックCDFをスケールしたものです。この $P(t)$ は微分方程式 $dP/dt = rP(1 – P/K)$ の解で、「成長速度が現在量と残り余地の積に比例する」という直感を表しています。

成長率は変曲点 $t_0$ で最大になり、上限 $K$ に近づくと頭打ちになります。観測データ(赤点)がこのS字に乗る様子は、新型コロナの累積感染者数や、SNSの利用者数の伸びでも見られたパターンです。CDFのS字が、そのまま現実の飽和現象のモデルになっているのです。
離散選択モデル
最後に、Gumbel差の節で触れた離散選択をもう一度、図で押さえます。

各選択肢にランダム効用 $U_k = V_k + \varepsilon_k$($\varepsilon_k$ はGumbel誤差)を割り当て、効用最大の選択肢が選ばれます。Gumbel差がロジスティックになるおかげで、選択確率はソフトマックス(多項ロジット)$P_k = e^{V_k}/\sum_j e^{V_j}$ になります。マーケティングの「どの商品を買うか」、交通工学の「どの交通手段を選ぶか」、レコメンドの「どのアイテムをクリックするか」——いずれもこの枠組みでモデル化できます。
これらの応用に共通するのは、すべてが「ロジスティックCDF=シグモイド」という同じ部品から組み立てられている点です。最後に、ここまでの内容をPythonで実装し、数値で確かめましょう。
Pythonでの実装
PDF・CDFと統計量の確認
まず、ロジスティック分布のPDF・CDFを実装し、平均と分散の理論値 $\mu$、$\pi^2 s^2/3$ がサンプルで再現されるか確かめます。
import numpy as np
from scipy import stats
def logistic_pdf(x, mu=0.0, s=1.0):
z = (x - mu) / s
e = np.exp(-z)
return e / (s * (1.0 + e) ** 2)
def logistic_cdf(x, mu=0.0, s=1.0):
return 1.0 / (1.0 + np.exp(-(x - mu) / s))
# パラメータ
mu, s = 2.0, 1.5
# 理論値
mean_theory = mu
var_theory = np.pi**2 * s**2 / 3.0
# 乱数からの推定(scipy のロジスティック分布でサンプリング)
rng = np.random.default_rng(0)
samples = stats.logistic(loc=mu, scale=s).rvs(size=2_000_000, random_state=rng)
print(f"平均 理論={mean_theory:.4f} 標本={samples.mean():.4f}")
print(f"分散 理論={var_theory:.4f} 標本={samples.var():.4f}")
print(f"中央値 理論={mu:.4f} 標本={np.median(samples):.4f}")
このコードを実行すると、標本平均は約 $2.00$、標本分散は約 $7.40$($\pi^2 \cdot 1.5^2/3 \approx 7.40$)となり、理論値とよく一致します。中央値も $\mu=2.0$ に一致。導出した平均 $\mu$ と分散 $\pi^2 s^2/3$ が、乱数実験でそのまま確認できました。$\pi^2$ という一見不思議な定数が、確かにこの分布の分散に埋め込まれているのです。
CDFがシグモイドであることと逆関数(ロジット)
次に、CDFがシグモイドそのものであること、そしてその逆関数がロジット(対数オッズ)であることを確認します。
import numpy as np
# 標準形でシグモイドと一致するか
x = np.linspace(-6, 6, 7)
sigmoid = 1.0 / (1.0 + np.exp(-x))
cdf = logistic_cdf(x, 0.0, 1.0)
print("CDF とシグモイドの最大差:", np.max(np.abs(cdf - sigmoid)))
# 逆関数(分位関数)がロジットになるか
p = np.array([0.1, 0.25, 0.5, 0.75, 0.9])
quantile = np.log(p / (1 - p)) # ロジット = F^{-1}(p)
recovered = logistic_cdf(quantile, 0.0, 1.0) # F(F^{-1}(p)) = p のはず
print("ロジットを通して復元した p:", recovered)
実行すると、CDFとシグモイドの最大差は $0$(完全一致)、ロジットを通して復元した確率は元の [0.1, 0.25, 0.5, 0.75, 0.9] にぴたりと戻ります。これは「CDF(シグモイド)と分位関数(ロジット)が互いに逆関数」であることの数値的証明です。

左がCDF(シグモイド $1/(1+e^{-x})$)、右が分位関数(ロジット $\ln[p/(1-p)]$)です。一方の縦軸と横軸を入れ替えると、もう一方になります。確率の世界(縦軸 $0$〜$1$)と対数オッズの世界(縦軸 $-\infty$〜$\infty$)を、シグモイドとロジットが行き来しています。ロジスティック回帰が「確率」と「線形予測子」を結びつけられるのは、この往復のおかげです。
Gumbel差がロジスティックになることの検証
理論で導いた「Gumbel差=ロジスティック」を、モンテカルロで確かめます。
import numpy as np
from scipy import stats
rng = np.random.default_rng(3)
n = 1_000_000
# 標準Gumbel(最大値型, 位置0・尺度1)を2つ
g1 = rng.gumbel(0.0, 1.0, n)
g2 = rng.gumbel(0.0, 1.0, n)
diff = g1 - g2
# 差の分布を標準ロジスティックと比較(KSテスト)
ks_stat, p_value = stats.kstest(diff, stats.logistic(loc=0, scale=1).cdf)
print(f"標本平均 = {diff.mean():.4f} (理論 0)")
print(f"標本分散 = {diff.var():.4f} (理論 pi^2/3 = {np.pi**2/3:.4f})")
print(f"KS統計量 = {ks_stat:.5f} p値 = {p_value:.3f}")
実行すると、Gumbel差の標本平均は約 $0$、標本分散は約 $3.29$($\pi^2/3 \approx 3.29$)で、標準ロジスティック分布の理論値と一致します。コルモゴロフ–スミルノフ検定のKS統計量はごく小さく、「Gumbel差は標準ロジスティック分布に従う」という帰無仮説は棄却されません。理論で初等的に導いた厳密な関係が、大規模サンプルでも崩れないことが確認できました。
ロジスティック成長曲線のフィット
最後に、ノイズ入りの観測データにロジスティック成長曲線を当てはめ、CDFのS字が現実の飽和現象を表せることを確かめます。
import numpy as np
from scipy.optimize import curve_fit
def logistic_growth(t, K, r, t0):
return K / (1.0 + np.exp(-r * (t - t0)))
# 真のパラメータで合成データを生成
rng = np.random.default_rng(11)
K_true, r_true, t0_true = 100.0, 0.8, 6.0
t_obs = np.linspace(0.5, 13.5, 22)
y_clean = logistic_growth(t_obs, K_true, r_true, t0_true)
y_obs = y_clean + rng.normal(0, 3.5, t_obs.size) # 観測ノイズ
# 非線形最小二乗でフィット
p0 = [80.0, 0.5, 5.0] # 初期値
popt, _ = curve_fit(logistic_growth, t_obs, y_obs, p0=p0)
K_hat, r_hat, t0_hat = popt
print(f"飽和水準 K : 真値={K_true} 推定={K_hat:.2f}")
print(f"成長率 r : 真値={r_true} 推定={r_hat:.3f}")
print(f"変曲点 t0 : 真値={t0_true} 推定={t0_hat:.3f}")
実行すると、推定された飽和水準 $K$、成長率 $r$、変曲点 $t_0$ はいずれも真値の近傍($K \approx 100$、$r \approx 0.8$、$t_0 \approx 6$)に収束します。ノイズの乗った疎な観測点からでも、ロジスティック成長曲線のパラメータをきれいに復元できました。これは、累積普及率や個体数のような「飽和するデータ」をモデル化するうえで、ロジスティックCDFが実用的な土台になることを示しています。
なお、尺度パラメータ $s$ を変えると分布の広がりとシグモイドの傾きがどう変わるかも、PDF/CDFを描けば一目瞭然です。

$s$ が小さいほど密度は中心に集中し、CDF(シグモイド)は急なステップに近づきます。逆に $s$ が大きいと、密度は平たく広がり、シグモイドはなだらかになります。$s$ はまさに「不確実性の大きさ」を制御するつまみで、分散 $\pi^2 s^2/3$ を通じて分布の広がりを決めています。
まとめ
本記事では、ロジスティック分布を「シグモイドの母体」という視点から、定義・性質・応用まで一貫して解説しました。
- CDF=シグモイド: ロジスティック分布の累積分布関数 $F(x) = 1/(1+e^{-(x-\mu)/s})$ は、機械学習でおなじみのシグモイド関数そのもの。密度は $f = \frac{1}{s}F(1-F)$ と書け、シグモイドの勾配公式と同じ構造を持つ。
- 平均と分散: 左右対称なので平均・中央値・最頻値はすべて $\mu$。分散は $\pi^2 s^2/3$ で、バーゼル問題の $\pi^2$ が顔を出す。正規分布に似るが、裾はロジスティックの方が重い。
- 潜在変数表現: 潜在変数 $y^* = \bm{\beta}^\top\bm{x} + \varepsilon$ の誤差 $\varepsilon$ がロジスティック分布だから、$P(y=1) = \sigma(\bm{\beta}^\top\bm{x})$ というシグモイドが必然的に導かれる。誤差を正規分布にすればプロビット回帰になる。
- Gumbel差: 独立な2つのGumbel確率変数の差はロジスティック分布になり、これが離散選択モデル(多項ロジット=ソフトマックス)の理論的支柱になっている。
- 広い応用: ロジスティック回帰、項目反応理論(IRT)の項目特性曲線、ロジスティック成長曲線、離散選択モデルが、すべて同じロジスティックCDFから枝分かれする。
シグモイドを「便利な関数」ではなく「ロジスティック分布のCDF」として理解すると、機械学習・統計・経済学・教育測定にまたがる多くの手法が、一本の確率的な糸でつながって見えてきます。
次のステップとして、以下の記事も参考にしてください。