コンテンツにスキップ

統計誤差の解析:自己相関・バッチ平均・ジャックナイフとブートストラップ

対象読者: 本テーマ第 3〜4 章の内容と、大数の法則・中心極限定理を学んだ人。自己相関を含む標本の誤差評価やブートストラップは仮定しません。

前提となる記事:Monte Carlo 積分と分散低減:重点サンプリング・制御変量・層別、Markov 連鎖 Monte Carlo:提案の設計・Peskun の順序・混合時間、大数の法則と中心極限定理:標本平均はどこへ、どれだけ速く近づくか

生 Markdown

乱数を使った計算で平均を求めるとき、結果には「どれくらい信用できるか」を表す誤差棒を付けます。ところが、前の結果から次の結果を作る方法(Markov 連鎖)では、隣り合う標本が似ているので、独立な標本の公式をそのまま使うと誤差棒が小さすぎます。この記事では、似ている標本があっても誤差棒を正しく付ける方法と、平均以外の量(比や分散など)の誤差をデータの作り直しで見積もる方法(ジャックナイフとブートストラップ)を、どこまで信用できてどこで壊れるかまで含めて調べます。読み終えると、誤差棒の付け方を選び、その偏りと限界を説明できるようになります。

  • 相関のある標本 NN 個の平均の分散は、独立な標本 N/(2τint)N/(2\tau_{\mathrm{int}}) 個ぶんです。相関を無視した標準誤差は 2τint\sqrt{2\tau_{\mathrm{int}}} 倍だけ小さく出ます。この章の仕事は、τint\tau_{\mathrm{int}}(または長期分散 σ∞2\sigma_\infty^2)をデータから推定する方法の偏りと分散を評価することです。
  • 有限・可逆な連鎖では、自己共分散は Γ(t)=∑jcjλjt\Gamma(t) = \sum_j c_j\lambda_j^{t}(cj≥0c_j \ge 0)と書け、隣り合う 2 項の和 Γ(2k)+Γ(2k+1)\Gamma(2k) + \Gamma(2k+1) は非負・単調非増加・凸です(定理 3.1)。推定した対の和が負になったら雑音しか残っていないと判断して和を打ち切れます。
  • 窓 WW で打ち切ると、長期分散の推定量の期待値を 2Γ(0)2\Gamma(0) で割った量の偏りは −∑t>Wρ(t)+O(W/N)-\sum_{t > W}\rho(t) + O(W/N) です(命題 4.1)。分散は W/NW/N に比例して増えます(Madras–Sokal の近似公式)。バッチ平均の偏りはバッチ長 bb について O(1/b)O(1/b) です。バッチ数を固定したままでは、バッチ長をいくら大きくしても推定量は一致するとは限りません(独立な正規標本をバッチ 2 個に分けた場合に、一致しないことを示します。定理 5.2)。
  • ジャックナイフ(データを 1 個ずつ除いて同じ計算を繰り返し、ばらつきから分散を見積もる方法)の分散推定量は、標本平均の滑らかな関数については delta 法の分散に概収束します(定理 6.3)。中央値のような滑らかでない統計量では一致しません。
  • ブートストラップ(手元のデータから重複を許して取り直し、分布を再現する方法)は標本平均の分布を O(N−1/2)O(N^{-1/2}) の精度で再現しますが(定理 7.3)、一様分布の最大値では Kolmogorov 距離が 1−1/e1 - 1/e より小さくなりません(命題 7.5)。
  • 初期分布による偏りは O(1/(γ∗N))O(1/(\gamma_* N)) で統計誤差 O(N−1/2)O(N^{-1/2}) より高次です(命題 8.2)。複数の連鎖から作る R^\hat R は、連鎖がエルゴード的なら 11 に収束しますが、R^≈1\hat R \approx 1 は収束の十分条件ではありません(命題 8.4)。

Monte Carlo 積分の章では、独立な標本 NN 個の平均の標準誤差が σ/N\sigma/\sqrt N で、標本分散から推定できることを示しました。Markov 連鎖 Monte Carlo の標本は独立ではありません。隣り合う標本が似ているので、NN 個の標本がもつ情報は独立な NN 個より少なく、独立と見なして計算した標準誤差は小さすぎます。誤差棒が小さすぎる結果は、誤差棒のない結果より害があります。読者が「理論値と 5σ5\sigma ずれている」と誤って結論するからです。

もう 1 つの問題は、報告したい量が標本平均そのものでないことです。比熱は分散、質量は相関関数の対数の差、再重みづけした期待値は 2 つの平均の比です。平均の非線形な関数には O(1/N)O(1/N) の偏りがあり、誤差の伝播の式を量ごとに手で導くのは間違いのもとです。ジャックナイフとブートストラップは、データを作り直して同じ計算を繰り返すだけで誤差を出す方法です。便利な反面、どの統計量で正しく、どこで壊れるかを知らずに使うと危険です。

この章では、相関の扱い(§3〜§5)、非線形な量の誤差(§6・§7)、連鎖の初期の扱いと収束の診断(§8)の順に、各推定量の偏りと分散を定理として評価します。自己相関時間の定義、相関のある標本平均の分散、ビニング、ジャックナイフによる偏りの除去は格子上の Monte Carlo 法の章が正本です。この章では必要な定義と主張を述べ直したうえで、そこに無い結果を証明します。

2.1. 定常な列と積分自己相関時間

Section titled “2.1. 定常な列と積分自己相関時間”

定義 2.1(弱定常列・自己共分散・長期分散)↗

2 乗可積分な実確率変数の列 A1,A2,…A_1, A_2, \ldots が弱定常であるとは、E[As]=μ\mathbb{E}[A_s] = \mu が ss によらず、Cov(As,As+t)\mathrm{Cov}(A_s, A_{s+t}) が ss によらないことをいう。このとき

Γ(t)=Cov(As,As+∣t∣)(t∈Z),ρ(t)=Γ(t)Γ(0)(Γ(0)>0)\Gamma(t) = \mathrm{Cov}(A_s, A_{s+|t|}) \quad (t \in \mathbb{Z}), \qquad \rho(t) = \frac{\Gamma(t)}{\Gamma(0)} \quad (\Gamma(0) > 0)

を自己共分散、自己相関関数という。∑t∈Z∣Γ(t)∣<∞\sum_{t \in \mathbb{Z}}|\Gamma(t)| < \infty のとき

σ∞2=∑t∈ZΓ(t),τint=12+∑t=1∞ρ(t)=σ∞22Γ(0)\sigma_\infty^2 = \sum_{t \in \mathbb{Z}}\Gamma(t), \qquad \tau_{\mathrm{int}} = \frac12 + \sum_{t=1}^{\infty}\rho(t) = \frac{\sigma_\infty^2}{2\Gamma(0)}

を長期分散、積分自己相関時間という。

τint\tau_{\mathrm{int}} の定義は 定義 6.1[格子場のモンテカルロ法] と同じです。独立な列では ρ(t)=0\rho(t) = 0(t≠0t \ne 0)なので τint=1/2\tau_{\mathrm{int}} = 1/2 です。標本平均 AˉN=N−1∑s=1NAs\bar A_N = N^{-1}\sum_{s=1}^N A_s の分散は、∑t∣Γ(t)∣<∞\sum_t|\Gamma(t)| < \infty のもとで

Var(AˉN)=1N∑∣t∣<N(1−∣t∣N)Γ(t),lim⁡N→∞N Var(AˉN)=σ∞2=2τintΓ(0)\mathrm{Var}(\bar A_N) = \frac1N\sum_{|t| < N}\Bigl(1 - \frac{|t|}{N}\Bigr)\Gamma(t), \qquad \lim_{N\to\infty}N\,\mathrm{Var}(\bar A_N) = \sigma_\infty^2 = 2\tau_{\mathrm{int}}\Gamma(0)

です(定理 6.2[格子場のモンテカルロ法])。前半は Var(∑sAs)=∑s,uΓ(s−u)\mathrm{Var}(\sum_s A_s) = \sum_{s,u}\Gamma(s-u) で差 t=s−ut = s - u をもつ組が N−∣t∣N - |t| 個あることから出ます。後半は (1−∣t∣/N)Γ(t)→Γ(t)(1 - |t|/N)\Gamma(t) \to \Gamma(t) と絶対総和可能性による項別の極限です。

定義 2.2(有効標本数)↗

∑t∣Γ(t)∣<∞\sum_t|\Gamma(t)| < \infty、σ∞2>0\sigma_\infty^2 > 0 を満たす弱定常列の NN 個の標本について

Neff=N2τint=N Γ(0)σ∞2N_{\mathrm{eff}} = \frac{N}{2\tau_{\mathrm{int}}} = \frac{N\,\Gamma(0)}{\sigma_\infty^2}

を有効標本数という。

上の式から Var(AˉN)≈Γ(0)/Neff\mathrm{Var}(\bar A_N) \approx \Gamma(0)/N_{\mathrm{eff}} で、NeffN_{\mathrm{eff}} は「同じ分散を与える独立標本の個数」です。標準誤差は σ∞2/N\sqrt{\sigma_\infty^2/N} で、相関を無視した Γ(0)/N\sqrt{\Gamma(0)/N} の 2τint\sqrt{2\tau_{\mathrm{int}}} 倍です。したがって誤差を付ける問題は、σ∞2\sigma_\infty^2 を推定する問題です。

§3・§4・§8 では、次の設定の Markov 連鎖(定義 2.1[Markov 連鎖と Poisson 過程])を考えます。

SS 上の実関数に内積 ⟨f,g⟩π=∑xπ(x)f(x)g(x)\langle f, g\rangle_\pi = \sum_x \pi(x)f(x)g(x) とノルム ∥f∥π=⟨f,f⟩π\|f\|_\pi = \sqrt{\langle f, f\rangle_\pi} を入れ、π(f)=∑xπ(x)f(x)\pi(f) = \sum_x\pi(x)f(x)、Varπ(f)=∥f−π(f)∥π2\mathrm{Var}_\pi(f) = \|f - \pi(f)\|_\pi^2 と書きます。(Pf)(x)=∑yP(x,y)f(y)(Pf)(x) = \sum_y P(x,y)f(y) です。

補題 2.3(可逆な遷移行列の固有分解)✓

上の設定で、実数 1=λ1>λ2≥⋯≥λn≥−11 = \lambda_1 > \lambda_2 \ge \cdots \ge \lambda_n \ge -1 と、⟨⋅,⋅⟩π\langle\cdot,\cdot\rangle_\pi について正規直交な実関数 φ1,…,φn\varphi_1, \ldots, \varphi_n があって、Pφj=λjφjP\varphi_j = \lambda_j\varphi_j、φ1≡1\varphi_1 \equiv 1 となる。

証明(補題 2.3)

D=diag(π(x))D = \mathrm{diag}(\pi(x)) とし、K=D1/2PD−1/2K = D^{1/2}PD^{-1/2}、すなわち K(x,y)=π(x)1/2P(x,y)π(y)−1/2K(x,y) = \pi(x)^{1/2}P(x,y)\pi(y)^{-1/2} とおきます。可逆性から

K(x,y)=π(x)P(x,y)π(x)π(y)=π(y)P(y,x)π(x)π(y)=K(y,x)K(x,y) = \frac{\pi(x)P(x,y)}{\sqrt{\pi(x)\pi(y)}} = \frac{\pi(y)P(y,x)}{\sqrt{\pi(x)\pi(y)}} = K(y,x)

で、KK は実対称行列です。スペクトル定理(定理 4.2[スペクトル定理])から、実固有値 λ1≥⋯≥λn\lambda_1 \ge \cdots \ge \lambda_n と正規直交な固有ベクトル u1,…,unu_1, \ldots, u_n があります。KK が実行列で固有値が実数なので、uju_j は実ベクトルに取れます(uju_j の実部と虚部はどちらも同じ固有値の固有ベクトルで、各固有空間の実ベクトルからなる基底に Gram–Schmidt の直交化をすれば実の正規直交基底になります)。φj=D−1/2uj\varphi_j = D^{-1/2}u_j とおくと Pφj=D−1/2Kuj=λjφjP\varphi_j = D^{-1/2}Ku_j = \lambda_j\varphi_j、⟨φi,φj⟩π=∑xui(x)uj(x)=δij\langle\varphi_i, \varphi_j\rangle_\pi = \sum_x u_i(x)u_j(x) = \delta_{ij} です。

固有値の範囲を調べます。Pφ=λφP\varphi = \lambda\varphi、φ≠0\varphi \ne 0 とし、∣φ∣|\varphi| が最大になる点を x0x_0 とします。∣λ∣∣φ(x0)∣=∣∑yP(x0,y)φ(y)∣≤∑yP(x0,y)∣φ(x0)∣=∣φ(x0)∣|\lambda||\varphi(x_0)| = |\sum_y P(x_0,y)\varphi(y)| \le \sum_y P(x_0, y)|\varphi(x_0)| = |\varphi(x_0)| から ∣λ∣≤1|\lambda| \le 1 です。

定数関数 11 は P1=1P1 = 1 を満たし ∥1∥π=1\|1\|_\pi = 1 です。固有値 11 の固有関数が定数に限ることを示します。Pφ=φP\varphi = \varphi とし、φ\varphi が最大値 mm を取る点を x0x_0 とします。m=∑yP(x0,y)φ(y)m = \sum_y P(x_0,y)\varphi(y) は mm 以下の数の重みつき平均なので、P(x0,y)>0P(x_0,y) > 0 であるすべての yy で φ(y)=m\varphi(y) = m です。これを繰り返すと、x0x_0 から正の確率でたどり着けるすべての点で φ=m\varphi = m となり、既約性から φ≡m\varphi \equiv m です。したがって固有値 11 の重複度は 11 で、φ1≡1\varphi_1 \equiv 1、λ2<1\lambda_2 < 1 と取れます。

定義 2.4(絶対スペクトルギャップ)↗

補題 2.3 の固有値について γ∗=1−max⁡(∣λ2∣,∣λn∣)\gamma_* = 1 - \max(|\lambda_2|, |\lambda_n|) を絶対スペクトルギャップという(n≥2n \ge 2)。

通常のスペクトルギャップ γ=1−λ2\gamma = 1 - \lambda_2(命題 6.2[Markov 連鎖と Poisson 過程])との違いは、−1-1 に近い固有値も数えることです。確率 1/21/2 でその場に留まる「怠惰な」連鎖 (I+P)/2(I + P)/2 では固有値がすべて 00 以上になり、γ∗=γ\gamma_* = \gamma です。

3.1. スペクトル表示と対の和の正値性

Section titled “3.1. スペクトル表示と対の和の正値性”

ここでの狙いは、自己共分散 Γ(t)\Gamma(t) を連鎖の固有値で書き表し、推定値のどこまでを信用してよいかの判定規則を得ることです。推定値は大きなラグで雑音だけになるので、足し上げをどこかで止める必要があります。隣り合う 2 項 Γ(2k)+Γ(2k+1)\Gamma(2k) + \Gamma(2k+1) をまとめると、奇数ラグの負の成分が偶数ラグの正の成分と打ち消し合い、必ず非負になります。この性質が「和が負になったら止める」という規則の根拠になります。

