医療統計学・医療情報学・遠隔医療

医療統計学・医療情報学・遠隔医療 · 04

確率と分布

Probability and Distributions

応用トピック
疫学指標・ROC曲線・尤度比ベイズ法情報理論とデータベース

🧠 記述統計は手元の標本について語る。しかし臨床の問いは常に「次の患者では」「もう一度やったら」という形をしている。この「繰り返したら」を語る言語が確率であり、確率の形を一つの関数にまとめたものが分布である。確率と分布は、記述統計と推測統計をつなぐ唯一の橋である。

事象

とは、ランダムな状況(「実験」)における、関心のある1つの結果である。事象は必ず観測可能でなければならない——つまり「起きたか起きなかったか」が一意に判定できることが条件である。

用語 内容
事象空間 Ω\Omega 起こりうるすべての結果の集合
基本事象 それ以上分解できない(する必要のない)事象。基本事象は Ω\Omega を隙間なく覆わなければならない
複合事象 複数の基本事象の組。「サイコロで偶数が出た」「血液検査に何らかの異常が出た」

💡 何を事象とみなすかはこちらが自由に決めてよい。「サイコロの目が6」も「偶数」も等しく事象である。ただし決めた瞬間に Ω\Omega の分割の仕方が決まるので、後から都合よく事象を定義し直すと確率の意味が壊れる(→ 統計的議論の組み立て)。

事象どうしの関係

関係 記法 意味
かつ(積) P(A∩B)P(A \cap B)、P(AB)P(AB) A と B が同時に起こる
または(和) P(A∪B)P(A \cup B) A か B の少なくとも一方が起こる
否定(余事象) P(Aˉ)P(\bar{A}) A 以外が起こる。「患者に発熱がない」
— 同時には起こりえない。「偶数」と「奇数」

頻度から確率へ

同じ実験を NN 回繰り返し、事象 A が起きた回数を kAk_A とすると、

  • 絶対度数 … kAk_A
  • 相対度数 … kA/Nk_A / N

⚠️ 相対度数は実験を繰り返すたびに違う値になる。しかし NN を大きくしていくと、ある値のまわりに安定していく。この安定先を確率 P(A)P(A) と定義する(大数の法則)。

💡 これは確率の定義である。「確率とは、無限に繰り返したときの相対度数の極限」という意味であり、したがって1回限りの出来事に確率を割り当てることが原理的に難しいという弱点をもつ。これに対して確率を「信念の度合い」と捉えるベイズ的定義があり、そこでは1回限りの事象や、まだ観測していない量にも確率を置ける(→ ベイズ的方法)。本科目の検定・はすべて頻度論の枠組みで組み立てられている。

Kolmogorov の公理

0≤P(A)≤1,P(A∩Aˉ)=P(∅)=0,P(A∪Aˉ)=P(Ω)=10 \le P(A) \le 1, \qquad P(A \cap \bar{A}) = P(\varnothing) = 0, \qquad P(A \cup \bar{A}) = P(\Omega) = 1

∅\varnothing は不可能事象、Ω\Omega は全事象(必ず起こる事象)である。

排反な事象については加法が成り立つ。

P(A∪B)=P(A)+P(B)(A,B mutually exclusive)P(A \cup B) = P(A) + P(B) \quad (A, B \text{ mutually exclusive})

⚠️ 排反でないなら重複を引く必要がある(P(A∪B)=P(A)+P(B)−P(A∩B)P(A \cup B) = P(A) + P(B) - P(A \cap B))。これを忘れて足し算だけすると、確率が1を超えるという分かりやすい破綻が起きる。

独立と条件付き確率

とは、一方が起きても他方の確率が変わらないことである。定義は次の等式そのものである。

P(A∩B)=P(A) P(B)P(A \cap B) = P(A)\,P(B)

⚠️ 「排反」と「独立」は正反対に近い概念であり、混同しやすい。 排反な2事象(どちらも確率が0でない)は、片方が起きた瞬間にもう片方の確率が0になるので、独立ではない。「だから足せる」と考えると必ず間違える——足せるのは排反のとき、掛けられるのは独立のときである。

条件付き確率 P(A∣B)P(A \mid B) は「B が起きたという条件のもとでの A の確率」である。

P(A∣B)=P(A∩B)P(B)⟺P(A∩B)=P(A∣B) P(B)P(A \mid B) = \frac{P(A \cap B)}{P(B)} \qquad\Longleftrightarrow\qquad P(A \cap B) = P(A \mid B)\,P(B)

