この記事で身につくこと

最尤推定量そのものの分散は、フィッシャー情報量から出ます。しかし実務で知りたいのは、そのパラメータを使って計算した量——平均損害額や、2つの商品の比——のばらつきです。この記事を読み終えると、パラメータの関数の分散をデルタ法で出し、対数変換を経由して信頼区間を作れるようになります。

前提として、経験推定とパラメトリック推定の記事で扱った最尤法とフィッシャー情報量を使います。

記号と用語を日本語に直す

記号・用語 日本語
$\hat{\theta}$ 最尤推定量。データから計算するので、それ自体が確率変数
漸近分布 サンプル数 $n$ が十分大きいときの推定量の分布
漸近分散 その分布の分散
$I(\theta)$ フィッシャー情報量。ここでは $n$ 件のデータ全体についての量とし、$V(\hat\theta) \approx 1/I(\theta)$
デルタ法 パラメータの関数の分散を、微分を使って近似する方法
$\partial g$ 1次導関数を並べた列ベクトル(多変数の場合)

核になる式:接線で近似して、傾きの2乗を掛ける

デルタ法の本質は、難しい関数を1次関数で近似することです。高校で習った接線近似 $f(a+h) \approx f(a) + f'(a)h$ の発想そのものです。

推定量 $\hat{\theta}$ が真の値 $\theta_0$ のまわりで小さく揺らぐとき、$g(\hat{\theta})$ を $\theta_0$ のまわりで1次まで展開します。

$$g(\hat{\theta}) \approx g(\theta_0) + g'(\theta_0)(\hat{\theta} - \theta_0)$$

両辺の分散を取ります。定数 $g(\theta_0)$ の分散は0、$(\hat\theta - \theta_0)$ の分散は $\hat\theta$ の分散そのものです。$V(cX) = c^2 V(X)$ を使うと