連鎖を定常分布から始め(X0∼πX_0 \sim \pi)、関数 f:S→Rf : S \to \mathbb{R} について At=f(Xt)A_t = f(X_t) とおきます。

定理 3.1(可逆な連鎖の自己共分散(Geyer))✓

§2.2 の設定で X0∼πX_0 \sim \pi、At=f(Xt)A_t = f(X_t) とし、f~=f−π(f)\tilde f = f - \pi(f)、cj=⟨f~,φj⟩π2c_j = \langle\tilde f, \varphi_j\rangle_\pi^2(j=2,…,nj = 2, \ldots, n)とおく。

  1. (At)(A_t) は弱定常で、t≥0t \ge 0 について Γ(t)=⟨f~,Ptf~⟩π=∑j=2ncjλjt,cj≥0,∑j=2ncj=Γ(0)=Varπ(f).\Gamma(t) = \langle\tilde f, P^t\tilde f\rangle_\pi = \sum_{j=2}^{n}c_j\lambda_j^{t}, \qquad c_j \ge 0, \qquad \sum_{j=2}^n c_j = \Gamma(0) = \mathrm{Var}_\pi(f).
  2. G(k)=Γ(2k)+Γ(2k+1)G(k) = \Gamma(2k) + \Gamma(2k+1)(k=0,1,2,…k = 0, 1, 2, \ldots)は G(k)≥0,G(k)−G(k+1)≥0,G(k)−2G(k+1)+G(k+2)≥0G(k) \ge 0, \qquad G(k) - G(k+1) \ge 0, \qquad G(k) - 2G(k+1) + G(k+2) \ge 0 を満たす。cj>0c_j > 0 となる jj のうちに λj∉{0,−1}\lambda_j \notin \{0, -1\} のものがあれば、すべての kk で G(k)>0G(k) > 0 である。
証明(定理 3.1)

1. π\pi は定常分布なので、すべての ss で Xs∼πX_s \sim \pi です。したがって E[As]=π(f)\mathbb{E}[A_s] = \pi(f) です。nn ステップの遷移確率が PtP^t で与えられること(命題 2.3[Markov 連鎖と Poisson 過程])から P(Xs=x,Xs+t=y)=π(x)Pt(x,y)\mathbb{P}(X_s = x, X_{s+t} = y) = \pi(x)P^t(x,y) で、

Cov(As,As+t)=∑x,yπ(x)Pt(x,y)f~(x)f~(y)=⟨f~,Ptf~⟩π\mathrm{Cov}(A_s, A_{s+t}) = \sum_{x,y}\pi(x)P^t(x,y)\tilde f(x)\tilde f(y) = \langle\tilde f, P^t\tilde f\rangle_\pi

は ss によりません。補題 2.3 の正規直交基底で f~=∑j=1n⟨f~,φj⟩πφj\tilde f = \sum_{j=1}^n\langle\tilde f, \varphi_j\rangle_\pi\varphi_j と展開します。⟨f~,φ1⟩π=π(f~)=0\langle\tilde f, \varphi_1\rangle_\pi = \pi(\tilde f) = 0 なので j=1j = 1 の項はありません。Ptφj=λjtφjP^t\varphi_j = \lambda_j^t\varphi_j と正規直交性から

⟨f~,Ptf~⟩π=∑j=2n⟨f~,φj⟩π2λjt=∑j=2ncjλjt\langle\tilde f, P^t\tilde f\rangle_\pi = \sum_{j=2}^n\langle\tilde f, \varphi_j\rangle_\pi^2\lambda_j^t = \sum_{j=2}^n c_j\lambda_j^t

です。t=0t = 0 とすれば ∑jcj=∥f~∥π2=Varπ(f)\sum_j c_j = \|\tilde f\|_\pi^2 = \mathrm{Var}_\pi(f) です。

2. 1 から

G(k)=∑j=2ncjλj2k(1+λj)G(k) = \sum_{j=2}^n c_j\lambda_j^{2k}(1 + \lambda_j)

です。cj≥0c_j \ge 0、λj2k≥0\lambda_j^{2k} \ge 0、1+λj≥01 + \lambda_j \ge 0(λj≥−1\lambda_j \ge -1)なので各項は非負です。同様に

G(k)−G(k+1)=∑j=2ncjλj2k(1+λj)(1−λj2),G(k)−2G(k+1)+G(k+2)=∑j=2ncjλj2k(1+λj)(1−λj2)2G(k) - G(k+1) = \sum_{j=2}^n c_j\lambda_j^{2k}(1 + \lambda_j)(1 - \lambda_j^2), \qquad G(k) - 2G(k+1) + G(k+2) = \sum_{j=2}^n c_j\lambda_j^{2k}(1 + \lambda_j)(1 - \lambda_j^2)^2

で、∣λj∣≤1|\lambda_j| \le 1 から 1−λj2≥01 - \lambda_j^2 \ge 0 なので、どちらも非負です。cj>0c_j > 0 かつ λj∉{0,−1}\lambda_j \notin \{0, -1\} の jj があれば、G(k)G(k) の和のその項が cjλj2k(1+λj)>0c_j\lambda_j^{2k}(1 + \lambda_j) > 0 なので G(k)>0G(k) > 0 です。

Γ(t)\Gamma(t) そのものは正とは限りません。負の固有値の成分があると、奇数のラグで負になります。

例 3.2(奇数ラグの負の相関)

S={1,2}S = \{1, 2\}、P=(1−aaa1−a)P = \begin{pmatrix}1-a & a\\ a & 1-a\end{pmatrix}(0<a<10 < a < 1)は π=(1/2,1/2)\pi = (1/2, 1/2) について可逆です。固有値は 11 と λ2=1−2a\lambda_2 = 1 - 2a、φ2=(1,−1)\varphi_2 = (1, -1) です。f=φ2f = \varphi_2 とすると Γ(t)=(1−2a)t\Gamma(t) = (1 - 2a)^t で、a>1/2a > 1/2 なら奇数の tt で負です。一方 G(k)=(1−2a)2k(2−2a)>0G(k) = (1-2a)^{2k}(2 - 2a) > 0 です。このとき

τint=12+∑t≥1(1−2a)t=12+1−2a2a=1−a2a\tau_{\mathrm{int}} = \frac12 + \sum_{t\ge1}(1-2a)^t = \frac12 + \frac{1 - 2a}{2a} = \frac{1 - a}{2a}

で、a>1/2a > 1/2 では τint<1/2\tau_{\mathrm{int}} < 1/2、つまり独立な標本より分散が小さくなります。a=1a = 1 は交互に入れ替わる連鎖(λ2=−1\lambda_2 = -1)で、τint\tau_{\mathrm{int}} を定義する級数は収束しませんが、G(k)=0G(k) = 0 です。

τint\tau_{\mathrm{int}} をデータから求めるには、自己共分散の推定値を足し上げます。ところが Γ(t)\Gamma(t) の推定値の雑音はラグ tt が大きくなっても小さくならないので(真の Γ(t)\Gamma(t) は指数的に減衰します)、全部足すと雑音の和になります。どこかで打ち切る必要があり、定理 3.1 がその規則を与えます。

定義 3.3(自己共分散の推定量・窓つき推定量)↗

データ A1,…,ANA_1, \ldots, A_N と 0≤t<N0 \le t < N について

Γ^(t)=1N−t∑s=1N−t(As−AˉN)(As+t−AˉN)\hat\Gamma(t) = \frac{1}{N - t}\sum_{s=1}^{N-t}(A_s - \bar A_N)(A_{s+t} - \bar A_N)

とおく。0≤W<N0 \le W < N について

σ^W2=Γ^(0)+2∑t=1WΓ^(t),τ^W=σ^W22Γ^(0)=12+∑t=1WΓ^(t)Γ^(0)\hat\sigma_W^2 = \hat\Gamma(0) + 2\sum_{t=1}^{W}\hat\Gamma(t), \qquad \hat\tau_W = \frac{\hat\sigma_W^2}{2\hat\Gamma(0)} = \frac12 + \sum_{t=1}^W\frac{\hat\Gamma(t)}{\hat\Gamma(0)}

を、窓 WW の長期分散・積分自己相関時間の推定量という。

定義 3.4(初期正値列)↗

G^(k)=Γ^(2k)+Γ^(2k+1)\hat G(k) = \hat\Gamma(2k) + \hat\Gamma(2k+1) とし、G^(k)≤0\hat G(k) \le 0 となる最小の kk を KK とする。

τ^IPS=−12+1Γ^(0)∑k=0K−1G^(k)\hat\tau_{\mathrm{IPS}} = -\frac12 + \frac{1}{\hat\Gamma(0)}\sum_{k=0}^{K-1}\hat G(k)

を初期正値列(initial positive sequence)による推定量という。窓 W=2K−1W = 2K - 1 の τ^W\hat\tau_W に等しい。

真の値では ∑k≥0G(k)=∑t≥0Γ(t)=Γ(0)(τint+1/2)\sum_{k\ge0}G(k) = \sum_{t\ge0}\Gamma(t) = \Gamma(0)(\tau_{\mathrm{int}} + 1/2) なので、−1/2-1/2 を足せば τint\tau_{\mathrm{int}} です。定理 3.1 から真の G(k)G(k) は負になりません。したがって推定値 G^(k)\hat G(k) が 00 以下になったら、そのラグでは信号が雑音に埋もれています。そこで打ち切るのが初期正値列です。単調性と凸性も使い、G^(k)\hat G(k) を単調非増加・凸になるように直してから足す方法(initial monotone / convex sequence)もあります。どれも、可逆な連鎖であることを使っています。可逆でない連鎖(系統走査の熱浴法など)では G(k)≥0G(k) \ge 0 の保証がないので、次節の一般の窓かバッチ平均を使います。

命題 4.1(窓つき推定量の偏り)✓

弱定常列 (At)(A_t) が S1=∑t∈Z∣Γ(t)∣<∞S_1 = \sum_{t\in\mathbb{Z}}|\Gamma(t)| < \infty を満たすとし、0≤W<N0 \le W < N とする。

  1. 0≤t<N0 \le t < N について ∣E[Γ^(t)]−Γ(t)∣≤3S1/N|\mathbb{E}[\hat\Gamma(t)] - \Gamma(t)| \le 3S_1/N。
  2. E[σ^W2]−σ∞2=−2∑t>WΓ(t)+R\mathbb{E}[\hat\sigma_W^2] - \sigma_\infty^2 = -2\sum_{t > W}\Gamma(t) + R、∣R∣≤3(2W+1)S1/N|R| \le 3(2W+1)S_1/N。したがって Γ(0)>0\Gamma(0) > 0 のとき E[σ^W2]2Γ(0)−τint=−∑t>Wρ(t)+R′,∣R′∣≤3(2W+1)S12Γ(0)N.\frac{\mathbb{E}[\hat\sigma_W^2]}{2\Gamma(0)} - \tau_{\mathrm{int}} = -\sum_{t > W}\rho(t) + R', \qquad |R'| \le \frac{3(2W+1)S_1}{2\Gamma(0)N}.
  3. (At)(A_t) が 定理 3.1 の列で絶対スペクトルギャップが γ∗>0\gamma_* > 0 のとき、∣ρ(t)∣≤(1−γ∗)t|\rho(t)| \le (1 - \gamma_*)^t で、 ∣∑t>Wρ(t)∣≤(1−γ∗)W+1γ∗≤(1−γ∗)Wγ∗.\Bigl|\sum_{t > W}\rho(t)\Bigr| \le \frac{(1 - \gamma_*)^{W+1}}{\gamma_*} \le \frac{(1-\gamma_*)^W}{\gamma_*}.
証明(命題 4.1)

1. 1≤s≤N−t1 \le s \le N - t とします。共分散の双線形性(命題 5.3[確率変数と期待値])から

E[(As−AˉN)(As+t−AˉN)]=Γ(t)−Cov(As,AˉN)−Cov(As+t,AˉN)+Var(AˉN)\mathbb{E}\bigl[(A_s - \bar A_N)(A_{s+t} - \bar A_N)\bigr] = \Gamma(t) - \mathrm{Cov}(A_s, \bar A_N) - \mathrm{Cov}(A_{s+t}, \bar A_N) + \mathrm{Var}(\bar A_N)

です(各因子の期待値は 00 なので、左辺は共分散です)。Cov(As,AˉN)=N−1∑u=1NΓ(u−s)\mathrm{Cov}(A_s, \bar A_N) = N^{-1}\sum_{u=1}^N\Gamma(u - s) の絶対値は S1/NS_1/N 以下です。As+tA_{s+t} についても同じです。Var(AˉN)=N−2∑u=1N∑v=1NΓ(u−v)\mathrm{Var}(\bar A_N) = N^{-2}\sum_{u=1}^N\sum_{v=1}^N\Gamma(u - v) は、uu を固定した vv についての和が絶対値で S1S_1 以下なので S1/NS_1/N 以下です。したがって各 ss で期待値と Γ(t)\Gamma(t) の差は 3S1/N3S_1/N 以下で、ss についての平均 E[Γ^(t)]\mathbb{E}[\hat\Gamma(t)] でも同じです。

2. σ∞2=Γ(0)+2∑t≥1Γ(t)\sigma_\infty^2 = \Gamma(0) + 2\sum_{t\ge1}\Gamma(t) なので

E[σ^W2]−σ∞2=(EΓ^(0)−Γ(0))+2∑t=1W(EΓ^(t)−Γ(t))−2∑t>WΓ(t)\mathbb{E}[\hat\sigma_W^2] - \sigma_\infty^2 = \bigl(\mathbb{E}\hat\Gamma(0) - \Gamma(0)\bigr) + 2\sum_{t=1}^W\bigl(\mathbb{E}\hat\Gamma(t) - \Gamma(t)\bigr) - 2\sum_{t > W}\Gamma(t)

です。はじめの 2 つの和を RR とおくと、1 から ∣R∣≤(1+2W)⋅3S1/N|R| \le (1 + 2W)\cdot3S_1/N です。両辺を 2Γ(0)2\Gamma(0) で割れば後半です。

3. 定理 3.1 から ρ(t)=∑j≥2cjλjt/∑j≥2cj\rho(t) = \sum_{j\ge2}c_j\lambda_j^t/\sum_{j\ge2}c_j で、∣λj∣≤1−γ∗|\lambda_j| \le 1 - \gamma_* なので ∣ρ(t)∣≤(1−γ∗)t|\rho(t)| \le (1-\gamma_*)^t です。等比級数の和から ∑t>W(1−γ∗)t=(1−γ∗)W+1/γ∗\sum_{t>W}(1-\gamma_*)^t = (1-\gamma_*)^{W+1}/\gamma_* です。

偏りの主要部は捨てた裾 −∑t>Wρ(t)-\sum_{t>W}\rho(t) です。正の相関だけなら、窓つき推定量は τint\tau_{\mathrm{int}} を小さく見積もり、誤差棒は小さすぎる側にずれます。3 から、裾を ε\varepsilon 以下にするには W≥ln⁡(1/(εγ∗))/γ∗W \ge \ln(1/(\varepsilon\gamma_*))/\gamma_* 程度、つまり緩和時間 1/γ∗1/\gamma_* の数倍の窓が要ります。

