推測統計の基礎3

最尤推定法の基礎1:同時確率 最尤法を用いたデータの分析
講師:木村 朗

1. 最尤推定法とは

概念説明

最尤推定法(さいゆうすいていほう、Maximum Likelihood Estimation: MLE)は、観測されたデータが得られる確率(尤度)を最大にするようなパラメータの値を推定する統計手法です。

この方法は、「観測されたデータがもっとも起こりやすくなるようなパラメータはどのような値か」という考え方に基づいています。

最尤推定法は、回帰分析、因子分析、潜在クラス分析など、多くの統計的手法の基礎となっています。

最尤推定法の基本的な考え方

  1. 確率モデルを設定する:データがどのような確率分布に従うと考えられるかを仮定します。
  2. 尤度関数を定義する:観測データが得られる確率を、パラメータの関数として表します。
  3. 尤度を最大化する:尤度関数を最大にするパラメータの値を求めます。

具体例:コイン投げの確率

あるコインを10回投げたところ、7回表が出たとします。このコインの表が出る確率pを最尤推定法で推定してみましょう。

ここでのデータは「10回中7回表」です。コイン投げは2項分布に従うと考えられます。

尤度関数は:

L(p|データ) = C(10,7) × p^7 × (1-p)^3

ここで、C(10,7)は10個から7個を選ぶ組み合わせの数(= 120)、p^7は「表が7回出る確率」、(1-p)^3は「裏が3回出る確率」を表します。

尤度を最大化するpの値を求めるために、尤度関数をpで微分して0とおきます(または対数尤度関数を使用します)。最終的に、p = 7/10 = 0.7 が最尤推定値となります。

これは直感的にも理解できる結果で、「表が出る回数の割合」が最尤推定値となっています。

2. 確率モデルと同時確率

確率モデルとは

確率モデルとは、データがどのような確率分布に従うかを数学的に表現したものです。例えば:

  • コイン投げ:二項分布
  • 待ち時間:指数分布
  • 身長や体重:正規分布
  • 事故の発生回数:ポアソン分布

確率モデルを設定することで、データが生成されるメカニズムを表現し、パラメータの推定が可能になります。

同時確率とは

同時確率(joint probability)とは、複数の事象が同時に起こる確率のことです。最尤推定法では、観測された複数のデータポイントが同時に得られる確率(同時確率)を考えます。

独立したデータ点の場合、同時確率は各データ点の確率の積になります:

P(X₁, X₂, ..., Xₙ) = P(X₁) × P(X₂) × ... × P(Xₙ)

これが尤度関数の基礎となります。

例:患者の回復確率

ある治療法の成功確率をθとします。5人の患者に治療を行い、3人が回復したとします。各患者の回復は独立であると仮定すると、同時確率は:

P(データ|θ) = θ³ × (1-θ)²

この同時確率を最大化するθの値が、最尤推定値となります。この場合、θ = 3/5 = 0.6 が最尤推定値です。

3. 尤度関数と対数尤度

尤度関数の定義

尤度関数(likelihood function)は、観測されたデータが得られる確率をパラメータの関数として表したものです。

L(θ|データ) = P(データ|θ)

ここで、θはパラメータ、P(データ|θ)はパラメータがθのときにそのデータが得られる確率です。

最尤推定法では、この尤度関数を最大化するパラメータの値を求めます。

対数尤度関数

実際の計算では、尤度関数の対数をとった「対数尤度関数」(log-likelihood function)を使うことが一般的です。理由は以下の通りです:

  • 積の計算が和の計算に変換されるため、計算が簡単になる
  • 非常に小さな値の掛け算による数値的な問題を避けられる
  • 対数は単調増加関数なので、尤度の最大値と対数尤度の最大値は同じパラメータで得られる
log L(θ|データ) = log P(データ|θ)

独立したデータ点の場合:

log L(θ|X₁, X₂, ..., Xₙ) = log P(X₁|θ) + log P(X₂|θ) + ... + log P(Xₙ|θ)

例:正規分布のパラメータ推定

平均μ、分散σ²の正規分布からn個のデータ X₁, X₂, ..., Xₙ が得られたとします。対数尤度関数は:

log L(μ, σ²|X₁, X₂, ..., Xₙ) = -n/2 · log(2πσ²) - 1/(2σ²) · Σ(Xᵢ - μ)²

この対数尤度関数をμとσ²についてそれぞれ偏微分して0とおくことで、最尤推定値が求められます:

μ̂ = (1/n) · ΣXᵢ (標本平均)
σ̂² = (1/n) · Σ(Xᵢ - μ̂)² (標本分散)

この結果は、標本平均と標本分散が正規分布の最尤推定量であることを示しています。

4. 最尤推定法の応用例

医療分野での応用

最尤推定法は医療分野で広く応用されています:

  • 治療効果の推定:新薬の効果率の推定
  • 生存分析:患者の生存時間に関するパラメータの推定
  • 疫学研究:疾患の発生率や危険因子の影響の推定
  • 診断テストの性能評価:感度・特異度の推定

例:投薬の効果確率の推定

ある薬の効果の確率をpとします。この薬を20人の患者に投与したところ、15人に効果が見られました。各患者への効果は独立であると仮定します。

尤度関数は:

L(p|データ) = C(20,15) × p^15 × (1-p)^5

対数尤度関数は:

log L(p|データ) = log C(20,15) + 15 × log p + 5 × log(1-p)

これをpで微分して0とおくと:

15/p - 5/(1-p) = 0

この式を解くと、p = 15/20 = 0.75 が最尤推定値となります。

つまり、観測された結果をもとに推定すると、この薬の効果確率は75%と考えられます。

5. JASPを使った最尤推定法の実践

JASPの基本操作

1 JASPを起動する

デスクトップのJASPアイコンをダブルクリックするか、スタートメニューからJASPを選択します。

2 データを準備する

JASPでは、様々な確率分布に基づく分析が可能です。今回は二項分布を例にします。

二項分布のパラメータ推定

3 分析メニューを選択する

上部メニューから「Frequencies」→「Binomial Test」を選択します。

4 パラメータを設定する

  • Test value:テストする確率値(デフォルトは0.5)
  • Successes:成功数(例:15)
  • Sample Size:試行回数(例:20)
  • Hypothesis:「≠ Test value」を選択(両側検定)

ベイズ因子の計算(オプション)

5 ベイズファクターを計算する

「Advanced Options」タブで「Add Bayes factor」にチェックを入れることで、頻度論的な分析に加えてベイズ因子も計算できます。

結果の解釈

6 結果を確認する

JASPは右側のパネルに結果を表示します:

  • 推定確率:観測された成功数/試行回数(最尤推定値)
  • 95%信頼区間:推定値の精度を示す区間
  • p値:帰無仮説(確率 = テスト値)の検定結果
  • ベイズ因子(オプション):帰無仮説と対立仮説の証拠の相対的強さ

JASPの分析結果の例

以下は、「20回中15回成功」のデータをJASPで分析した場合の結果のイメージです:

Binomial Test Variable Successes Trials Proportion Test value p 95% CI for prop BF₁₀ Binomial 15 20 0.750 0.500 0.041 [0.526, 0.904] 2.423 Note. For all tests, the alternative hypothesis specifies that the proportion is different from the test value. For the Bayesian binomial test, the prior used is a Beta(1, 1) distribution.

上記の結果から、次のことが分かります:

  • 最尤推定値(推定確率)は0.750(15/20)です。
  • 95%信頼区間は[0.526, 0.904]で、真の確率がこの範囲内にある可能性が95%です。
  • p値は0.041で、有意水準5%で帰無仮説(確率 = 0.5)を棄却できます。
  • ベイズ因子BF₁₀ = 2.423は、帰無仮説よりも対立仮説(確率 ≠ 0.5)を支持するデータの証拠が約2.4倍あることを示しています。

この結果から、この薬の効果確率は50%より有意に高く、約75%と推定されることがわかりました。

6. JASPを使った最尤推定法の演習

演習の目的

この演習では、JASPを使って実際に最尤推定法を適用し、様々な確率モデルにおけるパラメータの推定と解釈を学びます。特に、医療データの分析に焦点を当てます。

演習データ:糖尿病治療法の効果

ある新しい糖尿病治療法の効果を調査するため、50人の2型糖尿病患者にこの治療を施しました。治療後6ヶ月時点で、35人の患者でHbA1c値が7.0%未満に改善していました。この治療法の効果確率を最尤推定法で推定しましょう。

JASPでの最尤推定の詳細手順

1 JASPの起動とデータの準備

デスクトップからJASPを起動します。今回は集計データを直接入力するので、新しいデータシートは必要ありません。

JASPの起動画面

2 二項検定の実行

  1. 上部メニューから「Frequencies」→「Binomial Test」をクリックします。
Binomial Testメニューの選択
  1. 以下のパラメータを設定します:
  • Variable: 変数がない場合は「Descriptives only」を選択
  • Successes: 35(治療が効果的だった患者数)
  • Trials: 50(全患者数)
  • Test value: 0.5(帰無仮説の比率)
  • Hypothesis: 「≠ Test value」(両側検定)
二項検定のパラメータ設定

3 詳細オプションの設定

  1. 「Additional Statistics」タブをクリックし、以下のオプションを選択します:
  • Confidence interval: 95%信頼区間を表示
  • Display odds ratio: オッズ比を表示
追加統計オプションの設定
  1. 「Plots」タブをクリックし、以下のプロットを選択します:
  • Descriptive plots: 記述統計プロットを表示
プロットオプションの設定
  1. 「Advanced Options」タブをクリックし、以下のオプションを選択します:
  • Add Bayes factor: ベイズ因子を計算(デフォルトのBeta(1,1)事前分布を使用)
  • Prior model probability: 事前モデル確率を0.5に設定
ベイズ因子オプションの設定

4 結果の確認と解釈

二項検定の結果

JASPは以下の結果を表示します:

  • Sample Proportion(標本比率): 0.7(= 35/50)- これが最尤推定値です
  • 95% Confidence Interval: 信頼区間(例:[0.557, 0.819])
  • p値: 帰無仮説(確率 = 0.5)の検定結果
  • BF₁₀: ベイズ因子(対立仮説を支持する証拠の強さ)

結果の解釈

この結果から以下のように解釈できます:

  • 最尤推定値0.7は、この治療法が約70%の患者に効果的であることを示しています。
  • 95%信頼区間[0.557, 0.819]は、真の効果確率がこの区間に含まれる可能性が95%であることを示しています。
  • p値が0.05未満であれば、この治療法の効果確率は50%とは有意に異なると判断できます。
  • ベイズ因子が大きい場合(例:BF₁₀ > 3)、データは帰無仮説よりも対立仮説を強く支持していると解釈できます。