💡 条件付き確率の実体は「Ω\Omega 全体ではなく、B という部分集合の中だけで相対度数を数え直す」ことである。分母が Ω\Omega から B に縮むだけで、やっていることは度数の数え上げに変わりない。

独立なら P(A∣B)=P(A)P(A \mid B) = P(A) となる。B の情報が A の見込みを変えないという定義の言い換えである。

部分集合の例

A が B の部分集合なら(A が起これば B は自動的に成立するので)P(A∩B)=P(A)P(A \cap B) = P(A) となり、

P(A∣B)=P(A)P(B)P(A \mid B) = \frac{P(A)}{P(B)}

たとえば「糖尿病である」確率を P(B)P(B)、「2型糖尿病である」確率を P(A)P(A) と置き、P(B)=0.15P(B) = 0.15、P(A)=0.10P(A) = 0.10 とすれば、糖尿病と分かっている患者が2型である確率は 0.10/0.15≈0.6670.10 / 0.15 \approx 0.667 となる。

⚠️ この 66.7% は式の使い方を示すための架空の数値であり、疫学的な事実ではない。実際には糖尿病の大多数(おおむね9割以上)が2型であり、上の数字はそのまま覚えてはならない。教材の例題に出てくる数値は、計算手順の説明用に選ばれているだけのことが多い。

オッズ・リスク・比

条件付き確率から、疫学で使う指標が直接導かれる。

指標 定義 意味
O=P1−PO = \dfrac{P}{1-P} 起こる見込みが起こらない見込みの何倍か。事象空間が2値のときだけ意味をもつ
(RR) RR=P(D∣R)P(D∣Rˉ)\mathrm{RR} = \dfrac{P(D \mid R)}{P(D \mid \bar{R})} 危険因子 RR の有無で疾患 DD の確率が何倍になるか
(OR) OR=OD∣ROD∣Rˉ\mathrm{OR} = \dfrac{O_{D \mid R}}{O_{D \mid \bar{R}}} どうしの比。4つの条件付き確率が要る

⚠️ OR を RR として読んではならない。 が稀なとき(PP が小さいとき)は O≈PO \approx P なので両者は近づくが、頻度の高いでは OR\mathrm{OR} は RR\mathrm{RR} よりはるかに1から遠い値になり、効果を誇張する。詳細は 疫学指標・曲線・尤度比 で扱う。

分布

複数の結果がありうるとき、すべての結果に確率を割り当てた対応が分布である。

の型 分布を表す関数 記法
離散 P(ξ=x)P(\xi = x)
連続 f(x)f(x)
どちらも F(x)=P(ξ<x)F(x) = P(\xi < x)

ここで ξ\xi は確率、xx はその特定の値を表す。

⚠️ 密度関数の値は確率ではない。 連続では「ちょうど xx になる確率」は0であり、確率を与えるのは曲線の下の面積である。

P(a≤ξ<b)=∫abf(x) dx,∫−∞∞f(x) dx=1P(a \le \xi < b) = \int_a^b f(x)\,dx, \qquad \int_{-\infty}^{\infty} f(x)\,dx = 1

💡 だから密度の縦軸の値そのものには実用上の意味がない(単位は「1/の単位」になる)。読むべきは面積であり、CDF はその面積を最初からして描いたものである。CDF は必ず増加で、右端で1に収束する。

医学で登場する主な分布は、分布、Student の t分布、二項分布、χ2\chi^2 分布、一様分布、指数分布、幾何分布、対数などである。一覧を暗記する必要はない。重要なのは二項分布との2つで、残りは必要になった章で導入される。

二項分布

条件:(1) nn 回の試行を行う、(2) 各試行の結果は2値(成功/失敗)、(3) 各試行の成功確率 pp は一定、(4) 試行どうしは独立。この4条件が揃うとき、成功回数 kk の分布は二項分布に従う。

P(ξ=k)=(nk)pk(1−p) n−k,k=0,1,…,nP(\xi = k) = \binom{n}{k} p^{k} (1-p)^{\,n-k}, \qquad k = 0, 1, \dots, n

⚠️ 4条件のうち臨床で最も破れやすいのは独立性である。同じ病棟の患者、同じの症例、同一患者の左右の眼は独立ではない。独立でないデータに二項分布を当てると、ばらつきを過小評価する。

二項分布に対して立てられる問いは4通りある。