注意 4.2(窓つき推定量の分散と、偏りとの兼ね合い)

命題 4.1 が評価しているのは分子 σ^W2\hat\sigma_W^2 の期待値です。τ^W\hat\tau_W は Γ^(0)\hat\Gamma(0) との比なので、比を取ることによる O(1/N)O(1/N) の偏り(命題 6.6 と同じ仕組み)が加わります。

分散については、τint≪W≪N\tau_{\mathrm{int}} \ll W \ll N の範囲で

Var(τ^W)≈2(2W+1)N τint2\mathrm{Var}(\hat\tau_W) \approx \frac{2(2W+1)}{N}\,\tau_{\mathrm{int}}^2

という Madras–Sokal の公式が使われます(N. Madras, A. D. Sokal, J. Stat. Phys. 50 (1988) の付録。導出は 4 次のキュムラントを落とす近似によるもので、この記事では定理にしません)。相対誤差は 2(2W+1)/N\sqrt{2(2W+1)/N} で、窓に比例して分散が増えます。偏りは WW とともに指数的に減り、分散は WW に比例して増えるので、WW は τint\tau_{\mathrm{int}} の数倍が妥当です。Sokal の規則は「W≥c τ^WW \ge c\,\hat\tau_W を満たす最小の WW」(cc は 4〜10)を選びます。U. Wolff の Γ 法は、偏りと統計誤差の和の見積もりを最小にする WW を自動で選び、平均の非線形な関数にも適用できます(Comput. Phys. Commun. 156 (2004))。§9 の実験で、ρ=0.9\rho = 0.9 の AR(1) 過程についてこの公式と実測のばらつきを比べます。

窓 Wρ(t)足す項(分散は W/N に比例)捨てる裾(偏り)t
窓 W の選び方。W までの自己相関を足し、それより先の裾を捨てる。捨てた裾の面積が偏り、足した項の個数に比例して分散が増える。

自己共分散を 1 つずつ推定せずに σ∞2\sigma_\infty^2 を求める方法がバッチ平均です。データを長さ bb の区間に切り、区間ごとの平均を新しいデータと見ます。bb が相関の長さより十分大きければ、区間の平均どうしはほぼ無相関で、独立な標本の式が使えます。

定義 5.1(バッチ平均)↗

N=kbN = kb(k≥2k \ge 2)とし、Yj=b−1∑s=(j−1)b+1jbAsY_j = b^{-1}\sum_{s=(j-1)b+1}^{jb}A_s(j=1,…,kj = 1, \ldots, k)をバッチ平均という。Yˉ=k−1∑jYj=AˉN\bar Y = k^{-1}\sum_j Y_j = \bar A_N として

σ^BM2=bk−1∑j=1k(Yj−Yˉ)2\hat\sigma_{\mathrm{BM}}^2 = \frac{b}{k-1}\sum_{j=1}^k(Y_j - \bar Y)^2

を、長期分散 σ∞2\sigma_\infty^2のバッチ平均推定量という。

これはビニング推定量 σ^B2\hat\sigma_B^2(定義 6.4[格子場のモンテカルロ法]。Var(AˉN)\mathrm{Var}(\bar A_N) の推定量 1k(k−1)∑j(Yj−Yˉ)2\frac{1}{k(k-1)}\sum_j(Y_j - \bar Y)^2)の NN 倍です。期待値が b→∞b \to \infty で σ∞2\sigma_\infty^2 に収束することは 命題 6.5[格子場のモンテカルロ法] にあります。ここでは収束の速さを示します。

次の定理は 2 つのことを言います。1 つは、バッチ長 bb を大きくすれば推定量の偏りが 1/b1/b の速さで消えること。もう 1 つは、バッチの個数が少ないままでは、bb をいくら大きくしても推定値のばらつきが残ることです。後者は、独立な正規標本を 2 つのバッチに分けると、推定値が「標準正規分布に従う数の 2 乗」の定数倍になって、データを増やしても定数に近づかないことから分かります。

定理 5.2(バッチ平均の偏りと、バッチ数を固定したときの不一致)✓

弱定常列 (At)(A_t) が C1=∑t=1∞t ∣Γ(t)∣<∞C_1 = \sum_{t=1}^\infty t\,|\Gamma(t)| < \infty を満たすとする。

  1. すべての b≥1b \ge 1 で ∣b Var(Y1)−σ∞2∣≤2C1/b\bigl|b\,\mathrm{Var}(Y_1) - \sigma_\infty^2\bigr| \le 2C_1/b。
  2. N=kbN = kb、k≥2k \ge 2 のとき ∣E[σ^BM2]−σ∞2∣≤5C1/b\bigl|\mathbb{E}[\hat\sigma_{\mathrm{BM}}^2] - \sigma_\infty^2\bigr| \le 5C_1/b。
  3. AtA_t が独立で同じ正規分布 N(μ,σ2)N(\mu, \sigma^2)(σ>0\sigma > 0)に従い、k=2k = 2 のとき、すべての bb で σ^BM2\hat\sigma_{\mathrm{BM}}^2 は σ2Z2\sigma^2Z^2(Z∼N(0,1)Z \sim N(0,1))と同じ分布に従う。特に b→∞b \to \infty としても σ^BM2\hat\sigma_{\mathrm{BM}}^2 は σ∞2=σ2\sigma_\infty^2 = \sigma^2 に確率収束しない。
証明(定理 5.2)

1. C1<∞C_1 < \infty なら ∑t∣Γ(t)∣≤∣Γ(0)∣+2C1<∞\sum_t|\Gamma(t)| \le |\Gamma(0)| + 2C_1 < \infty です。§2.1 の分散の式(定理 6.2[格子場のモンテカルロ法])を N=bN = b で使うと b Var(Y1)=∑∣t∣<b(1−∣t∣/b)Γ(t)b\,\mathrm{Var}(Y_1) = \sum_{|t|<b}(1 - |t|/b)\Gamma(t) なので

σ∞2−b Var(Y1)=∑∣t∣≥bΓ(t)+1b∑∣t∣<b∣t∣ Γ(t)\sigma_\infty^2 - b\,\mathrm{Var}(Y_1) = \sum_{|t|\ge b}\Gamma(t) + \frac1b\sum_{|t|<b}|t|\,\Gamma(t)

です。第 1 項は、∣t∣≥b|t| \ge b で 1≤∣t∣/b1 \le |t|/b なので絶対値が b−1∑∣t∣≥b∣t∣∣Γ(t)∣b^{-1}\sum_{|t|\ge b}|t||\Gamma(t)| 以下です。第 2 項と合わせて

∣σ∞2−b Var(Y1)∣≤1b∑t∈Z∣t∣ ∣Γ(t)∣=2C1b.\bigl|\sigma_\infty^2 - b\,\mathrm{Var}(Y_1)\bigr| \le \frac1b\sum_{t\in\mathbb{Z}}|t|\,|\Gamma(t)| = \frac{2C_1}{b}.

2. E[Yj]=E[Yˉ]=μ\mathbb{E}[Y_j] = \mathbb{E}[\bar Y] = \mu です。∑j(Yj−Yˉ)2=∑j(Yj−μ)2−k(Yˉ−μ)2\sum_j(Y_j - \bar Y)^2 = \sum_j(Y_j - \mu)^2 - k(\bar Y - \mu)^2 の期待値を取ると、弱定常性から Var(Yj)=Var(Y1)\mathrm{Var}(Y_j) = \mathrm{Var}(Y_1) なので

E[σ^BM2]=bk−1(k Var(Y1)−k Var(AˉN))=k vb−vNk−1,vm=m Var(Aˉm)\mathbb{E}[\hat\sigma_{\mathrm{BM}}^2] = \frac{b}{k-1}\bigl(k\,\mathrm{Var}(Y_1) - k\,\mathrm{Var}(\bar A_N)\bigr) = \frac{k\,v_b - v_N}{k-1}, \qquad v_m = m\,\mathrm{Var}(\bar A_m)

です(bk Var(AˉN)=vNbk\,\mathrm{Var}(\bar A_N) = v_N、Aˉb\bar A_b は Y1Y_1 のこと)。1 を bb と NN に使うと ∣vb−σ∞2∣≤2C1/b|v_b - \sigma_\infty^2| \le 2C_1/b、∣vN−σ∞2∣≤2C1/N=2C1/(kb)|v_N - \sigma_\infty^2| \le 2C_1/N = 2C_1/(kb) です。したがって

∣E[σ^BM2]−σ∞2∣=∣k(vb−σ∞2)−(vN−σ∞2)∣k−1≤2C1b⋅k+1/kk−1\bigl|\mathbb{E}[\hat\sigma_{\mathrm{BM}}^2] - \sigma_\infty^2\bigr| = \frac{|k(v_b - \sigma_\infty^2) - (v_N - \sigma_\infty^2)|}{k-1} \le \frac{2C_1}{b}\cdot\frac{k + 1/k}{k-1}

です。(k+1/k)/(k−1)=1+(1+1/k)/(k−1)(k + 1/k)/(k-1) = 1 + (1 + 1/k)/(k - 1) は k≥2k \ge 2 で単調に減り、k=2k = 2 での値は 5/25/2 なので、右辺は 5C1/b5C_1/b 以下です。

3. k=2k = 2 では Yˉ=(Y1+Y2)/2\bar Y = (Y_1 + Y_2)/2 から (Y1−Yˉ)2+(Y2−Yˉ)2=(Y1−Y2)2/2(Y_1 - \bar Y)^2 + (Y_2 - \bar Y)^2 = (Y_1 - Y_2)^2/2 で、σ^BM2=b(Y1−Y2)2/2\hat\sigma_{\mathrm{BM}}^2 = b(Y_1 - Y_2)^2/2 です。(A1,…,A2b)(A_1, \ldots, A_{2b}) は独立な正規確率変数を並べたものなので、同時密度は密度の積(補題 2.2[分布からの標本抽出])で、これは N(μ1,σ2I)N(\mu\boldsymbol{1}, \sigma^2I) の密度です(定理 5.2[特性関数と Gauss ベクトル] の 3)。同じ定理の 4 から、線形結合 Y1−Y2=b−1(∑s≤bAs−∑s>bAs)Y_1 - Y_2 = b^{-1}(\sum_{s\le b}A_s - \sum_{s>b}A_s) は平均 00、分散 2bσ2/b2=2σ2/b2b\sigma^2/b^2 = 2\sigma^2/b の正規分布に従います。Z=(Y1−Y2)b/(2σ2)Z = (Y_1 - Y_2)\sqrt{b/(2\sigma^2)} とおくと Z∼N(0,1)Z \sim N(0,1) で σ^BM2=σ2Z2\hat\sigma_{\mathrm{BM}}^2 = \sigma^2Z^2 です。P(∣σ^BM2−σ2∣>σ2/2)=P(∣Z2−1∣>1/2)\mathbb{P}(|\hat\sigma_{\mathrm{BM}}^2 - \sigma^2| > \sigma^2/2) = \mathbb{P}(|Z^2 - 1| > 1/2) は bb によらない正の数なので、確率収束しません。

1 と 2 は「bb を大きくすれば偏りが消える」こと、3 は「bb だけ大きくしても推定量のばらつきは消えない」ことを、正規・独立でバッチが 2 個の場合に言っています。一般のバッチ数 kk でも、正規・独立な場合には (k−1)σ^BM2/σ2(k-1)\hat\sigma_{\mathrm{BM}}^2/\sigma^2 が自由度 k−1k-1 の χ2\chi^2 分布に従い(正規標本の標本分散の分布についての標準的な事実で、この記事では証明しません)、相対的なばらつきは 2/(k−1)\sqrt{2/(k-1)} です。k=20k = 20 でも誤差棒の誤差が 3 割あります。一致性には b→∞b \to \infty と k=N/b→∞k = N/b \to \infty の両方が要ります。

注意 5.3(バッチ長の選び方と一致性の条件)

偏りが O(1/b)O(1/b)、分散が O(b/N)O(b/N) なので、平均二乗誤差を最小にするバッチ長は b∝N1/3b \propto N^{1/3} です。一般の Markov 連鎖でバッチ平均推定量が強一致性をもつための条件(幾何エルゴード性と積率の条件)と、スペクトル分散推定量との比較は J. M. Flegal, G. L. Jones, Ann. Statist. 38 (2010) にあります。証明は連鎖の強近似に基づくので、この記事では定理にしません。実務では、bb を 2 倍ずつ増やして推定値が頭打ちになる(定理 5.2 の偏りが消える)ことと、そのとき kk が数十以上残っていることの両方を確かめます。

例 5.4(AR(1) 過程では全部が閉じた形で分かる)

∣ϱ∣<1|\varrho| < 1 とし、At+1=ϱAt+1−ϱ2 ZtA_{t+1} = \varrho A_t + \sqrt{1 - \varrho^2}\,Z_t(ZtZ_t は独立な標準正規、A1∼N(0,1)A_1 \sim N(0,1) は ZtZ_t と独立)とします。At∼N(0,1)A_t \sim N(0,1) がすべての tt で成り立ち、Cov(As,As+t)=ϱt\mathrm{Cov}(A_s, A_{s+t}) = \varrho^t です(As+t=ϱtAs+(Zs,…,Zs+t−1A_{s+t} = \varrho^tA_s + (Z_s, \ldots, Z_{s+t-1} の線形結合)) で、後者は AsA_s と独立だからです)。したがって

ρ(t)=ϱ∣t∣,τint=12+ϱ1−ϱ=1+ϱ2(1−ϱ),C1=∑t≥1tϱt=ϱ(1−ϱ)2 (ϱ>0).\rho(t) = \varrho^{|t|}, \qquad \tau_{\mathrm{int}} = \frac12 + \frac{\varrho}{1 - \varrho} = \frac{1 + \varrho}{2(1 - \varrho)}, \qquad C_1 = \sum_{t\ge1}t\varrho^t = \frac{\varrho}{(1-\varrho)^2}\ (\varrho > 0).

ϱ=0.9\varrho = 0.9 なら τint=9.5\tau_{\mathrm{int}} = 9.5 で、有効標本数は N/19N/19 です。窓の偏りは −∑t>Wϱt=−ϱW+1/(1−ϱ)-\sum_{t>W}\varrho^t = -\varrho^{W+1}/(1-\varrho) で、W=20W = 20 のとき −1.094-1.094 です。バッチ平均は、等比級数の和 ∑∣t∣<b(1−∣t∣/b)ϱ∣t∣\sum_{|t|<b}(1 - |t|/b)\varrho^{|t|} を計算して(演習 10.1)

b Var(Y1)2Γ(0)=τint−ϱ(1−ϱb)b(1−ϱ)2\frac{b\,\mathrm{Var}(Y_1)}{2\Gamma(0)} = \tau_{\mathrm{int}} - \frac{\varrho(1 - \varrho^b)}{b(1-\varrho)^2}

です。b=16b = 16 で 4.9174.917、b=256b = 256 で 9.1489.148 となり、偏りが 1/b1/b で減ることが見えます。