$$V\left(g(\hat{\theta})\right) \approx \left\{g'(\theta_0)\right\}^2 V(\hat{\theta})$$

微分の2乗を掛けるだけ。これが1変数版のデルタ法です。

パラメータが複数あるときは、$g'$ を1次導関数のベクトル $\partial g$ に、$V(\hat\theta)$ を分散共分散行列 $\boldsymbol{\Sigma}/n$ に置き換えます。「2乗」は「ベクトルで行列を挟む」形になります。

$$V\left(g(\hat{\boldsymbol{\theta}})\right) \approx (\partial g)' \frac{\boldsymbol{\Sigma}}{n} (\partial g)$$

数値例1:指数分布で検算する

損害額 $X$ がパラメータ $\lambda$ の指数分布に従い、$n$ 件のデータから $\hat{\lambda}$ を推定するとします。最尤推定量の漸近分散は $V(\hat{\lambda}) \approx \lambda^2/n$ です。

まず平均損害額 $1/\hat{\lambda}$ の分散を求めます。$g(\lambda) = 1/\lambda$ なので $g'(\lambda) = -1/\lambda^2$。

$$V\left(\frac{1}{\hat{\lambda}}\right) \approx \left(\frac{1}{\lambda^2}\right)^2 \cdot \frac{\lambda^2}{n} = \frac{1}{n\lambda^2}$$

ここで検算ができます。平均を $\theta = 1/\lambda$ と置くと、この値は $\theta^2/n$ です。指数分布の分散は $\theta^2$ なので、これは標本平均の分散 $V(X)/n$ そのもの。実際 $1/\hat{\lambda} = \bar{x}$ なので、近似ではなく厳密に正しい値です。

近似手法が、答えの分かっているケースできちんと正解を再現する。こういう検算をひとつ持っておくと、安心して使えます。

数値例2:対数を取ると未知数が消える

次に $\log\hat{\lambda}$ の分散です。$g(\lambda) = \log\lambda$ なので $g'(\lambda) = 1/\lambda$。

$$V\left(\log\hat{\lambda}\right) \approx \left(\frac{1}{\lambda}\right)^2 \cdot \frac{\lambda^2}{n} = \frac{1}{n}$$

$\lambda$ が消えて、件数だけで決まる形になりました。これがこの変換の狙いです。

$V(\hat{\lambda}) = \lambda^2/n$ のままだと、分散を評価するのに未知の $\lambda$ が要ります。推定値を代入すればよいのですが、それ自体が誤差を含みます。対数を取れば分散が $1/n$ になり、その問題が消える。だから信頼区間は対数の世界で作り、最後に指数関数で戻すのが定石です。

数値例3:33%の差が誤差に埋もれる

商品1と商品2の1件あたり損害額が、独立にパラメータ $\lambda_1$、$\lambda_2$ の指数分布に従うとします。実績は商品1が50件・合計1,500、商品2が75件・合計3,000でした。$\lambda_1/\lambda_2$ の95%信頼区間を求めます。

最尤推定量は $\hat{\lambda} = n/\sum x_i$ なので

$$\hat{\lambda}_1 = \frac{50}{1{,}500} = \frac{1}{30}, \qquad \hat{\lambda}_2 = \frac{75}{3{,}000} = \frac{1}{40}$$

点推定値の比は $\hat{\lambda}_1/\hat{\lambda}_2 = 4/3$。$\lambda$ は平均の逆数なので、平均損害額は商品1が30、商品2が40。商品1のほうが1件あたりの損害額が25%小さい、と読めます($\lambda$ の比で言えば33%大きい)。

ここで対数の世界に移ります。$\log\hat{\lambda}_1 \sim N(\log\lambda_1, 1/n_1)$、$\log\hat{\lambda}_2 \sim N(\log\lambda_2, 1/n_2)$ と近似でき、2つは独立なので差の分散は和になります。

$$\log\frac{\hat{\lambda}_1}{\hat{\lambda}_2} \sim N\left(\log\frac{\lambda_1}{\lambda_2},\ \frac{1}{n_1} + \frac{1}{n_2}\right)$$

中心は

$$\log\frac{4}{3} = 2\log 2 - \log 3 = 1.386 - 1.099 = 0.287$$

標準偏差は

$$\sqrt{\frac{1}{50} + \frac{1}{75}} = \sqrt{\frac{3 + 2}{150}} = \sqrt{\frac{1}{30}} \approx 0.1826$$

95%信頼区間は $0.287 \pm 1.960 \times 0.1826 = 0.287 \pm 0.358$、すなわち $(-0.071,\ 0.645)$。ここで使っているのは漸近正規性に基づく近似区間で、被覆確率が厳密に95%になるわけではありません。両端を指数関数で戻すと

$$\left(e^{-0.071},\ e^{0.645}\right) \approx (0.93,\ 1.91)$$

この区間は1を含んでいます。つまり $\lambda_1/\lambda_2 = 1$、2商品の損害額分布が同じである可能性を否定できません。

点推定値だけを見れば「商品1のほうが損害額が2割以上小さい」ように見えますが、50件と75件というデータ量では、その差が偶然の範囲を超えているとは言えないのです。

この計算をせずに料率へ差をつけたら危ない——それが漸近分散を計算する意味です。推定値そのものと、推定値の信頼性を必ずセットで見る。この節のいちばんのメッセージがここにあります。

データ量とばらつきの感覚

$V(\hat{\lambda}) = \lambda^2/n$ から、標準偏差は $\lambda/\sqrt{n}$ です。$n$ の平方根に反比例して縮んでいきます。

50件で推定値の14%程度のばらつき($1/\sqrt{50} \approx 0.141$)だとすると、これを半分にするにはデータを4倍集める必要があります。200件で約7%、800件で約3.5%。

料率算定にどれだけのデータ量が必要かを考えるときの基本感覚です。信頼性理論の記事で触れた「実績をどこまで信用するか」という発想も、根はここにあります。

試験ではこう出る

  • パラメータの関数(平均・分散・特定の確率など)の漸近分散を求めさせる形
  • 対数変換して信頼区間を作らせる形
  • 2つの推定値の比について、差が有意かどうかを判断させる形

計算そのものは微分と代入だけです。詰まるとすれば、何を $g$ と置くかの判断でしょう。問題文が求めている量を $g(\theta)$ の形に書き直すところが第一手になります。

つまずきポイント:微分するのは何についてか

デルタ法で間違えやすいのは、微分の対象です。$g$ をパラメータで微分するのであって、データで微分するのではありません。

$g(\lambda) = 1/\lambda$ の微分は $-1/\lambda^2$。これを $\lambda$ で評価します。実際の計算では真の値が分からないので、推定値 $\hat{\lambda}$ を代入して近似値を使います。

もうひとつ、対数の世界で信頼区間を作ったあと、指数関数で戻すのを忘れないこと。$(-0.071, 0.645)$ のまま答えると、比の区間ではなく比の対数の区間を答えたことになります。戻した区間は中心について対称にならない($0.93$ と $1.91$ の中心は $4/3 \approx 1.33$ ではない)ので、そこも確認の目印になります。

まとめ

  • デルタ法は接線近似。$V(g(\hat\theta)) \approx \{g'(\theta)\}^2 V(\hat\theta)$、微分の2乗を掛けるだけ。
  • 多変数なら $(\partial g)' (\boldsymbol{\Sigma}/n) (\partial g)$。ベクトルで行列を挟む形になる。
  • 指数分布の平均 $1/\hat\lambda$ に使うと $1/(n\lambda^2)$。これは標本平均の分散そのもので、検算になる。
  • $\log\hat\lambda$ の分散は $1/n$。未知パラメータが消えるので、信頼区間は対数の世界で作って指数関数で戻す。
  • 点推定値の比が $4/3$ でも、50件・75件なら95%信頼区間(漸近近似)は1を含む。差が有意かどうかは、必ず区間で確かめる。