問い 使う関数
ちょうど kk 回成功する確率は? PMF
kk 回以下の確率は?(下側確率、kk を含む) CDF
kk 回より多い確率は?(上側確率、kk を含まない) 1−CDF(k)1 - \mathrm{CDF}(k)
確率を qq 以上にするには最低何回ぶん用意すればよいか? 分位点関数

下側確率は「以下」(≤\le)で kk を含み、上側確率は「より多い」(>>)で kk を含まない。統計ソフトの出力もこの規約に従う。離散分布では等号を含むか否かで答えが変わるので、ここを取り違えると数%ずれる。

例:機内食

乗客が菜食主義者である確率を p=0.05p = 0.05、乗客数を n=30n = 30 とする。

from scipy.stats import binom

n, p = 30, 0.05
print(binom.pmf(3, n, p))    # ちょうど3人 → 0.1270
print(binom.cdf(3, n, p))    # 3人以下(=3食で足りる) → 0.9392
print(binom.sf(3, n, p))     # 3人より多い(=足りない) → 0.0608
print(binom.ppf(0.99, n, p)) # 99%の確率で足りる最小の食数 → 5.0

💡 この出力の読む順序

  1. 効果の大きさ — 「3食では6%の確率で不足する」という現実の量をまず読む
  2. その量に意味があるか — 6%は許容できるか。100便に6便で足りなくなる、と言い換えて判断する
  3. 不確実性 — p=0.05p = 0.05 自体が推定値なら、その誤差も効いてくる
  4. 数式の値そのものは最後。「0.0608」という数字を報告しても意思決定にはならない

⚠️ 「100%確実に足りるようにするには?」という問いの答えは30食である。二項分布では k=nk = n 以外に確率1は達成できない。「絶対に足りる」を求めると常に最大値になる——これはリスク管理の本質的な性質であり、な保証(99%)とな保証(100%)のコストは連続的につながっていない。

正規分布

連続の分布で、2つのをもつ:中心=期待値 μ\mu、広がり= σ\sigma。

f(x)=1σ2πexp⁡ ⁣(−(x−μ)22σ2)f(x) = \frac{1}{\sigma\sqrt{2\pi}} \exp\!\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)
特徴 内容
対称性 μ\mu について左右対称。したがって平均=中央値=最頻値
μ\mu 分布の重心であり、ピークの位置
σ\sigma 曲線の(最も傾きが急な点)までの距離
裾 両側とも無限に続き、0にはならない

μ=0\mu = 0、σ=1\sigma = 1 とした標準の形。

xychart-beta
    title "標準正規分布の確率密度"
    x-axis "z(平均から標準偏差いくつ分か)" [-4, -3.5, -3, -2.5, -2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4]
    y-axis "確率密度" 0 --> 0.42
    line [0.0001, 0.0009, 0.0044, 0.0175, 0.054, 0.1295, 0.242, 0.3521, 0.3989, 0.3521, 0.242, 0.1295, 0.054, 0.0175, 0.0044, 0.0009, 0.0001]

💡 表の4行がこの1枚に見える。z=0z = 0 で最大(密度 0.399)、z=±1z = \pm 1 が、z=±3z = \pm 3 ではすでに密度が 0.0044 と中心の約 1/90 まで落ちる。それでも0 にはならない——裾は無限に続く。「3σ3\sigma の外は起こらない」ではなく「めったに起こらない」である。

⭐ 裾がどれほど急速に薄くなるかを掴んでおくと、後の話が楽になる。z=±2z = \pm 2 の外側は合わせて約 5%、±3\pm 3 の外側は約 0.3%。分布の値のほとんどが中心のごく狭い範囲に集まるという事実が、平均 ± 2SD という要約が機能する理由であり、同時に外れ値の判定が成り立つ根拠でもある。

標準化

任意のは、μ=0\mu = 0、σ=1\sigma = 1 の標準に変換できる。

z=x−μσz = \frac{x - \mu}{\sigma}

💡 zz は「平均から SD いくつぶん離れているか」を表す無単位の量である。単位が消えるので、身長と血圧のように単位の違うどうしを同じ尺度で比較できる。これがの標準化スコア(成長の、骨密度のTスコアなど)の原理である。

68 / 95 / 99.7 の規則

範囲 含まれる割合
μ±1σ\mu \pm 1\sigma 約 68.3%
μ±2σ\mu \pm 2\sigma 約 95.4%
μ±3σ\mu \pm 3\sigma 約 99.7%