報告したい量が平均の関数 g(μ)g(\mu) で、推定量が g(XˉN)g(\bar X_N) のとき、その誤差をデータの作り直しで求めるのがジャックナイフです。この節と次節では独立同分布な標本を考えます。相関のあるデータへの適用は §6.3 で述べます。

定義 6.1(ジャックナイフ分散推定量)↗

データ X1,…,XNX_1, \ldots, X_N(N≥2N \ge 2)と統計量 θ^=T(X1,…,XN)\hat\theta = T(X_1, \ldots, X_N) について、ii 番目を除いた N−1N - 1 個のデータで同じ統計量を計算した値を θ^(i)\hat\theta_{(i)}、その平均を θˉ(⋅)=N−1∑iθ^(i)\bar\theta_{(\cdot)} = N^{-1}\sum_i\hat\theta_{(i)} とする。

vJ=N−1N∑i=1N(θ^(i)−θˉ(⋅))2,θ^J=Nθ^−(N−1)θˉ(⋅)v_{\mathrm J} = \frac{N-1}{N}\sum_{i=1}^N\bigl(\hat\theta_{(i)} - \bar\theta_{(\cdot)}\bigr)^2, \qquad \hat\theta_{\mathrm J} = N\hat\theta - (N-1)\bar\theta_{(\cdot)}

を、θ^\hat\theta の分散のジャックナイフ推定量、偏りを補正したジャックナイフ推定値という。

θ^=g(XˉN)\hat\theta = g(\bar X_N) のときは θ^(i)=g(Xˉ(i))\hat\theta_{(i)} = g(\bar X_{(i)})、Xˉ(i)=(N−1)−1∑j≠iXj\bar X_{(i)} = (N-1)^{-1}\sum_{j\ne i}X_j で、定義 6.6[格子場のモンテカルロ法] と同じ定義です。係数 (N−1)/N(N-1)/N は、θ^(i)\hat\theta_{(i)} どうしが N−2N - 2 個のデータを共有していて互いに近い(差が 1/N1/N の大きさ)ことを補う因子です。g(x)=xg(x) = x では vJv_{\mathrm J} が sN2/Ns_N^2/N に一致します(演習 10.2)。

補題 6.2(最大値は N より遅くしか増えない)✓

X1,X2,…X_1, X_2, \ldots が独立同分布で E∣X1∣<∞\mathbb{E}|X_1| < \infty なら、確率 11 で max⁡1≤i≤N∣Xi∣/N→0\max_{1\le i\le N}|X_i|/N \to 0 である。

証明(補題 6.2)

SN=∑i≤NXiS_N = \sum_{i\le N}X_i とします。大数の強法則(定理 4.5[大数の法則と中心極限定理])から確率 11 で SN/N→μS_N/N \to \mu で、

XNN=SNN−N−1N⋅SN−1N−1→μ−μ=0\frac{X_N}{N} = \frac{S_N}{N} - \frac{N-1}{N}\cdot\frac{S_{N-1}}{N-1} \to \mu - \mu = 0

です。この事象の上で ε>0\varepsilon > 0 を取ると、ある n0n_0 があって i≥n0i \ge n_0 なら ∣Xi∣≤εi|X_i| \le \varepsilon i です。N≥n0N \ge n_0 のとき

1Nmax⁡i≤N∣Xi∣≤max⁡(1Nmax⁡i<n0∣Xi∣, max⁡n0≤i≤NεiN)≤max⁡(1Nmax⁡i<n0∣Xi∣, ε)\frac1N\max_{i\le N}|X_i| \le \max\Bigl(\frac1N\max_{i<n_0}|X_i|,\ \max_{n_0\le i\le N}\frac{\varepsilon i}{N}\Bigr) \le \max\Bigl(\frac1N\max_{i<n_0}|X_i|,\ \varepsilon\Bigr)

で、N→∞N \to \infty で第 1 の項は 00 に向かうので、上極限は ε\varepsilon 以下です。ε\varepsilon は任意なので極限は 00 です。

定理 6.3(ジャックナイフ分散推定量の一致性)✓

X1,X2,…X_1, X_2, \ldots を独立同分布な実確率変数、μ=E[X1]\mu = \mathbb{E}[X_1]、σ2=Var(X1)<∞\sigma^2 = \mathrm{Var}(X_1) < \infty とする。gg を μ\mu を含む開区間 II 上の C1C^1 級関数とし、θ^=g(XˉN)\hat\theta = g(\bar X_N) のジャックナイフ分散推定量を vJv_{\mathrm J} とする。このとき確率 11 で、十分大きいすべての NN について XˉN\bar X_N と Xˉ(1),…,Xˉ(N)\bar X_{(1)}, \ldots, \bar X_{(N)} は II に入り(したがって vJv_{\mathrm J} が定まり)、

lim⁡N→∞N vJ=g′(μ)2σ2.\lim_{N\to\infty}N\,v_{\mathrm J} = g'(\mu)^2\sigma^2.

証明の方針は次のとおりです。1 個除いた平均 Xˉ(i)\bar X_{(i)} は全体の平均からほんのわずかしかずれないので、gg を平均値の定理で 1 次式に置き換えられます。すると vJv_{\mathrm J} は「g′(XˉN)2g'(\bar X_N)^2 と標本分散の積を NN で割ったもの」にほぼ等しくなり、残りの誤差は 0 に向かうことを示します。

証明(定理 6.3)

Δi=Xˉ(i)−XˉN\Delta_i = \bar X_{(i)} - \bar X_N とおきます。Xˉ(i)=(NXˉN−Xi)/(N−1)\bar X_{(i)} = (N\bar X_N - X_i)/(N-1) なので

Δi=XˉN−XiN−1,∑i=1NΔi=0,(N−1)∑i=1NΔi2=1N−1∑i=1N(Xi−XˉN)2=sN2\Delta_i = \frac{\bar X_N - X_i}{N-1}, \qquad \sum_{i=1}^N\Delta_i = 0, \qquad (N-1)\sum_{i=1}^N\Delta_i^2 = \frac{1}{N-1}\sum_{i=1}^N(X_i - \bar X_N)^2 = s_N^2

です。以下、次の 3 つが成り立つ確率 11 の事象の上で考えます。(a) XˉN→μ\bar X_N \to \mu(定理 4.5[大数の法則と中心極限定理])、(b) sN2→σ2s_N^2 \to \sigma^2(定理 2.2[Monte Carlo 積分と分散低減] の 3)、(c) max⁡i≤N∣Xi∣/N→0\max_{i\le N}|X_i|/N \to 0(補題 6.2)。

(a) と (c) から max⁡i∣Δi∣≤(∣XˉN∣+max⁡i∣Xi∣)/(N−1)→0\max_i|\Delta_i| \le (|\bar X_N| + \max_i|X_i|)/(N-1) \to 0 です。ηN=∣XˉN−μ∣+max⁡i∣Δi∣\eta_N = |\bar X_N - \mu| + \max_i|\Delta_i| とおくと ηN→0\eta_N \to 0 で、XˉN\bar X_N と各 Xˉ(i)\bar X_{(i)} は [μ−ηN,μ+ηN][\mu - \eta_N, \mu + \eta_N] に入ります。II は μ\mu を含む開区間なので、十分大きい NN でこの区間は II に含まれます。以下そのような NN を考えます。

平均値の定理(定理 3.3[平均値の定理とテイラーの定理])から、XˉN\bar X_N と Xˉ(i)\bar X_{(i)} の間の点 ξi\xi_i があって g(Xˉ(i))−g(XˉN)=g′(ξi)Δig(\bar X_{(i)}) - g(\bar X_N) = g'(\xi_i)\Delta_i です(Δi=0\Delta_i = 0 のときは ξi=XˉN\xi_i = \bar X_N とします)。

ai=g′(XˉN)Δi,ri=(g′(ξi)−g′(XˉN))Δia_i = g'(\bar X_N)\Delta_i, \qquad r_i = \bigl(g'(\xi_i) - g'(\bar X_N)\bigr)\Delta_i

とおくと θ^(i)=g(XˉN)+ai+ri\hat\theta_{(i)} = g(\bar X_N) + a_i + r_i で、∑iai=0\sum_ia_i = 0 から θˉ(⋅)=g(XˉN)+rˉ\bar\theta_{(\cdot)} = g(\bar X_N) + \bar r(rˉ=N−1∑iri\bar r = N^{-1}\sum_ir_i)、したがって θ^(i)−θˉ(⋅)=ai+(ri−rˉ)\hat\theta_{(i)} - \bar\theta_{(\cdot)} = a_i + (r_i - \bar r) です。RN\mathbb{R}^N のベクトル a=(ai)a = (a_i)、r′=(ri−rˉ)r' = (r_i - \bar r) とユークリッドノルムについて

N vJ=N−1 ∥a+r′∥,∣N vJ−N−1 ∥a∥∣≤N−1 ∥r′∥\sqrt{N\,v_{\mathrm J}} = \sqrt{N-1}\,\|a + r'\|, \qquad \bigl|\sqrt{N\,v_{\mathrm J}} - \sqrt{N-1}\,\|a\|\bigr| \le \sqrt{N-1}\,\|r'\|

です(三角不等式)。第 1 の量は

(N−1)∥a∥2=g′(XˉN)2(N−1)∑iΔi2=g′(XˉN)2sN2→g′(μ)2σ2(N-1)\|a\|^2 = g'(\bar X_N)^2(N-1)\sum_i\Delta_i^2 = g'(\bar X_N)^2s_N^2 \to g'(\mu)^2\sigma^2