⚠️ この規則が正確に成り立つのは「真にする量」についてだけである。 実データはせいぜいに近いだけなので、とくに裾(3σの外)では相対誤差が非常に大きくなる。「3σを超えたから1000回に3回の異常事態だ」という推論は、裾が正規より重い実データでは大きく外れる。中央付近の68%・95%は近似としてよく効くが、裾に外挿してはならない。

もう一点。「95%」に対応する厳密な倍率は 2 ではなく 1.96 である。やでは 1.96 を使う(→ 標本抽出と推定)。2 は暗算用の近似である。

例:大腿長

大腿長が μ=50\mu = 50 cm、σ=5\sigma = 5 cm のに従うとする。

from scipy.stats import norm

mu, sigma = 50, 5
print(norm.cdf(55, mu, sigma))                       # 55cm以下 → 0.8413
print(norm.cdf(51, mu, sigma) - norm.cdf(49, mu, sigma))  # 49–51cm → 0.1585
print(norm.ppf(0.99, mu, sigma))                     # 99%が収まる上限 → 61.63 cm

💡 3行目のような「所定の割合を収める値」を求める操作が分位点関数であり、ではこれが・・臨界値のすべての正体である。座席設計のような場面では、この 61.63 cm を「99%の人が快適」と読む。残る1%を切り捨ててよいかは統計ではなく設計判断である。

対数正規分布

生体の測定値には右に長い裾を引くものが多い(血糖、、、酵素活性、入院日数)。このようなはしないが、対数を取るとに近づくことが多い。これを対数という。

ξ∼Lognormal  ⟺  log⁡ξ∼N(μ,σ2)\xi \sim \mathrm{Lognormal} \iff \log \xi \sim \mathcal{N}(\mu, \sigma^2)

💡 対数正規が生じるのは、多くの要因が加算的ではなく乗算的に効くときである。加算的に効くなら正規、乗算的に効くなら対数正規になる(対数を取れば掛け算は足し算になるため)。生体の濃度や時間は倍率で変動しやすいので、対数正規が頻出するのはではない。

⚠️ した値で平均を取り、指数に戻して得られるのは算術平均ではなく幾何平均である。元の尺度の平均とは一致しないので、報告のときにどちらを示しているか明示する。

正規性の確認:QQプロット

QQプロット(quantile–quantile plot) は、横軸に標準の pp-分位数、縦軸に調べたいの pp-分位数を取り、同じ pp どうしを1点として打つ図である。データがに従うなら、点は直線に並ぶ。

図の形 意味
ほぼ直線 正規と矛盾しない
両端が上下に反る(S字) 裾が正規より重い/軽い
右端だけ上に跳ね上がる 右に歪んでいる。対数正規を疑う
状になる 離散的な値、または測定の丸め

⚠️ 横軸から確率そのものを直接読むことはできない。読めるのは中央値のような自明な場合だけである(標準の0.5-分位数は0なので、横軸0の点の縦座標がそのデータの中央値になる)。

ヒストグラムだけで「正規分布している」と言わない

これは教材でも実務でも最も多い誤りの一つである。

よくある判断 問題
「ヒストグラムが釣鐘型だからである」 ヒストグラムは幅で形が変わる。中央付近が釣鐘型でも裾は判定できない。裾こそが検定とに効く部分である
「正規性検定で p > 0.05 だったから正規である」 検定は「正規でない」ことを棄却できなかっただけで、正規性の証明ではない。しかも n が小さいと検出力がなく、n が大きいと臨床的に無意味なずれでも有意になる1

⭐ 正しい手順は、ヒストグラムと QQプロットを併用し、必要なら検定を補助的に使うことである1。図が主で検定が従であり、逆ではない。

そもそも何の正規性が要るのか

⚠️ さらに根本的な点として、t検定や線形回帰が要求しているのはデータそのものの正規性ではなく、推定量(標本平均や回帰係数)の標本分布の正規性である2。中心極限定理により、元の分布が非正規でも nn が十分大きければ標本平均は正規に近づく。

💡 したがって実務上の判断はこうなる。

状況 判断
nn が大きい(数百以上) 元の分布の非正規性はほとんど問題にならない2。正規性検定でわざわざ有意にするより、外れ値と歪みの実害を図で確認するほうが有益
nn が小さい 正規性の仮定が結果を左右する。図で確認し、疑わしければ変換か順位に基づく方法へ
平均そのものが解釈しにくいほど歪んでいる 検定の以前の問題。中央値で要約する(→ 記述統計)
import pandas as pd, numpy as np, scipy.stats as st, matplotlib.pyplot as plt