です((a)(b) と g′g' の連続性)。第 2 の量は、平均を引くと 2 乗和が減ること(∑i(ri−rˉ)2=∑iri2−Nrˉ2\sum_i(r_i - \bar r)^2 = \sum_ir_i^2 - N\bar r^2)から

(N−1)∥r′∥2≤(N−1)∑iri2≤εN2(N−1)∑iΔi2=εN2sN2,εN=max⁡i∣g′(ξi)−g′(XˉN)∣(N-1)\|r'\|^2 \le (N-1)\sum_ir_i^2 \le \varepsilon_N^2(N-1)\sum_i\Delta_i^2 = \varepsilon_N^2s_N^2, \qquad \varepsilon_N = \max_i|g'(\xi_i) - g'(\bar X_N)|

です。ξi\xi_i と XˉN\bar X_N は [μ−ηN,μ+ηN][\mu - \eta_N, \mu + \eta_N] にあるので εN≤2sup⁡∣x−μ∣≤ηN∣g′(x)−g′(μ)∣\varepsilon_N \le 2\sup_{|x - \mu|\le\eta_N}|g'(x) - g'(\mu)| で、g′g' が μ\mu で連続、ηN→0\eta_N \to 0 なので εN→0\varepsilon_N \to 0 です。よって (N−1)∥r′∥2→0(N-1)\|r'\|^2 \to 0 で、N vJ→∣g′(μ)∣σ\sqrt{N\,v_{\mathrm J}} \to |g'(\mu)|\sigma です。

中心極限定理(定理 5.6[大数の法則と中心極限定理])と delta 法(定理 7.1[点推定と漸近理論])から N(g(XˉN)−g(μ))\sqrt N(g(\bar X_N) - g(\mu)) は N(0,g′(μ)2σ2)N(0, g'(\mu)^2\sigma^2) に分布収束します。定理 6.3 は、ジャックナイフが g′g' を計算せずにこの分散を正しく推定することを言っています。g′(μ)≠0g'(\mu) \ne 0 なら、Slutsky の定理(命題 6.1[大数の法則と中心極限定理])から (g(XˉN)−g(μ))/vJ(g(\bar X_N) - g(\mu))/\sqrt{v_{\mathrm J}} が標準正規分布に分布収束し、g(XˉN)±zvJg(\bar X_N) \pm z\sqrt{v_{\mathrm J}} が漸近的な信頼区間になります。ベクトル値の平均の関数(比、分散、対数の差)でも、同じ証明が勾配と共分散行列について通ります。

証明で使ったのは gg の微分可能性です。滑らかでない統計量では結論が壊れます。

例 6.4(中央値ではジャックナイフ分散推定量は一致しない)

X1,…,XNX_1, \ldots, X_N を (0,1)(0,1) 上の一様分布からの独立な標本、N=2mN = 2m とし、順序統計量を X(1)<⋯<X(N)X_{(1)} < \cdots < X_{(N)} と書きます(確率 11 で値はすべて異なります)。標本中央値を、偶数個なら中央の 2 個の平均、奇数個なら中央の値とします。θ^=(X(m)+X(m+1))/2\hat\theta = (X_{(m)} + X_{(m+1)})/2 です。

1 個を除くと 2m−12m - 1 個が残り、中央値は小さいほうから mm 番目です。X(i)X_{(i)}(i≤mi \le m)を除くと残りの mm 番目は X(m+1)X_{(m+1)}、X(i)X_{(i)}(i≥m+1i \ge m+1)を除くと X(m)X_{(m)} です。したがって θ^(i)\hat\theta_{(i)} は X(m+1)X_{(m+1)} と X(m)X_{(m)} を mm 回ずつ取り、θˉ(⋅)=θ^\bar\theta_{(\cdot)} = \hat\theta で

vJ=N−1N⋅N⋅(X(m+1)−X(m)2)2,N vJ=N−1N⋅(N DN)24,DN=X(m+1)−X(m)v_{\mathrm J} = \frac{N-1}{N}\cdot N\cdot\Bigl(\frac{X_{(m+1)} - X_{(m)}}{2}\Bigr)^2, \qquad N\,v_{\mathrm J} = \frac{N-1}{N}\cdot\frac{(N\,D_N)^2}{4}, \quad D_N = X_{(m+1)} - X_{(m)}

です。中央の間隔 DND_N の分布を求めます。(X(1),…,X(N))(X_{(1)}, \ldots, X_{(N)}) は集合 {0<x1<⋯<xN<1}\{0 < x_1 < \cdots < x_N < 1\}(体積 1/N!1/N!)の上の一様分布に従います(N!N! 通りの並べ替えが同じ確率だからです)。0<x<10 < x < 1 について、事象 DN>xD_N > x に対応する集合を、m+1m+1 番目以降の座標から xx を引く平行移動で移すと {0<y1<⋯<yN<1−x}\{0 < y_1 < \cdots < y_N < 1 - x\} になり、その体積は (1−x)N/N!(1-x)^N/N! です。よって

P(DN>x)=(1−x)N,P(NDN>x)=(1−xN)N→e−x\mathbb{P}(D_N > x) = (1 - x)^N, \qquad \mathbb{P}(N D_N > x) = \Bigl(1 - \frac xN\Bigr)^N \to e^{-x}

で、NDNND_N は平均 11 の指数分布に分布収束します。したがって N vJN\,v_{\mathrm J} は E2/4E^2/4(EE は平均 11 の指数分布)に分布収束します。極限は定数ではなく、N vJN\,v_{\mathrm J} はどんな定数にも確率収束しません。極限の平均は E[E2]/4=1/2\mathbb{E}[E^2]/4 = 1/2 で、標本中央値の漸近分散 1/(4N)1/(4N)(密度が中央値で 11 の場合)の NN 倍 1/41/4 とも合いません。

2 つの平均の比 Xˉ/Yˉ\bar X/\bar Y は、再重みづけ・符号つきの重み(経路積分 Monte Carlo の章)・自己正規化した重点サンプリングで現れます。分母が揺らぐので O(1/N)O(1/N) の偏りがあります。

次の補題は、平均の比の偏りを評価する命題の準備です。比を 1/(1+δ)1/(1+\delta) の級数に展開すると、中心化した標本平均の積の期待値が現れます。この補題は、そのうち NN のどの冪で効くかを、同じ添字が 2 回以上現れる組の数え上げだけで抑えます。

補題 6.5(中心化した標本平均の積の期待値)✓

Wi=(Wi(1),…,Wi(q))W_i = (W_i^{(1)}, \ldots, W_i^{(q)})(i=1,…,Ni = 1, \ldots, N)を独立同分布な Rq\mathbb{R}^q 値確率変数とし、各成分が E[Wi(l)]=0\mathbb{E}[W_i^{(l)}] = 0、∣Wi(l)∣≤B|W_i^{(l)}| \le B を満たすとする。Wˉ(l)=N−1∑iWi(l)\bar W^{(l)} = N^{-1}\sum_iW_i^{(l)} について

∣E[∏l=1qWˉ(l)]∣≤qqBqN−⌈q/2⌉.\Bigl|\mathbb{E}\Bigl[\prod_{l=1}^q\bar W^{(l)}\Bigr]\Bigr| \le q^qB^qN^{-\lceil q/2\rceil}.
証明(補題 6.5)

積を展開すると E[∏lWˉ(l)]=N−q∑(i1,…,iq)E[Wi1(1)⋯Wiq(q)]\mathbb{E}[\prod_l\bar W^{(l)}] = N^{-q}\sum_{(i_1, \ldots, i_q)}\mathbb{E}[W_{i_1}^{(1)}\cdots W_{i_q}^{(q)}] で、和は {1,…,N}q\{1, \ldots, N\}^q の全体にわたります。ある値 ii が (i1,…,iq)(i_1, \ldots, i_q) の中にちょうど 1 回だけ現れる(il=ii_l = i となる ll が 1 つ)とき、独立性から期待値は E[Wi(l)]=0\mathbb{E}[W_i^{(l)}] = 0 と残りの因子の期待値の積になり、00 です。したがって残るのは、現れる値がどれも 2 回以上現れる組だけで、そのような組に現れる相異なる値は ⌊q/2⌋\lfloor q/2\rfloor 個以下です。相異なる値が jj 個以下の組の個数は、値の集合の選び方 (Nj)≤Nj\binom Nj \le N^j と各位置への割り当て jqj^q の積以下なので、残る組は N⌊q/2⌋qqN^{\lfloor q/2\rfloor}q^q 個以下です。各項の絶対値は BqB^q 以下なので、全体は N−q⋅N⌊q/2⌋qqBq=qqBqN−⌈q/2⌉N^{-q}\cdot N^{\lfloor q/2\rfloor}q^qB^q = q^qB^qN^{-\lceil q/2\rceil} 以下です。

命題 6.6(比の推定量の偏り)✓

(Xi,Yi)(X_i, Y_i)(i=1,2,…i = 1, 2, \ldots)を独立同分布な組とし、定数 0<c≤B0 < c \le B があって ∣Xi∣≤B|X_i| \le B、c≤Yi≤Bc \le Y_i \le B とする。μx=EX1\mu_x = \mathbb{E}X_1、μy=EY1\mu_y = \mathbb{E}Y_1、σy2=Var(Y1)\sigma_y^2 = \mathrm{Var}(Y_1)、σxy=Cov(X1,Y1)\sigma_{xy} = \mathrm{Cov}(X_1, Y_1)、r=μx/μyr = \mu_x/\mu_y、R^N=XˉN/YˉN\hat R_N = \bar X_N/\bar Y_N とおく。このとき

E[R^N]=r+c1N+c2N2+O(N−3),c1=μxσy2μy3−σxyμy2\mathbb{E}[\hat R_N] = r + \frac{c_1}{N} + \frac{c_2}{N^2} + O(N^{-3}), \qquad c_1 = \frac{\mu_x\sigma_y^2}{\mu_y^3} - \frac{\sigma_{xy}}{\mu_y^2}

が成り立つ。c2c_2 は NN によらない定数で、証明の中に式を与える。したがってジャックナイフ推定値 R^J=NR^N−(N−1)Rˉ(⋅)\hat R_{\mathrm J} = N\hat R_N - (N-1)\bar R_{(\cdot)} は E[R^J]=r+O(N−2)\mathbb{E}[\hat R_{\mathrm J}] = r + O(N^{-2}) を満たす。

証明(命題 6.6)

Di=Xi−rYiD_i = X_i - rY_i、Zi=(Yi−μy)/μyZ_i = (Y_i - \mu_y)/\mu_y とおくと、どちらも平均 00 で有界です(∣Di∣≤B(1+∣r∣)|D_i| \le B(1 + |r|)、∣Zi∣≤B/μy|Z_i| \le B/\mu_y)。Dˉ=XˉN−rYˉN\bar D = \bar X_N - r\bar Y_N、δ=Zˉ=YˉN/μy−1\delta = \bar Z = \bar Y_N/\mu_y - 1 とすると

R^N−r=XˉN−rYˉNYˉN=Dˉμy(1+δ),1+δ=YˉNμy≥cμy>0\hat R_N - r = \frac{\bar X_N - r\bar Y_N}{\bar Y_N} = \frac{\bar D}{\mu_y(1 + \delta)}, \qquad 1 + \delta = \frac{\bar Y_N}{\mu_y} \ge \frac{c}{\mu_y} > 0

です。有限等比級数の和 ∑k=04(−δ)k=(1+δ5)/(1+δ)\sum_{k=0}^4(-\delta)^k = (1 + \delta^5)/(1 + \delta) から

11+δ=1−δ+δ2−δ3+δ4−δ51+δ\frac{1}{1 + \delta} = 1 - \delta + \delta^2 - \delta^3 + \delta^4 - \frac{\delta^5}{1 + \delta}

なので、

μy E[R^N−r]=E[Dˉ]−E[Dˉδ]+E[Dˉδ2]−E[Dˉδ3]+E[Dˉδ4]−E[Dˉδ51+δ]\mu_y\,\mathbb{E}[\hat R_N - r] = \mathbb{E}[\bar D] - \mathbb{E}[\bar D\delta] + \mathbb{E}[\bar D\delta^2] - \mathbb{E}[\bar D\delta^3] + \mathbb{E}[\bar D\delta^4] - \mathbb{E}\Bigl[\frac{\bar D\delta^5}{1+\delta}\Bigr]

です。各項を計算します。a1=E[D1Z1]a_1 = \mathbb{E}[D_1Z_1]、a2=E[D1Z12]a_2 = \mathbb{E}[D_1Z_1^2]、a3=E[D1Z13]a_3 = \mathbb{E}[D_1Z_1^3]、s2=E[Z12]s^2 = \mathbb{E}[Z_1^2] とおきます。補題 6.5 の証明と同じく、添字の組のうち期待値が残るのは、どの値も 2 回以上現れるものだけです。

  • E[Dˉ]=0\mathbb{E}[\bar D] = 0。
  • E[Dˉδ]=N−2∑i,jE[DiZj]=N−2⋅Na1=a1/N\mathbb{E}[\bar D\delta] = N^{-2}\sum_{i,j}\mathbb{E}[D_iZ_j] = N^{-2}\cdot N a_1 = a_1/N(i=ji = j の項だけが残る)。
  • E[Dˉδ2]=N−3⋅Na2=a2/N2\mathbb{E}[\bar D\delta^2] = N^{-3}\cdot Na_2 = a_2/N^2(3 つの添字がすべて等しい項だけが残る)。
  • E[Dˉδ3]=N−4(Na3+3N(N−1)a1s2)\mathbb{E}[\bar D\delta^3] = N^{-4}\bigl(Na_3 + 3N(N-1)a_1s^2\bigr)。残るのは 4 つの添字がすべて等しい NN 項と、DD の添字が 3 つの ZZ のうち 1 つ(3 通り)と等しく、残りの 2 つの ZZ が別の同じ添字をもつ 3N(N−1)3N(N-1) 項です。よって E[Dˉδ3]=3a1s2/N2+(a3−3a1s2)/N3\mathbb{E}[\bar D\delta^3] = 3a_1s^2/N^2 + (a_3 - 3a_1s^2)/N^3。
  • ∣E[Dˉδ4]∣≤55B′5N−3|\mathbb{E}[\bar D\delta^4]| \le 5^5B'^5N^{-3}(補題 6.5 を q=5q = 5、B′=max⁡(B(1+∣r∣),B/μy)B' = \max(B(1 + |r|), B/\mu_y) で使う)。
  • 最後の項は、1+δ≥c/μy1 + \delta \ge c/\mu_y と、L2L^2 の内積 E[UV]\mathbb{E}[UV] についての Cauchy–Schwarz の不等式(命題 2.2[Hilbert 空間の基礎])から ∣E[Dˉδ51+δ]∣≤μycE[Dˉ2]E[δ10]≤μyc22B′2N−11010B′10N−5=O(N−3)\Bigl|\mathbb{E}\Bigl[\frac{\bar D\delta^5}{1 + \delta}\Bigr]\Bigr| \le \frac{\mu_y}{c}\sqrt{\mathbb{E}[\bar D^2]}\sqrt{\mathbb{E}[\delta^{10}]} \le \frac{\mu_y}{c}\sqrt{2^2B'^2N^{-1}}\sqrt{10^{10}B'^{10}N^{-5}} = O(N^{-3}) です(補題 6.5 を q=2q = 2 と q=10q = 10 で使う)。

まとめると

E[R^N]−r=−a1μyN+a2−3a1s2μyN2+O(N−3)\mathbb{E}[\hat R_N] - r = -\frac{a_1}{\mu_yN} + \frac{a_2 - 3a_1s^2}{\mu_yN^2} + O(N^{-3})

で、c2=(a2−3a1s2)/μyc_2 = (a_2 - 3a_1s^2)/\mu_y です。c1c_1 は、a1=Cov(X1−rY1,Y1)/μy=(σxy−rσy2)/μya_1 = \mathrm{Cov}(X_1 - rY_1, Y_1)/\mu_y = (\sigma_{xy} - r\sigma_y^2)/\mu_y から

c1=−a1μy=rσy2−σxyμy2=μxσy2μy3−σxyμy2c_1 = -\frac{a_1}{\mu_y} = \frac{r\sigma_y^2 - \sigma_{xy}}{\mu_y^2} = \frac{\mu_x\sigma_y^2}{\mu_y^3} - \frac{\sigma_{xy}}{\mu_y^2}

です。

ジャックナイフについて。R^(i)\hat R_{(i)} は N−1N - 1 個の独立同分布な組から作った比なので E[Rˉ(⋅)]=E[R^N−1]\mathbb{E}[\bar R_{(\cdot)}] = \mathbb{E}[\hat R_{N-1}] です。上の展開は 命題 6.7[格子場のモンテカルロ法] の仮定(Ef(Aˉn)=f(μ)+c/n+d/n2+O(n−3)\mathbb{E}f(\bar A_n) = f(\mu) + c/n + d/n^2 + O(n^{-3}))を満たすので、E[R^J]=r+O(N−2)\mathbb{E}[\hat R_{\mathrm J}] = r + O(N^{-2}) です。計算を書くと

N(c1N+c2N2)−(N−1)(c1N−1+c2(N−1)2)=c2N−c2N−1=−c2N(N−1)N\Bigl(\frac{c_1}{N} + \frac{c_2}{N^2}\Bigr) - (N-1)\Bigl(\frac{c_1}{N-1} + \frac{c_2}{(N-1)^2}\Bigr) = \frac{c_2}{N} - \frac{c_2}{N-1} = -\frac{c_2}{N(N-1)}

で、1/N1/N の項が消え、O(N−3)O(N^{-3}) の剰余は NN 倍しても O(N−2)O(N^{-2}) です。

偏り c1/Nc_1/N は標準誤差 O(N−1/2)O(N^{-1/2}) より小さいので、1 回の計算では見えません。問題になるのは、短い計算を多数回行って平均するときです。N=20N = 20 の比を 10410^4 個平均すると、統計誤差は 1/1001/100 になりますが偏りは c1/20c_1/20 のままで、偏りが誤差棒を超えます。並列計算で短い連鎖を多数走らせるときに起きる誤りです。§9 でこの命題の c1c_1・c2c_2 を数値と照合します。

6.3. 相関のあるデータでの使い方

Section titled “6.3. 相関のあるデータでの使い方”

定理 6.3 と 命題 6.6 は独立同分布な標本についての主張です。相関のある NN 個のデータから 1 個ずつ除くジャックナイフは、データを独立と見なした誤差(2τint\sqrt{2\tau_{\mathrm{int}}} 倍小さい)を返します。そこで、まず長さ bb のバッチ平均 Y1,…,YkY_1, \ldots, Y_k を作り、バッチを 1 個ずつ除くジャックナイフを使います。定理 5.2 から、bb が相関の長さより十分大きければバッチ平均の分散は σ∞2/b\sigma_\infty^2/b に近く、バッチ間の相関は端の O(τint/b)O(\tau_{\mathrm{int}}/b) の部分だけに由来します。バッチ長についての注意は §5 と同じで、bb を 2 倍ずつ増やして誤差が頭打ちになることを確かめます。

比熱 ∝⟨E2⟩−⟨E⟩2\propto \langle E^2\rangle - \langle E\rangle^2 は (E,E2)(E, E^2) の平均の関数 g(u,v)=v−u2g(u, v) = v - u^2、有効質量 ln⁡(C(t)/C(t+1))\ln(C(t)/C(t+1)) は相関関数の平均の関数です。どちらも gg が滑らかなので、バッチ化したあとのジャックナイフが使えます。有効質量では C(t)C(t) と C(t+1)C(t+1) が強く正に相関していて、比の誤差は個々の誤差よりずっと小さくなります。ジャックナイフは同じバッチを同時に除くので、この相関が自動的に入ります。

定義 7.1(ブートストラップ(再標本化分布))↗

データ x1,…,xNx_1, \ldots, x_N を固定する。I1,…,INI_1, \ldots, I_N を {1,…,N}\{1, \ldots, N\} 上の一様分布に従う独立な確率変数とし(その確率を P∗\mathbb{P}^* と書く)、Xk∗=xIkX_k^* = x_{I_k} を再標本という。統計量 TT について、P∗\mathbb{P}^* のもとでの T(X1∗,…,XN∗)T(X_1^*, \ldots, X_N^*) の分布を TT の再標本化分布(ブートストラップ分布)という。

再標本は、経験分布(各 xix_i に確率 1/N1/N)からの独立な NN 個の標本です。手元のデータを「母集団の縮図」と見なし、そこから何度も取り直したときの統計量のばらつきを、本物の標本を取り直したときのばらつきの代わりに使う、というのが誤差が分かる理由です。再標本化分布はデータの関数で、NNN^N 通りの (I1,…,IN)(I_1, \ldots, I_N) を数え上げれば原理的には厳密に求まります。実際には P∗\mathbb{P}^* からの Monte Carlo(再標本を数百〜数千組作る)で近似します。「未知の分布 FF のもとでの TT の分布」を「経験分布 FNF_N のもとでの TT の分布」で代用する、というのがブートストラップの考え方です。代用が正しいかどうかは統計量によります。

定義 7.2(ブロック・ブートストラップ)↗

相関のあるデータ A1,…,ANA_1, \ldots, A_N と N=kbN = kb について、長さ bb の連続した区間 (As,…,As+b−1)(A_s, \ldots, A_{s+b-1})(s=1,…,N−b+1s = 1, \ldots, N - b + 1)から kk 個を一様に独立に選び、選んだ順に並べて長さ NN の再標本を作る方法を**(移動)ブロック・ブートストラップ**という。

データを 1 個ずつ選び直すと時間方向の相関が壊れます。ブロックごとに選べば、ブロックの中の相関が保たれます。bb の条件はバッチ平均と同じ(b→∞b \to \infty かつ N/b→∞N/b \to \infty)です。移動ブロック法は H. R. Künsch, Ann. Statist. 17 (1989)、ブロック長を幾何分布で無作為にして再標本を定常にする定常ブートストラップは D. N. Politis, J. P. Romano, J. Amer. Statist. Assoc. 89 (1994) にあります。

2 つの分布関数 F,GF, G の Kolmogorov 距離を sup⁡x∈R∣F(x)−G(x)∣\sup_{x\in\mathbb{R}}|F(x) - G(x)| と定めます。

定理 7.3(標本平均のブートストラップの一致性)✓

X1,X2,…X_1, X_2, \ldots を独立同分布な実確率変数とし、μ=EX1\mu = \mathbb{E}X_1、σ2=Var(X1)>0\sigma^2 = \mathrm{Var}(X_1) > 0、ρ3=E∣X1−μ∣3<∞\rho_3 = \mathbb{E}|X_1 - \mu|^3 < \infty とする。σ^N2=N−1∑i≤N(Xi−XˉN)2\hat\sigma_N^2 = N^{-1}\sum_{i\le N}(X_i - \bar X_N)^2 とおき、

FN(x)=P(N(XˉN−μ)σ≤x),HN(x)=P∗(N(XˉN∗−XˉN)σ^N≤x)F_N(x) = \mathbb{P}\Bigl(\frac{\sqrt N(\bar X_N - \mu)}{\sigma} \le x\Bigr), \qquad H_N(x) = \mathbb{P}^*\Bigl(\frac{\sqrt N(\bar X_N^* - \bar X_N)}{\hat\sigma_N} \le x\Bigr)

とする(HNH_N はデータ X1,…,XNX_1, \ldots, X_N で決まる分布関数で、σ^N>0\hat\sigma_N > 0 のとき定義する。XˉN∗\bar X_N^* は再標本の平均)。CC を Berry–Esseen の定理の絶対定数とすると、確率 11 で

lim sup⁡N→∞Nsup⁡x∈R∣HN(x)−FN(x)∣≤5Cρ3σ3\limsup_{N\to\infty}\sqrt N\sup_{x\in\mathbb{R}}|H_N(x) - F_N(x)| \le \frac{5C\rho_3}{\sigma^3}

が成り立つ。特に Kolmogorov 距離は確率 11 で 00 に収束する。

証明(定理 7.3)

Berry–Esseen の定理(定理 5.9[大数の法則と中心極限定理])を (Xi)(X_i) に使うと、すべての NN で

sup⁡x∣FN(x)−Φ(x)∣≤Cρ3σ3N\sup_x|F_N(x) - \Phi(x)| \le \frac{C\rho_3}{\sigma^3\sqrt N}

です。次にデータ X1=x1,…,XN=xNX_1 = x_1, \ldots, X_N = x_N を固定し、P∗\mathbb{P}^* のもとで考えます。Xk∗=xIkX_k^* = x_{I_k}(k=1,2,…k = 1, 2, \ldots。添字の列を無限に延ばしておきます)は独立同分布で、

E∗[X1∗]=1N∑ixi=xˉ,Var∗(X1∗)=1N∑i(xi−xˉ)2=σ^N2,E∗∣X1∗−xˉ∣3=1N∑i∣xi−xˉ∣3=ρ^N\mathbb{E}^*[X_1^*] = \frac1N\sum_ix_i = \bar x, \qquad \mathrm{Var}^*(X_1^*) = \frac1N\sum_i(x_i - \bar x)^2 = \hat\sigma_N^2, \qquad \mathbb{E}^*|X_1^* - \bar x|^3 = \frac1N\sum_i|x_i - \bar x|^3 = \hat\rho_N

です。σ^N>0\hat\sigma_N > 0 のとき、同じ定理を列 (Xk∗)(X_k^*) に、標本の個数 NN で使うと

sup⁡x∣HN(x)−Φ(x)∣≤Cρ^Nσ^N3N\sup_x|H_N(x) - \Phi(x)| \le \frac{C\hat\rho_N}{\hat\sigma_N^3\sqrt N}

です。三角不等式から Nsup⁡x∣HN−FN∣≤C(ρ^N/σ^N3+ρ3/σ3)\sqrt N\sup_x|H_N - F_N| \le C(\hat\rho_N/\hat\sigma_N^3 + \rho_3/\sigma^3) です。

σ^N\hat\sigma_N と ρ^N\hat\rho_N の挙動を調べます。大数の強法則(定理 4.5[大数の法則と中心極限定理])を XiX_i、Xi2X_i^2、∣Xi−μ∣3|X_i - \mu|^3 に使うと、確率 11 で XˉN→μ\bar X_N \to \mu、σ^N2=N−1∑Xi2−XˉN2→σ2>0\hat\sigma_N^2 = N^{-1}\sum X_i^2 - \bar X_N^2 \to \sigma^2 > 0、N−1∑i∣Xi−μ∣3→ρ3N^{-1}\sum_i|X_i - \mu|^3 \to \rho_3 です。u↦∣u∣3u \mapsto |u|^3 は凸なので ∣a+b∣3=8∣(a+b)/2∣3≤4(∣a∣3+∣b∣3)|a + b|^3 = 8|(a+b)/2|^3 \le 4(|a|^3 + |b|^3) で、a=Xi−μa = X_i - \mu、b=μ−XˉNb = \mu - \bar X_N とすると

ρ^N≤4(1N∑i∣Xi−μ∣3+∣XˉN−μ∣3)→4ρ3\hat\rho_N \le 4\Bigl(\frac1N\sum_i|X_i - \mu|^3 + |\bar X_N - \mu|^3\Bigr) \to 4\rho_3

です。したがって確率 11 で、十分大きい NN では σ^N>0\hat\sigma_N > 0 で HNH_N が定義され、lim sup⁡Nρ^N/σ^N3≤4ρ3/σ3\limsup_N\hat\rho_N/\hat\sigma_N^3 \le 4\rho_3/\sigma^3 です。合わせて結論を得ます。

この定理から、XˉN∗−XˉN\bar X_N^* - \bar X_N の再標本化分布の分位点を使って μ\mu の信頼区間が作れます。qα∗q_\alpha^* を XˉN∗\bar X_N^* の再標本化分布の α\alpha 分位点とすると、区間 [2XˉN−q1−α/2∗, 2XˉN−qα/2∗][2\bar X_N - q_{1-\alpha/2}^*,\ 2\bar X_N - q_{\alpha/2}^*] の被覆確率は 1−α1 - \alpha に収束します(σ^N→σ\hat\sigma_N \to \sigma と Φ\Phi の連続性から、標準化を外した分布どうしの Kolmogorov 距離も 00 に向かうためです)。

注意 7.4(ブートストラップが正規近似より良くなる場合)

定理 7.3 の速さ O(N−1/2)O(N^{-1/2}) は正規近似と同じです。標本標準偏差で割った統計量 N(XˉN−μ)/sN\sqrt N(\bar X_N - \mu)/s_N については、分布が格子分布でなければ、再標本化分布との Kolmogorov 距離が o(N−1/2)o(N^{-1/2}) になります。歪度による N−1/2N^{-1/2} の補正項(Edgeworth 展開の第 1 項)までブートストラップが再現するためです。証明は Edgeworth 展開によるもので、K. Singh, Ann. Statist. 9 (1981) にあります。この記事では定理にしません。

命題 7.5(一様分布の最大値ではブートストラップは一致しない)✓

θ>0\theta > 0 とし、X1,…,XNX_1, \ldots, X_N を (0,θ)(0, \theta) 上の一様分布からの独立な標本、MN=max⁡iXiM_N = \max_iX_i、MN∗=max⁡kXk∗M_N^* = \max_kX_k^*(再標本の最大値)とする。

  1. データの値がすべて異なるとき(確率 11)、P∗(MN∗=MN)=1−(1−1/N)N≥1−1/e\mathbb{P}^*(M_N^* = M_N) = 1 - (1 - 1/N)^N \ge 1 - 1/e。
  2. x≥0x \ge 0 について P(N(θ−MN)>x)=(1−x/(Nθ))N\mathbb{P}(N(\theta - M_N) > x) = (1 - x/(N\theta))^N(x≤Nθx \le N\theta)で、N→∞N \to \infty で e−x/θe^{-x/\theta} に収束する。特に P(N(θ−MN)≤0)=0\mathbb{P}(N(\theta - M_N) \le 0) = 0。
  3. したがって、N(θ−MN)N(\theta - M_N) の分布関数と、その再標本化による代用 N(MN−MN∗)N(M_N - M_N^*) の P∗\mathbb{P}^* のもとでの分布関数の Kolmogorov 距離は、すべての NN で確率 11 で 1−1/e1 - 1/e 以上である。
証明(命題 7.5)

1. 値がすべて異なるとき、最大値を与える添字 i0i_0 はただ 1 つです。MN∗=MNM_N^* = M_N は、I1,…,INI_1, \ldots, I_N のうち少なくとも 1 つが i0i_0 であることと同値です。どれも i0i_0 でない確率は (1−1/N)N(1 - 1/N)^N です。ln⁡(1−u)≤−u\ln(1 - u) \le -u(0≤u<10 \le u < 1)から (1−1/N)N≤e−1(1 - 1/N)^N \le e^{-1} です。値がすべて異なる確率が 11 であることは、i≠ji \ne j について (Xi,Xj)(X_i, X_j) が正方形上の一様分布に従い、対角線の面積が 00 であることから分かります。

2. 0≤x≤Nθ0 \le x \le N\theta で P(N(θ−MN)>x)=P(Xi<θ−x/N ∀i)=(1−x/(Nθ))N\mathbb{P}(N(\theta - M_N) > x) = \mathbb{P}(X_i < \theta - x/N\ \forall i) = (1 - x/(N\theta))^N です。極限は (1−u/N)N→e−u(1 - u/N)^N \to e^{-u} によります。x=0x = 0 とすると P(N(θ−MN)>0)=1\mathbb{P}(N(\theta - M_N) > 0) = 1 です。

3. x=0x = 0 での 2 つの分布関数の値は、1 から P∗(N(MN−MN∗)≤0)=P∗(MN∗=MN)≥1−1/e\mathbb{P}^*(N(M_N - M_N^*) \le 0) = \mathbb{P}^*(M_N^* = M_N) \ge 1 - 1/e(MN∗≤MNM_N^* \le M_N に注意)、2 から P(N(θ−MN)≤0)=0\mathbb{P}(N(\theta - M_N) \le 0) = 0 です。差は 1−1/e1 - 1/e 以上です。

0.6320.2330.0860.0320.012最大 (j=0)j=1j=2j=3j=4確率
再標本の最大値が、元データの上から j+1 番目の値になる確率の極限 e^{-j}(1-e^{-1})。最大値と一致する確率 0.632 の山があり、真の分布(連続)とは形が違う。

真の分布(指数分布)は連続なのに、再標本化分布は 00 に確率 0.6320.632 の原子をもちます。平均とのちがいは、最大値が経験分布の「滑らかな汎関数」でないことです。平均は全データの寄与の和ですが、最大値は 1 個のデータで決まり、再標本にそのデータが入るかどうかで値が跳びます。端点・極値・分位点の端・しきい値を超える回数のような統計量にブートストラップを使うときは、この種の破綻を疑ってください。再標本の大きさを m≪Nm \ll N に減らす「NN 個から mm 個」のブートストラップはこの例を直しますが、mm の選び方という新しい問題が生じます(P. J. Bickel, D. A. Freedman, Ann. Statist. 9 (1981) に反例の一般論があります)。

Markov 連鎖 Monte Carlo では、連鎖を定常分布から始めることができません(それができるなら連鎖は要りません)。初期の標本は定常分布からずれています。

定義 8.1(熱化)↗

連鎖 X0,X1,…X_0, X_1, \ldots のはじめの n0n_0 個を捨て、Xn0,…,Xn0+N−1X_{n_0}, \ldots, X_{n_0+N-1} だけで時間平均を作ることを熱化(burn-in)といい、n0n_0 を熱化の長さという。

命題 8.2(初期分布による時間平均の偏り)✓

§2.2 の設定で絶対スペクトルギャップが γ∗>0\gamma_* > 0 とし、πmin⁡=min⁡xπ(x)\pi_{\min} = \min_x\pi(x) とする。初期分布を任意の ν\nu とした連鎖について、f:S→Rf : S \to \mathbb{R} と n0≥0n_0 \ge 0、N≥1N \ge 1 に対し

∣Eν[1N∑k=n0n0+N−1f(Xk)]−π(f)∣≤1πmin⁡−1  (1−γ∗)n0γ∗NVarπ(f).\Bigl|\mathbb{E}_\nu\Bigl[\frac1N\sum_{k=n_0}^{n_0+N-1}f(X_k)\Bigr] - \pi(f)\Bigr| \le \sqrt{\frac{1}{\pi_{\min}} - 1}\;\frac{(1-\gamma_*)^{n_0}}{\gamma_*N}\sqrt{\mathrm{Var}_\pi(f)}.
証明(命題 8.2)

f~=f−π(f)\tilde f = f - \pi(f)、h(x)=ν(x)/π(x)h(x) = \nu(x)/\pi(x) とおきます。Pν(Xk=y)=(νPk)(y)\mathbb{P}_\nu(X_k = y) = (\nu P^k)(y)(命題 2.3[Markov 連鎖と Poisson 過程])から

Eν[f(Xk)]−π(f)=∑xν(x)(Pkf~)(x)=⟨h,Pkf~⟩π\mathbb{E}_\nu[f(X_k)] - \pi(f) = \sum_x\nu(x)(P^k\tilde f)(x) = \langle h, P^k\tilde f\rangle_\pi

です。π\pi の定常性から π(Pkf~)=π(f~)=0\pi(P^k\tilde f) = \pi(\tilde f) = 0 なので ⟨1,Pkf~⟩π=0\langle 1, P^k\tilde f\rangle_\pi = 0 で、⟨h,Pkf~⟩π=⟨h−1,Pkf~⟩π\langle h, P^k\tilde f\rangle_\pi = \langle h - 1, P^k\tilde f\rangle_\pi です。内積の Cauchy–Schwarz の不等式(定理 4.2[内積空間とグラム・シュミット直交化])から

∣⟨h−1,Pkf~⟩π∣≤∥h−1∥π∥Pkf~∥π|\langle h - 1, P^k\tilde f\rangle_\pi| \le \|h - 1\|_\pi\|P^k\tilde f\|_\pi

です。補題 2.3 の展開 f~=∑j≥2⟨f~,φj⟩πφj\tilde f = \sum_{j\ge2}\langle\tilde f, \varphi_j\rangle_\pi\varphi_j から ∥Pkf~∥π2=∑j≥2λj2k⟨f~,φj⟩π2≤(1−γ∗)2k∥f~∥π2\|P^k\tilde f\|_\pi^2 = \sum_{j\ge2}\lambda_j^{2k}\langle\tilde f, \varphi_j\rangle_\pi^2 \le (1-\gamma_*)^{2k}\|\tilde f\|_\pi^2 です。また

∥h−1∥π2=∑xν(x)2π(x)−2∑xν(x)+1=∑xν(x)2π(x)−1≤1πmin⁡∑xν(x)−1=1πmin⁡−1\|h - 1\|_\pi^2 = \sum_x\frac{\nu(x)^2}{\pi(x)} - 2\sum_x\nu(x) + 1 = \sum_x\frac{\nu(x)^2}{\pi(x)} - 1 \le \frac{1}{\pi_{\min}}\sum_x\nu(x) - 1 = \frac{1}{\pi_{\min}} - 1

です(ν(x)2≤ν(x)\nu(x)^2 \le \nu(x))。k=n0,…,n0+N−1k = n_0, \ldots, n_0 + N - 1 について平均すると、∑k≥n0(1−γ∗)k=(1−γ∗)n0/γ∗\sum_{k\ge n_0}(1-\gamma_*)^k = (1-\gamma_*)^{n_0}/\gamma_* から結論を得ます。

熱化なし(n0=0n_0 = 0)でも偏りは O(1/(γ∗N))O(1/(\gamma_*N)) です。統計誤差は 2τintVarπ(f)/N\sqrt{2\tau_{\mathrm{int}}\mathrm{Var}_\pi(f)/N} で N−1/2N^{-1/2} の大きさなので、NN が緩和時間 1/γ∗1/\gamma_* より十分長ければ、初期分布の偏りは統計誤差より高次です。それでも熱化を行う理由は 2 つあります。第 1 に、係数 1/πmin⁡−1\sqrt{1/\pi_{\min} - 1} が巨大になりうること(初期配位が定常分布のもとで極端に珍しい場合)。n0n_0 を ln⁡(1/πmin⁡)/(2γ∗)\ln(1/\pi_{\min})/(2\gamma_*) の数倍に取れば因子 (1−γ∗)n0(1-\gamma_*)^{n_0} がこれを打ち消します。第 2 に、初期の過渡的な部分が分散の推定を汚すこと。平衡値から大きく外れた初期の値は、自己共分散やバッチ平均の分散の推定値を膨らませ、誤差棒と τint\tau_{\mathrm{int}} の推定を狂わせます。熱化は平均の偏りを消すためというより、誤差の推定を守るために行うものです。

捨てすぎにも代償があります。n0n_0 個捨てると統計誤差は (N+n0)/N\sqrt{(N + n_0)/N} 倍になります。緩和時間の 10〜20 倍を捨てれば上の因子は e−10e^{-10} 以下になるので、全長の半分を捨てるような習慣は、連鎖が緩和時間に比べて十分長い限り無駄です。

1 本の連鎖の内部だけを見ても、連鎖が状態空間の一部に閉じ込められていることは分かりません。初期値をばらつかせた複数の連鎖を比べるのが、Gelman と Rubin の診断です。

定義 8.3(Gelman–Rubin の統計量)↗

m≥2m \ge 2 本の連鎖のそれぞれから長さ n≥2n \ge 2 のデータ Aj,1,…,Aj,nA_{j,1}, \ldots, A_{j,n}(j=1,…,mj = 1, \ldots, m)を得たとする。連鎖ごとの平均 Aˉj\bar A_j、標本分散 sj2=(n−1)−1∑t(Aj,t−Aˉj)2s_j^2 = (n-1)^{-1}\sum_t(A_{j,t} - \bar A_j)^2、全体の平均 Aˉ=m−1∑jAˉj\bar A = m^{-1}\sum_j\bar A_j について

W=1m∑j=1msj2,Bn=1m−1∑j=1m(Aˉj−Aˉ)2,V^=n−1nW+Bn,R^=V^WW = \frac1m\sum_{j=1}^ms_j^2, \qquad \frac Bn = \frac{1}{m-1}\sum_{j=1}^m(\bar A_j - \bar A)^2, \qquad \hat V = \frac{n-1}{n}W + \frac Bn, \qquad \hat R = \sqrt{\frac{\hat V}{W}}

とおく。WW を連鎖内分散、B/nB/n を連鎖間分散、R^\hat R を Gelman–Rubin の統計量(potential scale reduction factor)という。

命題 8.4(R̂ の収束)✓

定義 8.3 で、定数 aa、a2a_2(σ2=a2−a2>0\sigma^2 = a_2 - a^2 > 0)があって、どの連鎖 jj についても確率 11 で

1n∑t=1nAj,t→a,1n∑t=1nAj,t2→a2(n→∞)\frac1n\sum_{t=1}^nA_{j,t} \to a, \qquad \frac1n\sum_{t=1}^nA_{j,t}^2 \to a_2 \qquad (n \to \infty)

が成り立つとする。このとき確率 11 で W→σ2W \to \sigma^2、B/n→0B/n \to 0、R^→1\hat R \to 1 である。

証明(命題 8.4)

sj2=nn−1(n−1∑tAj,t2−Aˉj2)s_j^2 = \frac{n}{n-1}\bigl(n^{-1}\sum_tA_{j,t}^2 - \bar A_j^2\bigr) なので、仮定から確率 11 で sj2→a2−a2=σ2s_j^2 \to a_2 - a^2 = \sigma^2 です。有限個の jj についての平均 WW も σ2\sigma^2 に収束します。Aˉj→a\bar A_j \to a がすべての jj で成り立つので Aˉ→a\bar A \to a、B/n=(m−1)−1∑j(Aˉj−Aˉ)2→0B/n = (m-1)^{-1}\sum_j(\bar A_j - \bar A)^2 \to 0 です。よって V^→σ2\hat V \to \sigma^2 で、σ2>0\sigma^2 > 0 から R^2=V^/W→1\hat R^2 = \hat V/W \to 1 です。

有限・既約な連鎖では、任意の初期分布について時間平均が π(f)\pi(f) に概収束するので(Markov 連鎖 Monte Carlo の章のエルゴード定理 定理 3.2[Markov 連鎖 Monte Carlo] を ff と f2f^2 に使います)、仮定は a=π(f)a = \pi(f)、a2=π(f2)a_2 = \pi(f^2) で満たされます。V^\hat V は、連鎖内分散と連鎖間分散を足して全体の分散 Varπ(f)\mathrm{Var}_\pi(f) を見積もったものです。連鎖が別々の領域に留まっていると、WW は領域内の分散しか見ないので小さく、B/nB/n は領域間の差で大きくなり、R^>1\hat R > 1 になります。実務では R^<1.01\hat R < 1.01 程度を目安にします。

ただし逆は成り立ちません。

例 8.5(R̂ ≈ 1 でも収束していない例)

S={1,2,3,4}S = \{1, 2, 3, 4\} とし、{1,2}\{1, 2\} の中と {3,4}\{3, 4\} の中でそれぞれ確率 1/21/2 ずつで動き、2 つの組の間は行き来しない遷移行列 PP を考えます。一様分布 π\pi は PP について可逆な定常分布で、f(x)=xf(x) = x の平均は π(f)=2.5\pi(f) = 2.5 です。すべての連鎖を {1,2}\{1, 2\} の中から始めると、各連鎖の f(Xt)f(X_t) は 11 と 22 を確率 1/21/2 で取る独立な列で、大数の強法則から時間平均は 1.51.5、2 乗の時間平均は 2.52.5 に概収束します。命題 8.4 の仮定が a=1.5a = 1.5、σ2=0.25\sigma^2 = 0.25 で満たされるので R^→1\hat R \to 1 ですが、時間平均は π(f)=2.5\pi(f) = 2.5 に収束していません。

この PP は既約でない極端な例です。2 つの組の間を確率 ε\varepsilon で行き来するように直すと既約になりますが、1/ε1/\varepsilon より短い計算では上と同じことが起きます。2 つの山をもつ分布で、すべての連鎖を同じ山から始めた場合がこれに当たります。R^\hat R は「連鎖どうしが食い違っている」ことを検出する道具で、「どの連鎖も見ていない領域がある」ことは検出できません。初期値を目標分布より広くばらつかせることが、この診断の前提です。

コードは Python 3.9.6・NumPy 2.0.2・SciPy 1.13.1 で実行し、出力をそのまま載せています。乱数は numpy.random.default_rng(20261008) です。

例 5.4 の過程(ϱ=0.9\varrho = 0.9、τint=9.5\tau_{\mathrm{int}} = 9.5)を N=105N = 10^5 で作り、窓つき推定量(W=20,50,200,1000W = 20, 50, 200, 1000)、初期正値列、バッチ平均(b=16,…,4096b = 16, \ldots, 4096)を比べます。独立な 100 本について繰り返し、推定量の平均とばらつきを見ます。

import numpy as np
from scipy.signal import lfilter
def ar1(rng, n, rho):
# 定常な AR(1): x_{t+1} = rho x_t + sqrt(1-rho^2) z_t, 分散 1
z = rng.standard_normal(n)
z[1:] *= np.sqrt(1.0 - rho * rho)
return lfilter([1.0], [1.0, -rho], z)
def autocov(x, tmax):
n = len(x)
d = x - x.mean()
f = np.fft.rfft(d, 2 * n)
g = np.fft.irfft(f * np.conj(f))[: tmax + 1]
return g / (n - np.arange(tmax + 1))
def tau_window(g, w):
return 0.5 + g[1 : w + 1].sum() / g[0]
def tau_ips(g):
# 初期正値列: G_k = g(2k) + g(2k+1) が正である間だけ足す
s = 0.0
for k in range(len(g) // 2):
pair = g[2 * k] + g[2 * k + 1]
if pair <= 0.0:
break
s += pair
return s / g[0] - 0.5
def tau_batch(x, b):
k = len(x) // b
y = x[: k * b].reshape(k, b).mean(axis=1)
return b * y.var(ddof=1) / (2.0 * x.var(ddof=1))
rho, n, reps = 0.9, 100_000, 100
rng = np.random.default_rng(20261008)
names = ["W=20", "W=50", "W=200", "W=1000", "IPS"] + [f"b={b}" for b in (16, 64, 256, 1024, 4096)]
out = np.empty((reps, len(names)))
naive = np.empty(reps); means = np.empty(reps)
for r in range(reps):
x = ar1(rng, n, rho)
g = autocov(x, 2000)
row = [tau_window(g, w) for w in (20, 50, 200, 1000)] + [tau_ips(g)]
row += [tau_batch(x, b) for b in (16, 64, 256, 1024, 4096)]
out[r] = row
means[r] = x.mean(); naive[r] = x.std(ddof=1) / np.sqrt(n)
print("true tau_int = 9.5")
for j, name in enumerate(names):
print(f"{name:>7s} first={out[0, j]:7.3f} mean={out[:, j].mean():7.3f} sd={out[:, j].std(ddof=1):6.3f}")
print(f"sd of sample means = {means.std(ddof=1):.5f}")
print(f"mean naive std. error = {naive.mean():.5f}")
print(f"ratio = {means.std(ddof=1) / naive.mean():.3f}, sqrt(2 tau) = {np.sqrt(19.0):.3f}")
true tau_int = 9.5
W=20 first= 8.174 mean= 8.401 sd= 0.117
W=50 first= 9.164 mean= 9.477 sd= 0.328
W=200 first= 9.030 mean= 9.579 sd= 0.779
W=1000 first= 7.470 mean= 9.508 sd= 1.931
IPS first= 9.183 mean= 9.661 sd= 0.471
b=16 first= 4.874 mean= 4.918 sd= 0.038
b=64 first= 7.777 mean= 8.097 sd= 0.215
b=256 first= 8.714 mean= 9.254 sd= 0.592
b=1024 first= 8.695 mean= 9.406 sd= 1.389
b=4096 first= 4.558 mean= 9.299 sd= 3.248
sd of sample means = 0.01437
mean naive std. error = 0.00316
ratio = 4.541, sqrt(2 tau) = 4.359

first は 1 本目の値、mean と sd は 100 本の平均と標準偏差です(mean の標準誤差は sd の 1/101/10)。

  • 窓の偏り。W=20W = 20 の平均 8.4018.401 は、命題 4.1 の予言 9.5−1.094=8.4069.5 - 1.094 = 8.406 と標準誤差 0.0120.012 の範囲で一致します。W≥50W \ge 50 では裾 0.9W+1/0.10.9^{W+1}/0.1 が 0.050.05 以下で、偏りは見えません。
  • 窓の分散。Madras–Sokal の公式(注意 4.2)の τint2(2W+1)/N\tau_{\mathrm{int}}\sqrt{2(2W+1)/N} は W=200W = 200 で 0.850.85、W=1000W = 1000 で 1.901.90 で、実測の 0.780.78、1.931.93 と合います。W=1000W = 1000 では 1 本の推定値が 7.477.47 と、真値から 22 以上ずれています。窓を大きく取りすぎた代償です。
  • 初期正値列は窓を自動で選び、ばらつき 0.470.47 は W=50W = 50 と W=200W = 200 の間です。平均 9.669.66 は真値より標準誤差の 3.43.4 倍だけ大きく、小さな正の偏りが見えます(対の和が正である限り足し続ける規則なので、裾の正の雑音が負の雑音より多く和に入るためと考えられます)。
  • バッチ平均。b=16,64b = 16, 64 の平均は 例 5.4 の式の値 4.9174.917、8.0958.095 と一致し、偏りが 1/b1/b で減っています。b=4096b = 4096 ではバッチが 2424 個しかなく、ばらつきが 3.23.2 で、1 本目の値 4.564.56 は真値の半分以下です(定理 5.2 の 3 と同じく、バッチ数が少ないことによるばらつきです)。
  • 相関を無視した標準誤差は 0.003160.00316 で、標本平均の実際のばらつき 0.014370.01437(100 本からの推定なので相対誤差は約 7%7\%)の 1/4.51/4.5 です。理論値は 1/2τint=1/4.361/\sqrt{2\tau_{\mathrm{int}}} = 1/4.36 です。

Y∼U(0.2,1.8)Y \sim \mathrm U(0.2, 1.8)、X=Y+VX = Y + V(V∼U(0,1)V \sim \mathrm U(0,1) は YY と独立)とします。μx=1.5\mu_x = 1.5、μy=1\mu_y = 1、r=1.5r = 1.5、σy2=σxy=1.62/12\sigma_y^2 = \sigma_{xy} = 1.6^2/12 で、命題 6.6 の係数は c1=0.5σy2=0.1067c_1 = 0.5\sigma_y^2 = 0.1067 です。D=(V−1/2)−(Y−1)/2D = (V - 1/2) - (Y - 1)/2、Z=Y−1Z = Y - 1 から a1=−σy2/2a_1 = -\sigma_y^2/2、a2=−E[(Y−1)3]/2=0a_2 = -\mathbb{E}[(Y-1)^3]/2 = 0 で、c2=−3a1s2=1.5σy4=0.0683c_2 = -3a_1s^2 = 1.5\sigma_y^4 = 0.0683 です。

import numpy as np
rng = np.random.default_rng(20261008)
s2 = 1.6**2 / 12 # Var(Y), Y ~ U(0.2, 1.8), mu_y = 1
c1 = 1.5 * s2 - s2 # mu_x s_y^2/mu_y^3 - s_xy/mu_y^2
c2 = 3 * (0.5 * s2) * s2 # (a_2 - 3 a_1 s^2)/mu_y, a_1 = -s2/2, a_2 = 0
reps, chunk = 16_000_000, 200_000
print(" N bias(ratio) +-se c1/N c1/N+c2/N^2 bias(jack) +-se -c2/(N(N-1))")
for n in (20, 40, 80):
plain, jack = [], []
for _ in range(reps // chunk):
y = rng.uniform(0.2, 1.8, size=(chunk, n))
x = y + rng.uniform(0.0, 1.0, size=(chunk, n))
sx, sy = x.sum(axis=1, keepdims=True), y.sum(axis=1, keepdims=True)
r = (sx / sy)[:, 0]
loo = ((sx - x) / (sy - y)).mean(axis=1)
plain.append(r - 1.5)
jack.append(n * r - (n - 1) * loo - 1.5)
p, j = np.concatenate(plain), np.concatenate(jack)
se = lambda v: v.std(ddof=1) / np.sqrt(len(v))
print(f"{n:4d} {p.mean():.6f} {se(p):.6f} {c1 / n:.6f} {c1 / n + c2 / n**2:.6f} "
f"{j.mean():+.6f} {se(j):.6f} {-c2 / (n * (n - 1)):+.6f}")
N bias(ratio) +-se c1/N c1/N+c2/N^2 bias(jack) +-se -c2/(N(N-1))
20 0.005476 0.000021 0.005333 0.005504 -0.000226 0.000021 -0.000180
40 0.002717 0.000015 0.002667 0.002709 -0.000038 0.000015 -0.000044
80 0.001351 0.000010 0.001333 0.001344 -0.000004 0.000010 -0.000011

比の偏りは c1/N+c2/N2c_1/N + c_2/N^2 と標準誤差の −1.3-1.3、+0.5+0.5、+0.7+0.7 倍の差で一致し、NN を 2 倍にすると半分になっています。ジャックナイフ補正後の偏りは 1/201/20 以下に減り、予言 −c2/(N(N−1))-c_2/(N(N-1)) との差は標準誤差の −2.2-2.2、+0.4+0.4、+0.7+0.7 倍です(N=20N = 20 では、ここで落とした O(N−3)O(N^{-3}) の項が 10−510^{-5} の大きさで残ります)。

9.3. ブートストラップの区間の被覆率

Section titled “9.3. ブートストラップの区間の被覆率”

指数分布の平均(真値 11)と、一様分布 U(0,1)\mathrm U(0,1) の最大値(真値 θ=1\theta = 1)について、§7.2 の作り方の 95%95\% 区間 [2θ^−q0.975∗,2θ^−q0.025∗][2\hat\theta - q_{0.975}^*, 2\hat\theta - q_{0.025}^*] が真値を含む割合を、2000 回の反復で求めます(再標本は 1000 組)。

import numpy as np
rng = np.random.default_rng(20261008)
nboot, reps = 1000, 2000
q = lambda v: np.quantile(v, [0.025, 0.975], method="inverted_cdf")
print(" N cover(mean) +-se cover(max) +-se P*(M*=M_N) 1-(1-1/N)^N")
for n in (50, 200, 800):
hit_mean = hit_max = 0
atom = 0.0
for _ in range(reps):
idx = rng.integers(0, n, size=(nboot, n))
# 平均: 指数分布 Exp(1)(真値 1)。区間 [2m - q_hi, 2m - q_lo]
x = rng.exponential(1.0, n)
m = x.mean()
lo, hi = q(x[idx].mean(axis=1))
hit_mean += (2 * m - hi <= 1.0 <= 2 * m - lo)
# 最大値: U(0,1)(真値 theta = 1)。同じ作り方の区間
u = rng.uniform(0.0, 1.0, n)
mx = u.max()
bm = u[idx].max(axis=1)
lo, hi = q(bm)
hit_max += (2 * mx - hi <= 1.0 <= 2 * mx - lo)
atom += np.mean(bm == mx)
p1, p2 = hit_mean / reps, hit_max / reps
se = lambda p: np.sqrt(p * (1 - p) / reps)
print(f"{n:4d} {p1:.4f} {se(p1):.4f} {p2:.4f} {se(p2):.4f} {atom / reps:.4f} {1 - (1 - 1 / n) ** n:.4f}")
N cover(mean) +-se cover(max) +-se P*(M*=M_N) 1-(1-1/N)^N
50 0.9145 0.0063 0.8705 0.0075 0.6358 0.6358
200 0.9395 0.0053 0.8810 0.0072 0.6326 0.6330
800 0.9455 0.0051 0.8715 0.0075 0.6324 0.6324

平均の被覆率は NN とともに 0.950.95 に近づきます(定理 7.3。N=50N = 50 での不足は、指数分布の歪みによる O(N−1/2)O(N^{-1/2}) の誤差です)。最大値の被覆率は NN を増やしても 0.870.87 付近から動きません。再標本の最大値が標本の最大値に一致する割合は 命題 7.5 の 1−(1−1/N)N1 - (1 - 1/N)^N に一致しています。0.870.87 という値も説明できます。P∗(MN∗≤X(N−j))=(1−j/N)N≈e−j\mathbb{P}^*(M_N^* \le X_{(N-j)}) = (1 - j/N)^N \approx e^{-j} で、e−3≈0.050≥0.025>e−4e^{-3} \approx 0.050 \ge 0.025 > e^{-4} なので下側の分位点は上から 4 番目の値 X(N−3)X_{(N-3)} です。区間が θ\theta を含む条件は θ−MN≤MN−X(N−3)\theta - M_N \le M_N - X_{(N-3)} で、NN 倍すると左辺は平均 11 の指数分布、右辺はそれと独立な 3 個の指数分布の和に近づくので、確率は 1−2−3=0.8751 - 2^{-3} = 0.875 に近づきます。名目の 0.950.95 にはなりません。

演習 10.1標準

例 5.4 の AR(1) 過程(0<ϱ<10 < \varrho < 1)について、σ∞2−b Var(Y1)=2ϱ(1−ϱb)b(1−ϱ)2\sigma_\infty^2 - b\,\mathrm{Var}(Y_1) = \dfrac{2\varrho(1 - \varrho^b)}{b(1-\varrho)^2} を示し、定理 5.2 の上界 2C1/b2C_1/b と比べよ。

解答

定理 5.2 の証明の等式から、Γ(t)=ϱ∣t∣\Gamma(t) = \varrho^{|t|} として

σ∞2−b Var(Y1)=2∑t≥bϱt+2b∑t=1b−1tϱt\sigma_\infty^2 - b\,\mathrm{Var}(Y_1) = 2\sum_{t\ge b}\varrho^t + \frac2b\sum_{t=1}^{b-1}t\varrho^t

です。∑t≥bϱt=ϱb/(1−ϱ)\sum_{t\ge b}\varrho^t = \varrho^b/(1-\varrho)。また ∑t=1b−1tϱt=ϱddϱ∑t=0b−1ϱt=ϱ 1−bϱb−1+(b−1)ϱb(1−ϱ)2\sum_{t=1}^{b-1}t\varrho^t = \varrho\frac{d}{d\varrho}\sum_{t=0}^{b-1}\varrho^t = \varrho\,\dfrac{1 - b\varrho^{b-1} + (b-1)\varrho^b}{(1-\varrho)^2} です。通分すると

2bϱb(1−ϱ)+2ϱ−2bϱb+2(b−1)ϱb+1b(1−ϱ)2=2ϱ−2ϱb+1b(1−ϱ)2\frac{2b\varrho^b(1-\varrho) + 2\varrho - 2b\varrho^b + 2(b-1)\varrho^{b+1}}{b(1-\varrho)^2} = \frac{2\varrho - 2\varrho^{b+1}}{b(1-\varrho)^2}

です(ϱb\varrho^b の項は 2b−2b=02b - 2b = 0、ϱb+1\varrho^{b+1} の項は −2b+2(b−1)=−2-2b + 2(b-1) = -2)。上界は 2C1/b=2ϱ/(b(1−ϱ)2)2C_1/b = 2\varrho/(b(1-\varrho)^2) で、厳密な値はその (1−ϱb)(1 - \varrho^b) 倍です。b→∞b \to \infty で上界は等号に近づき、O(1/b)O(1/b) という次数は改良できません。

演習 10.2易

θ^=XˉN\hat\theta = \bar X_N(g(x)=xg(x) = x)のとき、vJ=sN2/Nv_{\mathrm J} = s_N^2/N、θ^J=XˉN\hat\theta_{\mathrm J} = \bar X_N を示せ。

解答

定理 6.3 の証明の記号で θ^(i)=XˉN+Δi\hat\theta_{(i)} = \bar X_N + \Delta_i、∑iΔi=0\sum_i\Delta_i = 0 なので θˉ(⋅)=XˉN\bar\theta_{(\cdot)} = \bar X_N です。よって θ^J=NXˉN−(N−1)XˉN=XˉN\hat\theta_{\mathrm J} = N\bar X_N - (N-1)\bar X_N = \bar X_N。分散は

vJ=N−1N∑iΔi2=N−1N⋅∑i(Xi−XˉN)2(N−1)2=sN2Nv_{\mathrm J} = \frac{N-1}{N}\sum_i\Delta_i^2 = \frac{N-1}{N}\cdot\frac{\sum_i(X_i - \bar X_N)^2}{(N-1)^2} = \frac{s_N^2}{N}

で、独立な標本の平均の分散の不偏推定量に一致します。係数 (N−1)/N(N-1)/N はこの一致が成り立つように選ばれています。

演習 10.3標準

命題 7.5 の設定で、値がすべて異なるとき、再標本の最大値が上から j+1j+1 番目の値 X(N−j)X_{(N-j)} に等しい確率を求め、N→∞N \to \infty の極限を求めよ(j≥0j \ge 0 は固定)。

解答

MN∗≤X(N−j)M_N^* \le X_{(N-j)} は、すべての IkI_k が上位 jj 個以外の N−jN - j 個の添字のどれかであることと同値なので、確率は (1−j/N)N(1 - j/N)^N です。したがって

P∗(MN∗=X(N−j))=(1−jN)N−(1−j+1N)N→e−j−e−(j+1)=e−j(1−e−1)\mathbb{P}^*(M_N^* = X_{(N-j)}) = \Bigl(1 - \frac jN\Bigr)^N - \Bigl(1 - \frac{j+1}{N}\Bigr)^N \to e^{-j} - e^{-(j+1)} = e^{-j}(1 - e^{-1})

です。再標本化分布は、上位の順序統計量の上に幾何分布の重み (1−e−1)e−j(1 - e^{-1})e^{-j} を置いた離散分布に近づきます。j=0j = 0 が命題の 1−1/e1 - 1/e です。真の分布(連続)とは形が違い、どれだけ NN を増やしても近づきません。

演習 10.4標準

例 3.2 の 2 状態の連鎖(0<a≤1/20 < a \le 1/2)を状態 11 から始め、f=φ2=(1,−1)f = \varphi_2 = (1, -1) とする。熱化なしの時間平均 N−1∑k=0N−1f(Xk)N^{-1}\sum_{k=0}^{N-1}f(X_k) の偏りを厳密に求め、命題 8.2 の上界と比べよ。

解答

ν=δ1\nu = \delta_1 で Eν[f(Xk)]=(Pkf)(1)=λ2kf(1)=(1−2a)k\mathbb{E}_\nu[f(X_k)] = (P^kf)(1) = \lambda_2^kf(1) = (1-2a)^k、π(f)=0\pi(f) = 0 です。偏りは

1N∑k=0N−1(1−2a)k=1−(1−2a)N2aN\frac1N\sum_{k=0}^{N-1}(1-2a)^k = \frac{1 - (1-2a)^N}{2aN}

です。上界は、πmin⁡=1/2\pi_{\min} = 1/2 から 1/πmin⁡−1=1\sqrt{1/\pi_{\min} - 1} = 1、Varπ(f)=1\mathrm{Var}_\pi(f) = 1、γ∗=1−∣1−2a∣=2a\gamma_* = 1 - |1 - 2a| = 2a なので 1/(2aN)1/(2aN) です。厳密な値はその (1−(1−2a)N)(1 - (1-2a)^N) 倍で、N≫1/aN \gg 1/a では上界がほぼ等号になります。統計誤差は 2τint/N=(1−a)/(aN)\sqrt{2\tau_{\mathrm{int}}/N} = \sqrt{(1-a)/(aN)} なので、偏りと統計誤差の比は 1/(2a(1−a)N)1/(2\sqrt{a(1-a)N}) で、NN が緩和時間 1/(2a)1/(2a) より十分大きければ偏りは無視できます。

  1. C. J. Geyer, “Practical Markov chain Monte Carlo”, Statistical Science 7 (1992), 473–483 — 可逆な連鎖の自己共分散の対の和の正値性・単調性・凸性と、初期正値列。
  2. N. Madras, A. D. Sokal, “The pivot algorithm: a highly efficient Monte Carlo method for the self-avoiding walk”, Journal of Statistical Physics 50 (1988), 109–186 — 付録に窓つき推定量の分散の公式と窓の選び方。
  3. U. Wolff, “Monte Carlo errors with less errors”, Computer Physics Communications 156 (2004), 143–153 — Γ 法と自動窓。arXiv:hep-lat/0306017
  4. J. M. Flegal, G. L. Jones, “Batch means and spectral variance estimators in Markov chain Monte Carlo”, The Annals of Statistics 38 (2010), 1034–1070 — バッチ平均推定量の一致性の条件とバッチ長。
  5. J. Shao, D. Tu, The Jackknife and Bootstrap, Springer, 1995 — ジャックナイフ分散推定量の一致性と中央値での不一致、ブートストラップの一致性と反例。
  6. A. Gelman, D. B. Rubin, “Inference from iterative simulation using multiple sequences”, Statistical Science 7 (1992), 457–472 — 複数の連鎖による収束の診断。

このテーマの 100 本ノック(50 問)

執筆: Claude Code(Opus 5.5)、Claude Code(Sonnet 5.5)・監査 2 回(Claude Code)・最終 2026-10-12

この記事の誤りを報告する ・運営: 夢現技研合同会社 ・料金 ・利用条件 ・特定商取引法に基づく表記

© 2026 夢現技研合同会社 ・コード例は MIT ライセンスです。