df = pd.read_csv("frmgham2.csv", na_values=["NA"])
st.probplot(df["HEARTRTE"].dropna(), dist="norm", plot=plt)          # ほぼ直線になる
st.probplot(np.log(df["TOTCHOL"].dropna()), dist="norm", plot=plt)   # 対数変換で直線化
plt.show()

実習データ3では、心拍数の QQプロットはほぼ直線に乗り、ヒストグラムも対称である。一方、は両裾で直線から大きく外れ、ヒストグラムは右に歪んで上側に外れ値が並ぶ——すると両者とも正規に近づく。

中心極限定理

同一の分布に従う独立な確率を多数足し合わせた(あるいは平均した)量は、元の分布が何であれに近づく。寄与するが多いほど近づきが良い。

💡 これがが至るところに現れる理由である。身長や血圧が正規に近いのは、多数の遺伝的・環境的要因が加算的に効いているためと理解できる。そして統計的推測にとってさらに重要なのは、「標本平均の分布が正規に近づく」という保証を与える点で、これが 標本抽出と推定 のと 仮説検定の論理 のすべての土台になる。

⚠️ 中心極限定理は万能ではない。極端に歪んだ分布や、外れ値が支配的な分布では、収束に必要な nn が非常に大きくなる。「n≥30n \ge 30 なら正規と見なしてよい」というが広く流布しているが、これは分布の歪みの程度に依存する目安にすぎず、保証ではない。

まとめ

  • 事象は観測可能でなければならない。基本事象は Ω\Omega を隙間なく覆う
  • 確率は相対度数 kA/Nk_A/N の N→∞N \to \infty での安定先(頻度論的定義)。1回限りの事象を扱うにはベイズ的定義が要る
  • 排反なら足せる(P(A∪B)=P(A)+P(B)P(A \cup B) = P(A)+P(B))、独立なら掛けられる(P(A∩B)=P(A)P(B)P(A \cap B) = P(A)P(B))。この2つは別物で、排反な事象は独立ではない
  • 条件付き確率 P(A∣B)=P(A∩B)/P(B)P(A \mid B) = P(A \cap B)/P(B) は「BB の中だけで数え直す」こと。・RR・OR はここから導かれる
  • 密度は確率ではない。面積が確率である
  • 二項分布は「nn・2値・pp 一定・独立」の4条件。臨床で破れやすいのは独立性。下側は ≤\le、上側は >> で等号の扱いが違う
  • は μ\mu(重心・ピーク)と σ\sigma(までの距離)で決まる。標準化 z=(x−μ)/σz = (x-\mu)/\sigma で単位が消える
  • 68/95/99.7 は真のでのみ厳密。裾への外挿は危険。95%の正確な倍率は 2 ではなく 1.96
  • 右に歪んだ生体データは対数正規のことが多い。逆変換で得られるのは幾何平均
  • ヒストグラムだけで正規性を判断しない。QQプロットを併用する。正規性検定は n に依存してが変わる
  • そもそも必要なのはデータの正規性ではなく推定量の標本分布の正規性。n が大きければ中心極限定理が効く

出典

  1. 1.Normality Tests for Statistical Analysis: A Guide for Non-Statisticians(International Journal of Endocrinology and Metabolism(著者 Asghar Ghasemi, Saleh Zahediasl)・2012)正規性の判定は視覚的手法(ヒストグラム・QQプロット)と検定を併用すべきで、正規性検定の結果は標本サイズに強く依存すること閲覧 2026-08-17
  2. 2.The Importance of the Normality Assumption in Large Public Health Data Sets(Annual Review of Public Health(著者 Thomas Lumley, Paula Diehr, Scott Emerson, Lu Chen)・2002)t検定・線形回帰が要求するのはデータ自体の正規性ではなく推定量の標本分布の正規性であり、標本サイズが十分大きければ元の分布が非正規でも妥当であること閲覧 2026-08-17
  3. 3.The Framingham Heart Study and the epidemiology of cardiovascular disease: a historical perspective(The Lancet(著者 Syed S. Mahmood, Daniel Levy, Ramachandran S. Vasan, Thomas J. Wang)・2014)実習で正規性の確認に用いる心拍数・総コレステロールのデータの出所である Framingham Heart Study閲覧 2026-08-17