区間推定:信頼区間は「作り方」に付いている数字だった【第11回】

はじめに

第9章の区間推定です。前回(第10回・点推定)の最後で、フィッシャー情報量から θ^±1.96SE\hat\theta \pm 1.96\,\mathrm{SE} という形が出てくるところまで来ました。今回はその「±\pm」の側を正面から扱います。

学習を始める前は、この章を軽く見ていました。xˉ±1.96σ/n\bar{x} \pm 1.96\,\sigma/\sqrt{n} という式は連載の第8回から何度も出てきていて、新しく覚えることは母分散の区間の公式くらいだろうと思っていたのです。

実際に手を動かしてみると、覚えることは公式ではなく手順が1つだけでした。 そして自分が誤解していたことが2つ見つかりました。

1つは 「95%」がどこに付いている数字なのかです。「真の値が95%の確率でこの区間に入る」という言い方が誤りだというのは知っていましたが、なぜ区別が実質的に重要なのかは分かっていませんでした。区別しないと実際に間違える例を作ってみたら、はっきりしました。

もう1つは標本サイズ設計です。「必要な精度から nn を逆算する」だけの話だと思っていたら、素朴に逆算した nn では差を見つけられる確率が50%しかないことが実測で出ました。そして自分のブログの実測PVを入れてみたら、A/Bテストに5.8年かかるという答えが返ってきました。これは今回いちばん実用的だった計算です。

なお筆者は統計の専門家ではありません。理解の誤りが含まれる可能性があるため、試験対策として読む場合は必ず公式テキストで確認してください。

TL;DR

  • 区間の公式は4つあるように見えて、手順は1つしかない。ピボット量に挟んでパラメータについて解く(反転)だけ
  • 信頼係数は作り方に付いている数字で、手元の1本の区間に付いている数字ではない。一様分布で作った反例では、同じ「50%の手続き」から必ず当たる区間と33%しか当たらない区間の両方が出てくる
  • 「母分散が既知」は非現実的な仮定に見えるが、比率や件数では分散が平均で決まるのでごく普通の状況。だから母比率の区間では tt 分布の出番がない(ただし「厳密に95%」にはならない)
  • 2本の区間の重なりで差を判断してはいけない。足せるのは分散だけで、差の区間の半幅は2本の半幅を素朴に足した値の 1/21/\sqrt{2}(個別の半幅そのものと比べれば 2\sqrt{2} 倍)
  • 平均の差はウェルチを既定にする。等分散が真のときの損は幅で0.2%、外れたときの事故は被覆率 0.950.6490.95 \to 0.649
  • 精度設計(半幅を Δ\Delta にする)の検出力はちょうど50%。 検出力80%にするには常に2.04倍の nn が必要
  • 月31PVのブログでA/Bテストをやると、いちばん条件のいい場合でも70ヶ月かかる。閾値は月5,000PV
  • 比率の p^±1.96SE\hat{p} \pm 1.96\,\mathrm{SE}nn が小さいと壊れる(被覆率0.639)。原因はSEに p^\hat{p} を入れていることで、反転して作り直すと直る(ウィルソン区間)
  • 公式がない量にはブートストラップ。ただし小標本では狭すぎ、最大値には原理的に効かない

点推定値が同じでも、結論が正反対になる

なぜ区間で答えるのか。点推定は「どれくらい信じてよいか」の情報を捨てているからです。これは抽象的な言い方に聞こえますが、具体例にすると露骨です。

左は点推定値52を中心とした3本の信頼区間。n=10は±6.20、n=100は±1.96、n=1000は±0.62で、帰無値50を示す縦破線をn=10の区間だけが含む。右はn=10とn=100の標本平均のヒストグラムで、n=10の方が大きく広がっている

あるテストの平均点を調べて、3回とも 52点 という同じ結果が出たとします。ただし調べた人数だけが違う。合格ラインは50点です。

nn標準誤差 σ/n\sigma/\sqrt{n}95%区間の半幅区間50を含むか
103.16236.1980[45.80, 58.20]含む
1001.00001.9600[50.04, 53.96]含まない
10000.31620.6198[51.38, 52.62]含まない

過去のデータから σ=10\sigma = 10 点が既知だとして計算しました。点推定値は3ケースすべて 52.0 に固定しています。

同じ「52点」から、「50点かもしれない」と「50点ではない」という正反対の結論が出ます。 n=10n=10 の区間は 50 を含むので合格ラインを割っている可能性を否定できませんが、n=100n=100 以上では否定できる。点推定値だけを報告すると、この違いが完全に消えます。

右の図が示しているのは、そもそも点推定値そのものが標本ごとに動くという事実です(第8回)。1回の調査で出た 52 は、この分布から引いた1個にすぎません。区間推定は、その「引いた1個からどこまで言えるか」を答える道具です。

信頼区間は「1枚の帯を縦に切ったもの」

区間推定は何をしているのか。定義を数式で書く前に、定義そのものを図にすると1枚で終わります。

左のグラフは横軸が標本平均、縦軸が母平均の候補。斜めに走る青い帯は各母平均に対して標本平均が入る95%の範囲を表す。観測した標本平均52の位置に赤い縦線が引かれ、帯と交差する母平均の範囲48.08から55.92が赤い太線で示され、これが信頼区間だと注記されている。帯の中には母平均46、52、58に対する標本平均の分布が3本描かれ、46と58は52と矛盾する、52は矛盾しないと注記されている。右のグラフは同じ帯を真の母平均50の位置で水平に切ったもので、標本平均の分布が現れることを示している

横軸が「観測されうる標本平均」、縦軸が「母平均の候補」です。斜めに走る帯は、μ\mu に対して標本平均が95%の確率で落ちる範囲、つまり μ±1.96σ/n\mu \pm 1.96\,\sigma/\sqrt{n} を縦に積み上げたものです。

この1枚の帯は、切る向きで2つの話になります。

横に切ると、μ\mu を固定して標本平均を見ることになります。これは第8回でやった「標本平均の分布」です。縦に切ると、観測した標本平均を固定して μ\mu を見ることになります。こちらが信頼区間です。

つまり信頼区間は、観測値と矛盾しない μ\mu を全部集めた集合です。μ=46\mu = 46 なら 52 という値はめったに出ないので候補から外れ、μ=52\mu = 52 は矛盾しないので残る。境界がちょうど [48.08,55.92][48.08, 55.92] になります(σ=10\sigma = 10n=25n = 25 なので σ/n=2.0\sigma/\sqrt{n} = 2.0、半幅は 1.96×2.0=3.921.96 \times 2.0 = 3.92)。

この「縦に切る」操作を反転(inversion) と呼びます。そして縦に切った結果が「棄却されない帰無仮説の集合」になっているので、信頼区間と検定は同じ帯の別の切り方だということになります。これが双対性です。次回の検定の章がこの帯の横切りの話になるので、ここで絵を持っておくと得をします。

「真の値が95%の確率で入る」が誤りである、実害のある理由

第8回で被覆率を測って「動いているのは区間の側」と確認しました。ただしそのときは、なぜその区別が実質的に重要なのかまで踏み込んでいませんでした。「言葉づかいの細かい話でしょ」と思えてしまうのが最大の罠なので、区別しないと実際に間違える例を作りました。

左のグラフは一様分布から2個取って作った被覆率50%の区間14本を幅の順に並べたもの。真のθを示す縦破線に対し、幅が0.5を超える4本は緑で描かれ必ずθを含んでいる。幅が0.5以下の10本は青と赤で描かれ、θを含むものと含まないものが混在している。右は95%がいつの話なのかを示す概念図で、データを取る前は区間がランダムで確率0.95の文が正しいが、取った後は区間が確定するので確率は0か1になると対比されている

左が決定的な反例です。 一様分布 U(θ1/2, θ+1/2)U(\theta - 1/2,\ \theta + 1/2) から2個だけ観測して、区間を(最小値, 最大値)とします。この手続きの被覆率はちょうど50%です。

ところが幅が 0.5 を超えた区間は、100%の確率で必ず θ\theta を含みます。 2点の間隔が 0.5 を超えているなら、その間に θ\theta が入らないことは幾何的にありえないからです。一方、幅が 0.5 以下の区間の被覆率は 1/31/3 しかありません。

条件起こる割合(400万回)その条件での被覆率理論値
全体1.000000.500651/21/2
幅 > 0.50.250231.0000011
幅 ≤ 0.50.749770.334001/31/3

「50%」は、手元の1本の区間について何も言っていません。 手元の区間について言えるのは 100% か 33% のどちらかです。

つまり信頼係数は手続きに付いている数字で、目の前の1本の区間に付いている数字ではない。だから次のようになります。

  • 誤り:「真の μ\mu がこの区間 [48.08,55.92][48.08, 55.92] に入る確率は95%」 — μ\mu は定数、区間も観測後は確定した定数です。この確率は 0 か 1 しかなく、95% になる余地がありません
  • 正しい:「この作り方で区間を作ることを繰り返せば、そのうち95%が真の値を含む」
  • 正しい:「区間 [48.08,55.92][48.08, 55.92] は、信頼係数95%の手続きで得られた区間である」

では「真の値が入る確率」を言いたいときはどうするのか。 それはベイズの信用区間(credible interval) です。θ\theta に事前分布を置いて θ\theta を確率変数にしてしまえば、P(θ[a,b]データ)=0.95P(\theta \in [a, b] \mid \text{データ}) = 0.95 と堂々と言えます。連載第2回で扱った事後分布そのものの区間です。

つまり「真の値が95%の確率で入る」という言い方は、間違った日本語ではなく、別の流派(ベイズ)の正しい言明を頻度論の道具に貼り付けてしまっているのが問題です。だから直感的で、だからみんな間違えるのだと思いました。

ひとつ補足すると、正規分布の場合には、この誤解が実害を出さずに生き延びます。 σ\sigma 既知の正規モデルでは区間の幅が常に 1.96σ/n1.96\,\sigma/\sqrt{n} で固定なので、上の一様分布のように「幅を見れば確度が分かる」という現象が起きません。幅から追加情報が取れないので、「95%」を1本の区間の性質だと思っても事故らない。一様分布の例は、その安心が一般には成り立たないことを示しています。

公式は4つではなく、手順が1つ

ここが今回いちばん報われた部分です。母平均の区間、母分散の区間、母比率の区間は別々の公式ではなく、同じ4ステップの出力でした。

上段に4つのステップの箱が横に並ぶ概念図。STEP1はピボット量を見つける、STEP2はその分布の分位点を取る、STEP3は不等式に挟む、STEP4はパラメータについて解く。下段の表には母平均σ既知、母平均σ未知、母分散、母比率の4行があり、それぞれのピボット量、その分布、解いた結果の信頼区間の式が並んでいる

  1. ピボット量を見つける — パラメータを含むのに、分布がパラメータに依存しない量
  2. その分布の分位点を取るzzttχ2\chi^2FF
  3. 不等式に挟む — 「その量が2つの分位点の間に入る確率が95%」と書く
  4. パラメータについて解く — 不等式を変形して、パラメータを真ん中に出す

STEP 3〜4 は完全に同じ操作で、違うのは STEP 1〜2 の中身だけです。ピボット量については第7回で扱っていますが、区間推定という手法そのものがピボット量の上に立っているというのが今回はっきりしました。

n=10n = 10 のデータ(52.1, 48.3, 55.0, 49.8, 51.2, 53.4, 47.6, 50.9, 54.2, 50.5、標本平均 51.3000、不偏分散 5.8778、s=2.4244s = 2.4244)で4つ全部やってみます。

推定対象使う分位点95%信頼区間
母平均 μ\muσ=2.5\sigma = 2.5 既知)z=1.959964z = 1.959964[49.7505, 52.8495]3.0990
母平均 μ\muσ\sigma 未知)t(9)=2.262157t(9) = 2.262157[49.5657, 53.0343]3.4686
母分散 σ2\sigma^2χ2(9)=2.7004/19.0228\chi^2(9) = 2.7004 / 19.0228[2.7809, 19.5898]上端は下端の 7.04倍
母標準偏差 σ\sigma上の平方根[1.6676, 4.4260]2.65倍

母分散の区間で必ずつまずくのは、分位点の大小が入れ替わるところです。(n1)s2/σ2(n-1)s^2/\sigma^2 が大きいほど σ2\sigma^2小さいので、区間の下端に χ2\chi^2 の97.5%点上端に χ2\chi^2 の2.5%点が来ます。

σ2の下端=(n1)s2χ0.9752=9×5.877819.0228=2.7809\sigma^2 \text{の下端} = \frac{(n-1)s^2}{\chi^2_{0.975}} = \frac{9 \times 5.8778}{19.0228} = 2.7809 σ2の上端=(n1)s2χ0.0252=9×5.87782.7004=19.5898\sigma^2 \text{の上端} = \frac{(n-1)s^2}{\chi^2_{0.025}} = \frac{9 \times 5.8778}{2.7004} = 19.5898

添字が逆になるのは符号ミスではなく、σ2\sigma^2 が分母にいるためです。これに気づくと、公式を暗記しなくてもその場で導けます。

左のグラフは自由度9のカイ二乗分布の密度曲線。2.5%点2.700と97.5%点19.023に赤い破線が引かれ、その間が塗られている。最頻値は7で分布は右に長い裾を持ち左右非対称。右のグラフは標本サイズ5から500に対して、母分散の区間の上端÷下端と母標準偏差の同じ比を両対数目盛で描いたもの。n=5では23.0倍、n=10で7.0倍、n=30で2.8倍、n=100で1.8倍、n=500で1.3倍と減っていく

χ2\chi^2 は左右非対称なので、区間も点推定値を中心に対称になりません。平均の区間が xˉ±\bar{x} \pm の形に書けるのと対照的です。

そして右の図が実務的に効きます。分散の区間はとにかく広いのです。

nnχ0.0252\chi^2_{0.025}χ0.9752\chi^2_{0.975}σ2\sigma^2 区間の上端/下端σ\sigma 区間の上端/下端
50.484411.143323.0034.796
102.700419.02287.0442.654
3016.047145.72232.8491.688
10073.3611128.42201.7511.323
500438.9980562.78951.2821.132

n=10n = 10 で母分散の上端が下端の 7.04倍n=100n = 100 でもまだ 1.75倍です。平均の区間が n=100n = 100±1.96σ/10\pm 1.96\,\sigma/10 まで縮むのに比べると、まったく縮んでいません。ばらつきを精度よく推定するのは、平均を推定するよりずっと難しいという教訓になります。

「母分散が既知の場面」は、実は毎日使っている

この章を読んでいて引っかかったのがここでした。母平均を推定したいのに母分散だけ分かっている、という場面が想像できない。 平均が分からないのに分散が分かっているというのは順序が逆に見えます。

調べてみると、この直感は正しくて、そのうえで教科書が σ\sigma 既知を扱う本当の理由は別にあるという結論になりました。理由は3つです。

理由1:tt 分布の必要性を測る基準線として要る

左のグラフは標本サイズ2から100に対するt分位点とz分位点の比。n=5で1.417(+41.7%)、n=10で1.154(+15.4%)、n=30で1.044(+4.4%)、n=100で1.012(+1.2%)と急速に1へ近づく。右のグラフはσ未知なのにzを使った場合の実際の被覆率で、n=3では0.810、n=5で0.879、n=10で0.918、n=100で0.947と、正しくtを使った場合の0.950に下から近づいていく

右の図が答えです。 σ\sigma 未知なのに σ\sigma 既知の式(zz)を使うと、95%のはずが n=3n = 3 では 81.0% しか当たりません。n=10n = 10 でも 91.8%。

σ\sigma 既知の場合を先に立てておかないと、「tt 分布は何のための補正なのか」が測れないわけです。σ\sigma 既知は理想的な基準線として置かれている。そして左の図が示すのは、この罰金が nn とともに急速に消えることです(n=30n = 30 で +4.4%、n=100n = 100 で +1.2%)。

理由2:母比率の区間は、構造として「σ\sigma 既知」の場合そのもの

これが一番大事な理由でした。 疑問は「正規分布で σ\sigma 既知」に向いていたのですが、毎日使っている母比率の区間が、構造としては σ\sigma 既知の場合なのです。

3つのグラフが横に並び、横軸が平均、縦軸が標準偏差。左の正規分布では平面全体が水色に塗られ、σ=0.5、1.5、3.0の水平線が3本引かれていて、μとσが独立に動くことを示す。中央のポアソン分布ではσ=√λという1本の曲線だけが赤で描かれている。右のベルヌーイ分布ではσ=√(p(1-p))という上に凸の1本の曲線が紫で描かれ、p=0.5で最大値0.5を取る

特別なのは正規分布のほうでした。 正規分布 N(μ,σ2)N(\mu, \sigma^2)μ\muσ\sigma独立に動ける(左の図が平面全体になっている)。だから μ\mu を推定するときに σ\sigma が「別の未知パラメータ」として邪魔をし、tt 分布による補正が必要になった。

ところがベルヌーイ分布では σ=p(1p)\sigma = \sqrt{p(1-p)} です(右の図)。pp を決めれば σ\sigma も自動的に決まる。 未知パラメータは pp の1個だけで、σ\sigma という独立した未知数は存在しません。

分布平均分散σ\sigma は独立な未知数か使う分布
正規 N(μ,σ2)N(\mu, \sigma^2)μ\muσ2\sigma^2独立(2パラメータ)tt
ベルヌーイ Bern(p)\mathrm{Bern}(p)ppp(1p)p(1-p)pp で決まるzz
ポアソン Po(λ)\mathrm{Po}(\lambda)λ\lambdaλ\lambdaλ\lambda で決まるzz
指数 Exp(λ)\mathrm{Exp}(\lambda)1/λ1/\lambda1/λ21/\lambda^2λ\lambda で決まるzz(または χ2\chi^2 で厳密に)

だから母比率の区間推定では tt 分布による補正の出番がありません。 tt が要るのは「σ\sigmaμ\mu とは独立な第2のパラメータで、その推定の揺れが余分に効いてくる」場合だけだからです。

σ\sigma 既知」を「σ\sigma が独立な未知パラメータとして存在しない」と読み替えると、非現実的どころか大半のケースになります。

ただしこれは「σ\sigma が本当に既知」と同じ強さではありません。 pp が未知なら σ=p(1p)\sigma = \sqrt{p(1-p)} も未知で、SE には結局 p^\hat{p} を代入することになる。正規分布で σ\sigma が既知なら区間は厳密に95%ですが、比率の zz 区間はそうではありません。この代入のツケが、後半で見るウィルソン区間の話につながります。

理由3:標本サイズ設計では σ\sigma 既知の式しか使えない

これが後半の話につながります。データを取る前に nn を決めるので、ss は存在しません。 σ\sigma に何らかの値を仮定するしかない。つまり σ\sigma 既知の公式は「推定」ではなく 「設計」の場面で本当に使われます

半幅を EE 以内にしたい必要な nnσ=10\sigma = 10 と仮定)切り上げ
E=5.0E = 5.0(1.96×10/5.0)2=15.37(1.96 \times 10 / 5.0)^2 = 15.3716
E=2.0E = 2.0(1.96×10/2.0)2=96.04(1.96 \times 10 / 2.0)^2 = 96.0497
E=1.0E = 1.0(1.96×10/1.0)2=384.15(1.96 \times 10 / 1.0)^2 = 384.15385
E=0.5E = 0.5(1.96×10/0.5)2=1536.58(1.96 \times 10 / 0.5)^2 = 1536.581537

精度を2倍にすると nn は4倍。第8回の n\sqrt{n} の壁がそのまま出ています。

なお σ\sigma が制度的に確立している例も一応あります。校正済み測定器の精度、IQ は定義上 σ=15\sigma = 15、偏差値は定義上 σ=10\sigma = 10(設計値なので既知)、臨床検査装置の公称変動係数。ただし本質は理由2と理由3のほうだと思いました。

母比率は新しい概念ではなく、0/1データの平均

理由2に出てきた母比率について、少し戻って整理します。学習中に 「そもそも母比率とは何だっけ」 というところで一度止まったからです。

言葉が硬いだけで、中身はいつも使っている「〜率」でした。母集団の中で、ある性質を持つものの割合のことです。クリック率なら「押した=1 / 押さない=0」の1の割合、内閣支持率なら「支持する=1 / しない=0」の1の割合、不良品率なら「不良=1 / 良品=0」の1の割合。

そして核心は次の1行です。0 と 1 だけのデータの平均を取ると、それは 1 の割合になります。

左上は20人分の0と1が並んだ図。1が5個赤く、0が15個灰色で、合計5割る20で0.25となり、これは割合でもあり平均でもあると注記されている。右上は1の個数を0個から20個まで変えた7行の帯グラフで、p=0.00と1.00では分散0、p=0.50で分散0.25が最大になることを示す。左下はp(1-p)の放物線でp=0.5が頂点0.25。右下は点推定値がどれも20%の3本の区間で、n=20は±17.53pt、n=200は±5.54pt、n=2000は±1.75ptと縮み、記事Bの22%を示す緑の破線をn=20とn=200の区間は含むがn=2000は含まない

20人のデータ 01001000100010000100 で確かめると、こうなります。

計算結果
1 の個数 ÷ 20(=割合)5/20=0.25005 / 20 = 0.2500
データの平均0.2500 ← 同じ
データの分散(1/n1/n で割る式)0.187500
p(1p)p(1-p)p=0.25p = 0.25 を入れる0.187500 ← 同じ

「比率」は新しい概念ではなく、0/1データの平均です。だから第8回でやった平均の道具(標準誤差、1.96、n\sqrt{n})がそのまま使えます。

そして右上の図が σ\sigma 既知の話に直結します。1 の個数を決めた瞬間に、ばらつきも決まってしまう。 p=0p = 0(全員0)と p=1p = 1(全員1)は全員同じ答えなのでばらつき 0、p=0.5p = 0.5 で一番ばらついて分散 0.25。「クリック率が 25% だが、ばらつきはもっと大きい」という状況はありえないわけです。

比率の区間は、二項分布を正規分布で近似したもの

ここで比率と二項分布は同じものを2つの単位で見ているだけという関係も整理できました。二項分布は「何人がクリックしたか」(人数)を見て、比率は「何割がクリックしたか」(割合)を見る。片方を nn で割ればもう片方になります。

上段に3つのグラフが並ぶ。左はベルヌーイ分布で0と1の2本の棒、中央は二項分布Bin(20, 0.25)の人数の分布、右は同じものを20で割った比率の分布で、棒の高さの並びが中央と完全に同一。横軸の目盛だけが人数から割合に変わっている。下段左は二項分布と正規近似の重ね描きで、np=5の青い棒は釣鐘に近いがnp=1の赤い棒は左端に張り付いて釣鐘とまったく違う形。下段右は名目95%の区間の実際の被覆率を棒グラフで示し、np=1のケースが0.635まで落ち込んでいる

段階何を見ているか分布平均分散
1人の結果(0か1)ベルヌーイ Bern(p)\mathrm{Bern}(p)p=0.25p = 0.25p(1p)=0.1875p(1-p) = 0.1875
20人中の人数 xx二項 Bin(20,p)\mathrm{Bin}(20, p)np=5.0np = 5.0np(1p)=3.75np(1-p) = 3.75
比率 p^=x/20\hat{p} = x/20②を nn で割ったものp=0.25p = 0.25p(1p)/n=0.009375p(1-p)/n = 0.009375

ここで n\sqrt{n} が出てくる仕組みが見えます。 人数の分散は np(1p)np(1-p)nn に比例して増えるのに、nn で割って比率にすると p(1p)/np(1-p)/nnn に反比例して減る。標準誤差はその平方根なので p(1p)/n\sqrt{p(1-p)/n}。第8回の σ/n\sigma/\sqrt{n} が、σ\sigma の位置に p(1p)\sqrt{p(1-p)} が入った顔で現れているだけでした。

そして比率の区間推定は、この離散な二項分布を連続な正規分布で近似しているので、条件が悪いと壊れます。

nnppnpnp厳密に計算した被覆率名目判定
500.0210.63540.95破綻
200.0510.63890.95破綻
1000.0550.87750.95危険
200.2550.89490.95危険
1000.25250.94590.95OK
20000.051000.94670.95OK
20000.255000.94700.95OK

被覆率はシミュレーションではなく、二項確率で全ての xx を重み付けした厳密計算です。

np=1np = 1 のケースが破滅的です。 「95%信頼区間」と名乗りながら 63.5% しか当たらない。理由は n=20n = 20p=0.05p = 0.05 では p^=0\hat{p} = 0 になる確率が 36% もあることです。そのとき区間は 0±1.960×1/20=[0,0]0 \pm 1.96\sqrt{0 \times 1/20} = [0, 0]幅ゼロに潰れます。真の p=0.05p = 0.05 を含むわけがありません。

第7回では「期待度数5以上」、第8回では中心極限定理が破綻する条件として登場した np5np \ge 5 が、ここで3回目の登場です。ただしこの表を見ると np5np \ge 5 でも 88〜89% しかないので、この目安はかなり甘いことも分かりました。np5np \ge 5 は「使ってよい」ではなく「これ未満は論外」の線と読むべきだと思います。

2本の区間の重なりで差を判断してはいけない

ここから2標本です。実務でほしいのはほぼ「2つを比べる」ほうで、1標本のときには存在しなかった落とし穴が2つ出てきます。

1つめが最頻出の誤りです。グラフに群Aと群Bのエラーバーを2本並べて、「重なっているから差はない」と読む。これは誤りです。

4枚組の図。左上は群Aの区間98.04から101.96と群Bの区間101.04から104.96を2本並べたもので、101.04から101.96の幅0.92が黄色く塗られ重なっていると注記されている。右上は同じデータの平均の差の区間で、差3.0を中心に0.23から5.77まで伸び、差ゼロの縦破線を含まないことが示されている。左下は半幅がなぜ足し算にならないかの説明図で、1.96×SEを2本並べた合計3.92は誤りで、正しくは分散を足して√2倍の2.77になることを式で示している。右下は横軸を2群の平均の差として、2.77で差の区間が0を外れ、3.92で2本の区間の重なりが消えることを2本の縦線で示し、その間の帯が黄色く塗られている

左上と右上は同じデータです。 個別の区間は重なっているのに、差の区間は 0 を含みません。つまり 「差はある」と言える

理由は半幅が足し算にならないことです。足せるのは分散のほうでした(第3回「独立なら分散は足せる」)。SE=SE12+SE22=2=1.414\mathrm{SE}_{\text{差}} = \sqrt{\mathrm{SE}_1^2 + \mathrm{SE}_2^2} = \sqrt{2} = 1.414 で、素朴に足した 2.0 より小さい。だから差の区間は個別区間を並べた幅の 0.707 倍にしか広がりません。

右下のとおり、2.77 〜 3.92 のあいだが「重なっているが差はある」ゾーンです。ここに入るデータを重なりで判断すると、実際にある差を見逃します。

「分散だけが足せる」を東に3歩、北に4歩で理解する

「独立なら分散は足せる」は公式として知っていましたが、なぜ半幅ではなく分散なのかが感覚として入っていませんでした。これは直角三角形の話だと思うのが一番効きました。

左のグラフは横軸が群Aの誤差、縦軸が群Bの誤差で、2次元に散らばる4000個の点が描かれている。斜め45度方向に走る緑の帯は差が±2.77に収まる領域で、点の95%がこの中に入る。中央には各群が個別に±1.96に収まる範囲を示す青い破線の正方形が描かれている。左上と右下の角には赤い点線の円があり、その中には点がほとんど無いことが示され、左上の角には赤い星印が置かれて素朴な足し算が想定する最悪ケースだと注記されている。右の図は直角三角形で、底辺3、高さ4、斜辺5が色分けされ、歩いた歩数は3足す4で7歩だが出発点からの距離は5であること、直角なら足せるのは距離ではなく距離の2乗であることが書かれている。下部にはシミュレーション結果の表があり、群Aと群Bの誤差の標準偏差がともに0.9999、差の標準偏差の実測が1.4142で√2に一致し、素朴に足した2.0000は使わないと示されている

左の図が「なぜ狭くなるか」の答えです。 横軸に群Aの誤差、縦軸に群Bの誤差を取ると、実際のデータは真ん中に丸く集まります。

青い破線の正方形が「各群が個別に ±1.96\pm 1.96 の範囲」です。素朴な足し算 3.92 は、この正方形の角(★)を想定しています。 つまり群Aが最大にマイナスへ外れ、同時に群Bが最大にプラスへ外れるという最悪ケース。

でも赤い点線の円の中を見ると、点がほとんどありません。 2つの独立な誤差が同時に大きく、しかも都合よく逆向きに揃うことは、めったに起きない。だから角を切り落とした緑の帯(±2.77\pm 2.77)で十分95%を捕まえられるのです。

右の図が同じことの幾何です。3歩東・4歩北に歩けば、歩数は 7 でも出発点からの距離は 5。2つの誤差は「同じ直線上」ではなく「直角に交わる別の方向」に働くので、合成した長さは足し算にならずピタゴラスの定理になります。

12+12=2=1.414(2 ではない)\sqrt{1^2 + 1^2} = \sqrt{2} = 1.414 \quad (2 \text{ ではない})

「分散が足せる」というのは、「2乗したものが足せる」=ピタゴラスの定理と言い換えられます。分散はもともと「2乗の平均」なので、最初から2乗の世界の量なのでした。

数字で確認すると、200万回の実測で差の標準偏差が 1.4142(理論値 2\sqrt{2} に一致)、素朴に足した値は 2.0000。区間の被覆率で見ると次のようになります。

区間の作り方半幅実際の被覆率評価
素朴な足し算 1.96×1+1.96×11.96 \times 1 + 1.96 \times 13.91990.9944広すぎる(99.4%になってしまう)
正しい 1.96×21.96 \times \sqrt{2}2.77180.9499ちょうど95%

素朴な足し算は「間違って狭い」のではなく「無駄に広い」 のです。だから重なりで判断すると、実際にある差を見逃す方向に間違えます。

逆に、独立でないなら足せません。 同じ人に施策の前後を測った場合(対応のあるデータ)、2つの誤差は同じ方向に動きます=直角ではない。このとき差のばらつきは σ12+σ222ρσ1σ2\sqrt{\sigma_1^2 + \sigma_2^2 - 2\rho\sigma_1\sigma_2} となり、相関 ρ\rho が正ならもっと小さくなります。これが「対応のあるデータは検出力が高い」の正体で、第3回の「独立なら分散は足せる」の条件節が効いているところです。

半幅という言葉

ここまで断らずに使っていましたが、半幅(half-width)は信頼区間の中心から端までの距離です。区間が [15.94,39.76][15.94, 39.76] なら幅は 23.82、半幅はその半分の 11.91。27.85±11.9127.85 \pm 11.91 と書いたときの ±\pm のあとの数字が半幅です。

信頼区間はほとんどの場合「点推定値 ±\pm 何か」の形なので、精度を1つの数字で言いたいときに便利で、標本サイズ設計では半幅が主役になります。マージン・オブ・エラーと呼ばれることもあり、世論調査の「誤差 ±3\pm 3 ポイント」がまさにこれです。

なお母分散の区間は「±\pm の形」に書けませんχ2\chi^2 が非対称なので中心が真ん中に来ない)。だから前のセクションでは半幅ではなく「上端 ÷ 下端が何倍」という言い方をしていました。

平均の差:プールとウェルチは「SEの作り方」が違うだけ

平均の差の区間でも4ステップは変わりません。変わるのは SE と自由度だけです。ただしSE の作り方が2通りあるのが2標本の新しい点でした。

記事Aと記事Bの滞在時間(秒)を例にします。群A は n=10n = 10、平均 182.9000、不偏分散 119.2111(s=10.9184s = 10.9184)。群B は n=8n = 8、平均 210.7500、不偏分散 151.9286(s=12.3259s = 12.3259)。差(B − A)は 27.8500 秒です。

方法SE の作り方SE自由度tt95%信頼区間半幅
プール(等分散を仮定)sp2(1/n1+1/n2)\sqrt{s_p^2(1/n_1 + 1/n_2)}5.4812162.119905[16.2305, 39.4695]11.6195
ウェルチs12/n1+s22/n2\sqrt{s_1^2/n_1 + s_2^2/n_2}5.559914.19582.142015[15.9407, 39.7593]11.9093

4枚組の図。左上はプールの考え方で、群Aと群Bを同じ幅の目盛りとして描き、共通のσ²が1つあると考えて両群のデータを合わせて推定する、sp²は9×119.2と7×151.9を足して16で割った133.52であり自由度で重みをつけた平均で単純平均135.57ではないこと、情報を合わせるので自由度16と大きく区間が狭いことが書かれている。右上はウェルチの考え方で、群Aと群Bを異なる幅で描き、各群の平均のばらつきを作って足す、SEは119.2÷10と151.9÷8を足した平方根で5.5599、共通σを持ち出さず情報を合わせないので自由度14.20と小さく区間が広いことが書かれている。左下はこの例での2つの区間の比較で、プールが16.23から39.47、ウェルチが15.94から39.76、点推定はどちらも27.85秒で差ゼロの破線を含まないので結論は変わらない。右下は仮定が外れた場合の説明で、n=25とn=5でσが1対4のとき小さい群のほうがばらつきが大きいとプールはSEを小さく見積もって被覆率0.649になり、逆の組み合わせなら0.9996になるが、ウェルチはどちらでも0.9477から0.9515に収まると書かれている

プール(pooled)は「1つにまとめる」 という意味です。「両群のばらつきは同じ σ2\sigma^2 だ」と仮定して、その σ2\sigma^2両群のデータを合わせて推定します。

sp2=(n11)s12+(n21)s22n1+n22=9×119.2111+7×151.928616=133.5250s_p^2 = \frac{(n_1-1)s_1^2 + (n_2-1)s_2^2}{n_1+n_2-2} = \frac{9 \times 119.2111 + 7 \times 151.9286}{16} = 133.5250

ここでひとつ引っかかったのが、これが単純平均(135.5698)ではないことです。自由度で重みをつけた平均になっています。nn が大きい群のほうが情報が多いので重く見る、ということでした。

得することは自由度です。 2群の情報を合わせるので n1+n22=16n_1 + n_2 - 2 = 16 と大きくなり、tt の分位点が小さくなって区間が狭くなる。つまり 「両群のばらつきは同じ」という仮定を持ち込むことで、情報を得ているわけです。

ウェルチ(Welch)は共通の σ2\sigma^2 という仮定を置きません。 各群の「平均のばらつき」を作って足すだけです。

SE=s12n1+s22n2=11.9211+18.9911=5.5599\mathrm{SE} = \sqrt{\frac{s_1^2}{n_1} + \frac{s_2^2}{n_2}} = \sqrt{11.9211 + 18.9911} = 5.5599

これがまさに上のピタゴラスの形です(分散を足して平方根)。ただし代償があって、この量は厳密には tt 分布に従いません。そこで「tt 分布で近似したときにいちばん合う自由度」を計算します。それが 14.1958 という半端な数字の正体でした。動く範囲は決まっていて、上限が n1+n22=16n_1 + n_2 - 2 = 16、下限が min(n11,n21)=7\min(n_1-1, n_2-1) = 7 です。

なお、ここでやっているのは平均の差の区間推定だけで、等分散の検定の話ではありません。 自分はここを一度混同しました。「等分散かどうかを検定してから方法を選ぶ」という手順が実務でよく見られるので、区間推定の話と検定の話が地続きに見えてしまうのです。やっていることは「SE の作り方を2通りのどちらにするか」の選択だけです。

どちらを使うべきか:被覆率を測ると答えが出た

この選択に迷う必要はありませんでした。 被覆率を測ったら一方的な結果になりました。

左は棒グラフ。6つの条件でプールとウェルチの差の区間の被覆率を比較している。n=20と20でσが同じなら0.949と0.950。σが1対4になるとプールは0.944。n=20と10でσ1対4ならプールは0.837、n=10と20なら0.989、n=25と5なら0.649、n=5と25なら1.000と大きく振れる。ウェルチはすべての条件で0.948から0.952に収まっている。右は折れ線グラフで、横軸が標本サイズ10から100、縦軸が被覆率。実線は分散の比のF区間で、正規分布は0.95付近を保つが、指数分布は0.772から0.693へ、t分布(5)は0.873から0.783へとnを増やすほど悪化し、一様分布は逆に0.998まで上がる。破線は平均の差の区間で、どの分布でもすべてのnで0.95付近に集まっている

n1n_1n2n_2σ1:σ2\sigma_1 : \sigma_2プールの被覆率ウェルチの被覆率プールの平均幅ウェルチの平均幅
20201 : 10.94930.94971.27211.2741
20201 : 40.94430.94963.68943.7853
20101 : 40.83740.94953.74775.6081
10201 : 40.98890.94925.23783.8811
2551 : 40.64890.94773.44869.2956
5251 : 40.99960.95157.40173.7575

各20万回、真の平均差はゼロ、名目 0.95 です。

ウェルチは6条件すべてで 0.948〜0.952。プールは σ\sigma が違うと大きく振れます。 しかも振れる向きが nn の組み合わせで逆転するのが厄介でした。「小さい nn の群のほうが σ\sigma が大きい」ときに過信側(0.649)へ、逆なら安全側(0.9996)へ。0.9996 は一見よさそうですが、区間が広すぎて何も言えない状態です。

結論はシンプルで、迷ったらウェルチです。等分散が真のときの損は被覆率 0.9497 対 0.9493 でほぼゼロ、幅も 1.2741 対 1.2721 で 0.2% 増えるだけ払うコストがこれだけで、避けられる事故が 0.950.6490.95 \to 0.649 です。 比較になりません。実際 R の t.test() はウェルチが既定値です。Python の scipy.stats.ttest_ind は既定が equal_var=True(プール)なので、明示的に equal_var=False を指定するのが実務的な作法になります。

それなら、なぜ教科書はプールを先に教えるのか。 理由は3つありました。①正規・等分散のもとでは厳密に t(n1+n22)t(n_1+n_2-2) に従う(ウェルチは近似)ので理論として気持ちがよく、試験で手計算できる。②分散分析の土台で、3群以上に拡張すると「群内のばらつきをプールする」がそのまま分散分析になる。③等分散に物理的な根拠がある場合は効率的。

ただし③の根拠は事前知識から来るべきで、同じデータの等分散検定から来てはいけません。 データを見て手法を選ぶと、名目の信頼係数が保証されなくなります。この点は次のセクションで数字が出ます。

比率の差:A/Bテストで一番使う形

比率でも構造は同じで、SE の中身が変わるだけです。

(p^2p^1)±1.96p^1(1p^1)n1+p^2(1p^2)n2(\hat{p}_2 - \hat{p}_1) \pm 1.96 \sqrt{\frac{\hat{p}_1(1-\hat{p}_1)}{n_1} + \frac{\hat{p}_2(1-\hat{p}_2)}{n_2}}

ルートの中が2つの足し算になっているのが「分散は足せる」の現れです。tt 分布ではなく zz なのは、前に見たとおり比率では σ\sigma が独立な未知数ではないからです。

ケースn1n_1x1x_1n2n_2x2x_2p^1\hat{p}_1p^2\hat{p}_295%信頼区間半幅0 を
記事A vs 記事B200040020004400.20000.22000.0200[−0.0052, 0.0452]±2.52pt含む
1桁小さいサンプル20040200440.20000.22000.0200[−0.0598, 0.0998]±7.98pt含む
極端に小さい2042050.20000.25000.0500[−0.2084, 0.3084]±25.84pt含む
片方だけ大きい50001000300720.20000.24000.0400[−0.0096, 0.0896]±4.96pt含む

この表が実務的に一番効きました。 1行目、各群 2000PV ずつ集めても、20% と 22% の差(2pt)は区間が 0 を含みます。 半幅が ±2.52\pm 2.52pt なので、2pt の差では届かない。

そして4行目が重要です。片方を 5000 に増やしても、もう片方が 300 なら半幅は ±4.96\pm 4.96pt。 SE は小さいほうの nn に支配されます。 片側だけサンプルを積んでも精度は上がりません。A/Bテストで両群を同じ大きさにするのは、この理由でした。

分散の比は FF 分布で作れるが、使わないほうがよい

2つのばらつきを比べるときは、差ではなくを見ます。第7回で見たとおり s22/s12s_2^2/s_1^2FF 分布に従うので、それをピボット量にします。

σ22σ12の95%信頼区間=[s22/s12F0.975, s22/s12F0.025]\frac{\sigma_2^2}{\sigma_1^2} \text{の95\%信頼区間} = \left[\frac{s_2^2/s_1^2}{F_{0.975}},\ \frac{s_2^2/s_1^2}{F_{0.025}}\right]

先ほどの滞在時間データでやってみます。

分散比の点推定 s22/s12s_2^2/s_1^2151.9286/119.2111=1.2744151.9286 / 119.2111 = 1.2744
F(7,9)F(7, 9) の 2.5% 点0.207330
F(7,9)F(7, 9) の 97.5% 点4.197047
σ22/σ12\sigma_2^2/\sigma_1^2 の 95%信頼区間[0.3037, 6.1469]
上端 ÷ 下端20.24 倍
σ2/σ1\sigma_2/\sigma_1 の区間(平方根)[0.5510, 2.4793]
1 を含むか含む(等分散を否定できない)

s22/s12s_2^2/s_1^2 のとき FF の自由度は (n21, n11)=(7,9)(n_2-1,\ n_1-1) = (7, 9) で、分子と分母が入れ替わります。 そして1標本の分散のときと同じく、区間の下端に 97.5% 点、上端に 2.5% 点が来ます(比が分母にあるため大小が反転)。また F(7,9)F(7,9) の 2.5% 点 =1/F(9,7)= 1 / F(9,7) の 97.5% 点という関係があるので、片側の表だけで計算できます。試験ではこれを使います。

ここが今回いちばん意外だった発見でした。 この FF 区間は正規性がないと崩れ、しかも nn を増やすほど悪化します。

母集団の分布FF 区間 n=10n=10FF 区間 n=30n=30FF 区間 n=100n=100差の区間 n=10n=10差の区間 n=30n=30差の区間 n=100n=100
正規0.94980.95140.95060.95200.95000.9488
一様(裾が軽い)0.98870.99620.99750.94870.94960.9503
t(5)t(5)(裾が重い)0.87260.82310.78280.95630.95190.9497
指数(歪んでいる)0.77180.71910.69340.96290.95360.9502

各10万回、真の分散比 =1= 1、真の平均差 =0= 0、名目 0.95、両群 nn は同じです。

指数分布で 0.77180.71910.69340.7718 \to 0.7191 \to \mathbf{0.6934}第8回で見た中心極限定理の話と正反対です。

なぜか。平均の区間は中心極限定理に守られています(右半分の列:どの分布でも n=100n = 100 で 0.95 に収束)。ところが分散の区間を守ってくれる定理はありません。 (n1)s2/σ2(n-1)s^2/\sigma^2χ2\chi^2、比が FF になるのは正規分布であることを直接使った結果で、nn を増やしても正規に近づく理屈がない。むしろ nn が増えると区間が狭くなるので、ずれた中心を捕まえられなくなり悪化します

平均の区間は正規性が要らない(CLT が守る)。分散・分散比の区間は正規性が必須(守る定理がない)。しかも nn を増やしても直らない。 この対比は、区間推定の道具を選ぶときの判断基準として一番使えるものだと思いました。

だから実務上は、2群のばらつきを比べたいだけなら FF 区間・FF 検定は避けたほうがよいという結論になります。そして 「等分散かどうか FF 検定で調べてから tt 検定の方法を選ぶ」という二段構えは二重に悪い。FF 検定自体が正規性の崩れで壊れる、②データを見て手法を選ぶので全体の信頼係数が保証されない。

実際に測ってみると、n1=25n_1 = 25n2=5n_2 = 5σ1:σ2=1:4\sigma_1 : \sigma_2 = 1 : 4 の条件で、二段構えの手続きの被覆率は 0.9332(ウェルチは 0.9475)でした。しかも幅はほぼ同じ(9.22 対 9.32)。幅の得がないのに被覆率だけ落ちるので、選ぶ理由がありません。

「等分散を仮定していいか」はデータに聞く質問ではなく、実験の設計に聞く質問なのだと理解しました。FF 分布の存在価値は、第7回でも書いたとおり等分散検定ではなく分散分析と回帰分析のほうにあります。

標本サイズ設計:同じ式を逆向きに読むだけ

先に一行で書くと、この節は「必要な精度から、必要なデータ量を計算する」話です。 ここまでは「nn が与えられたとき半幅はいくらか」を計算してきました。設計とは、その式の既知と未知を入れ替えるだけです。

E=z0.975p(1p)nn=z0.9752p(1p)E2E = z_{0.975}\sqrt{\frac{p(1-p)}{n}} \quad \Longrightarrow \quad n = \frac{z_{0.975}^2\,p(1-p)}{E^2}

4枚組の図。左上は逆算の考え方で、半幅Eはz掛けるルートp(1-p)割るnという式を示し、これまでは分析としてnが与えられEを求めていたのに対し、これからは設計としてEを先に決めてnを求めることを青と緑の枠で対比し、入替という赤い矢印で結んでいる。下部にはnはz二乗掛けるp(1-p)割るE二乗という変形後の式があり、新しい理論は何もなく同じ式をnについて解いただけ、分母がEの二乗なので精度を2倍にしたければnは4倍と書かれている。右上は横軸を対数目盛のnとして半幅の減り方を描いた曲線で、n=385で±4.0pt、n=1537で±2.0pt、n=6147で±1.0ptの3点が印され、nを4倍にすると半幅が半分になることが示され、±0.5ptにするにはn=24586と注記されている。左下は落とし穴の説明で、真の差2ptに対して精度設計のn=3185(半幅2.0pt)とn=6507(半幅1.4pt)の2つの正規分布を重ね、半幅を超える部分を塗って、赤は0.4998、緑は0.7990という実測値を示し、赤は真の差がちょうど半幅なので分布の半分しかはみ出さないと説明している。右下は途中でのぞいた回数を横軸、真の差がゼロなのに差ありと言う率を縦軸にした折れ線で、1回なら0.052だが2回で0.084、5回で0.146、10回で0.193、20回で0.250、50回で0.326と上昇し、名目0.05の破線から大きく離れていくことが示されている

やることは移項だけで、新しい理論は何もありません。 ただし分母が E2E^2 なので、精度を2倍にするには nn を4倍、10倍にするには100倍必要です。

ほしい半幅p=0.5p=0.5(最悪)p=0.2p=0.2p=0.05p=0.05p=0.01p=0.01
±10pt9762194
±5pt3852467316
±3pt1,06868320343
±2pt2,4011,53745796
±1pt9,6046,1471,825381
±0.5pt38,41524,5867,2991,522

世論調査の「n=1,000n = 1{,}000〜1,200」の正体がこの表にありました。 p=0.5p = 0.5±3\pm 3pt を狙うと 1,068。テレビの世論調査がだいたいこの規模なのは偶然ではなく、「誤差 ±3\pm 3 ポイント」を目標にして逆算した結果です。

pp が未知のときは p=0.5p = 0.5 を使います。p(1p)p(1-p) が最大 0.25 になるので、最悪ケースで見積もれば安全側だからです。これが「p=0.5p = 0.5 を仮定する」という慣習の理由で、政治的な意味はありません。

落とし穴:素朴に逆算した nn では、検出力が50%しかない

ここが今回いちばん重要な区別でした。 「2ptの差を見たい」と言われて、素朴に「半幅を2ptにすればいい」と考えると失敗します。半幅をちょうど検出したい差に合わせると、検出力は約50%しかありません。

p1p_1p2p_2真の差 Δ\Delta設計nn/群理論半幅実測半幅実測検出率
0.200.2202.0pt精度設計(E=ΔE = \Delta3,1852.000pt1.999pt0.4998
0.200.2202.0pt検出力80%6,5071.399pt1.399pt0.7990
0.200.2404.0pt精度設計(E=ΔE = \Delta8233.998pt3.995pt0.5030
0.200.2404.0pt検出力80%1,6802.798pt2.797pt0.8004
0.050.0601.0pt精度設計(E=ΔE = \Delta3,9921.000pt1.000pt0.4980
0.050.0601.0pt検出力80%8,1550.700pt0.699pt0.7993
0.500.5505.0pt精度設計(E=ΔE = \Delta7654.998pt4.995pt0.4956
0.500.5505.0pt検出力80%1,5623.498pt3.497pt0.8027

各20万回、検出率は「差の95%信頼区間が 0 を含まない割合」です。

なぜちょうど 0.50 になるのか。 真の差が 2pt で、半幅も 2pt。すると観測される差の分布は 2pt を中心に散らばるので、ちょうど半分が 2pt を超え、半分が下回ります。超えたときだけ区間が 0 を外れる。だから 50%。コインを投げているのと同じです。

だから設計には2種類あることになります。

  • 精度設計:区間の幅を保証する。n=z0.9752V/E2n = z_{0.975}^2\,V/E^2 → 検出力は約50%
  • 検出力設計:差を見つける確率を保証する。n=(z0.975+z1β)2V/Δ2n = (z_{0.975} + z_{1-\beta})^2\,V/\Delta^2

違いは zz が1つ増えるだけです。そして倍率は常に一定でした。

(1.959964+0.8416211.959964)2=2.0432\left(\frac{1.959964 + 0.841621}{1.959964}\right)^2 = 2.0432

検出力を80%にしたければ精度設計の約2.04倍、90%なら 2.7353倍pp にも Δ\Delta にもよらず、常にこの倍率です(上の表で nn の比が 2.041〜2.043 に揃っているのがその確認になります)。覚えるのは (1.96+0.84)27.85(1.96 + 0.84)^2 \approx 7.85(1.96+1.28)210.51(1.96 + 1.28)^2 \approx 10.51 の2つだけです(厳密には z0.8=0.8416z_{0.8}=0.8416z0.9=1.2816z_{0.9}=1.2816 を使った 7.849 と 10.507)。

なぜ zz が2つ足されるのか。 検出力は2つの分布を同時に相手にしているからです。「差ゼロのときに誤って差ありと言う確率を α\alpha に抑える」ために z0.975z_{0.975} ぶんの距離が必要で、さらに「真の差 Δ\Delta のときに80%の確率でその線を超える」ために z0.80z_{0.80} ぶんの距離が必要。2つの分布を引き離す距離なので、両方の分の余裕を足すことになります。第2回で見た α\alpha と検出力が、ここで nn という1つの数字に合流しました。

もうひとつの落とし穴:途中で結果をのぞくと台無しになる

設計した nn に達する前に「もう差が出てるかな」と毎日確認する。これが設計を無意味にします。

途中でのぞいた回数真の差がゼロなのに「差あり」と言う率
1(最後だけ見る=正しい運用)0.0521
20.0836
50.1465
100.1930
20(毎日のぞく運用)0.2497
500.3262

真の差ゼロ、p1=p2=0.20p_1 = p_2 = 0.20、最終 n=2,000n = 2{,}000/群、各2万回、名目の誤り率 0.05 です。

毎日のぞいて「0を含まなくなったら止める」運用は、誤り率5%ではなく25%です。 ノイズがたまたま大きく振れた瞬間を、何度もチャンスを与えて待ち構えているのと同じだからです。

これはさきほど批判した「データを見て手法を選ぶ」とまったく同じ構造の誤りです。95% という数字は「手続きを固定したうえで」の保証なので、データを見て止めるタイミングを決めると保証が消えます

対策は3つあります。① nn を先に決めて、そこまで見ない(いちばん簡単で確実)。②どうしても途中で見たいなら群逐次法α\alpha を分割する。O'Brien–Fleming 型など)。③ベイズ的な方法を使う。準1級の範囲は①の考え方までですが、実務でA/Bテストを回すなら②を知らないと事故ります

このブログでA/Bテストをやると5.8年かかる

ここまでの式を、このブログの実測値に入れてみました。GA4 の実測は直近28日でPV 29、月あたり約 31PV です(正確には 29PV/28日 = 31.1PV/月で換算しています)。

4枚組の図。左上は横棒グラフで、ymfj.jpの月31PVを前提に各施策のA/Bテストに必要な期間を示す。回遊20%から25%が70ヶ月で5.8年、CTR2%から4%が73ヶ月で6.1年、直帰70%から65%が88ヶ月で7.3年、CTR2%から3%が246ヶ月で20.5年、回遊20%から22%が419ヶ月で34.9年、CTR2%から2.5%が889ヶ月で74.1年。1年を示す破線がグラフの左端付近にあり、現状のPVではA/Bテストは原理的に不可能でまずPVを増やす以外にやることがないと注記されている。右上は横軸に月間PV、縦軸に決着までの月数を両対数で取った折れ線で、回遊5ptの改善はn=1091、回遊2ptはn=6507、CTR1ptはn=3823が必要であり、1ヶ月で決着させるにはそれぞれ月間3000から10000PV程度が必要なことが読み取れる。左端に現在の31PVを示す縦線がある。左下は第2回との接続で、横軸を標本サイズ、縦軸を差ありが本物である確率として、検出力を上げていく赤い線は0.2から0.999まで動かしてもPPVが0.17から0.51で頭打ちになる一方、αを0.05から0.001まで下げる緑の線はPPVが0.46から0.98まで上がることを示している。事前確率5%を仮定と注記。右下は効果量dを横軸、必要nを対数の縦軸に取った曲線で、検出力80%の実線と精度設計の破線が並び、d=0.2で393、d=0.5で63、d=0.8で25の3点が印され、σの単位が消えているので秒でも円でも同じ表が使えると注記されている

施策p1p_1p2p_2Δ\Deltann/群(検出力80%)必要総PV月31PVで
回遊率 20%→25%0.200.2505.0pt1,0912,18270ヶ月
CTR 2%→4%0.020.0402.0pt1,1392,27873ヶ月
直帰率 70%→65%0.700.6505.0pt1,3742,74888ヶ月
CTR 2%→3%0.020.0301.0pt3,8237,646246ヶ月
回遊率 20%→22%0.200.2202.0pt6,50713,014419ヶ月
CTR 2%→2.5%0.020.0250.5pt13,80727,614889ヶ月

現状の ymfj.jp で A/Bテストは原理的に不可能でした。 いちばん条件のいい「回遊率 20%→25%」でも 70ヶ月(5.8年)、細かい改善だと74年かかります。

これは残念な話ではなく意思決定に使える情報です。「効果測定の仕組みを作る」ことに時間を使うのは、いまは完全に無駄だと言い切れる。PVを増やす以外にやることがないという判断が、推測ではなく計算から出ました。

そして、これが「区間推定を学んで得たもの」の実例だと思います。 点推定なら「回遊率は20%です」で終わりますが、区間まで見ると 「この精度では何も判断できない」ことが分かる。それが分かると、次にやるべきことが変わります。

月間PV回遊 20%→25%(5pt)回遊 20%→22%(2pt)CTR 2%→3%(1pt)
10021.8ヶ月130.1ヶ月76.5ヶ月
1,0002.2ヶ月13.0ヶ月7.6ヶ月
5,0001ヶ月以内2.6ヶ月1.5ヶ月
10,0001ヶ月以内1.3ヶ月1ヶ月以内
30,0001ヶ月以内1ヶ月以内1ヶ月以内

この表がロードマップになります。 月間 5,000PV が「大きめの改善(5pt)なら1ヶ月で検証できる」ライン、30,000PV が「細かい改善(1〜2pt)も回せる」ライン。

逆に言うと、月1,000PV 程度までは「A/Bテストで最適化する」フェーズに入っていないわけです。その段階でやるべきは大きく外れた仮説を捨てることで、そこには 5pt どころか 20pt 級の差が必要になります。小さい改善を測れるのは、大きい流入がある人の特権だということになります。

nn を積むより、基準を厳しくするほうが安い

第2回で 事後オッズ = 事前オッズ × 検出力/α\alpha という式を見ました。標本サイズ設計はこの式の 「検出力」だけを動かす操作です。

検出力必要 nn/群「差あり」が本物である確率(PPV)見つかる真の数偽陽性の数
0.201740.17391.004.75
0.505340.34482.504.75
0.801,0910.45714.004.75
0.901,4610.48654.504.75
0.992,5540.51034.954.75
0.9993,5460.51265.004.75

事前確率5%(施策100個のうち5個だけ本当に効く)、α=0.05\alpha = 0.05 固定、回遊 20%→25% としています。

nn を 174 → 3,546(20倍)にしても、PPV は 0.174 → 0.513 で止まります。 なぜか。偽陽性の数(4.75)は nn をいくら増やしても減らないからです。α\alpha を 0.05 に固定している限り、効かない95個の施策のうち約4.75個が「有意」になり続ける。nn が増やせるのは「真の発見の数」の上限(5個)までです。

一方、α\alpha を動かすとこうなります。

α\alpha検出力80%の必要 nn/群PPV偽陽性の数
0.051,0910.45714.75
0.011,6240.80810.95
0.0051,8510.89390.48
0.0012,3740.97680.10

nn を20倍にして PPV は 0.17 → 0.51。α\alpha を 1/50 にして PPV は 0.46 → 0.98(nn は 2.2倍で済む)。 サンプルを積むより、基準を厳しくするほうが安いという結論になります。

実務的な処方としては、信頼係数を95%ではなく99%で運用する。必要 nn は 1,091 → 1,624 で 1.5倍にしかならないのに、PPV は 0.46 → 0.81 になります。そしてこれは複数指標を見るときの多重比較の補正と同じ発想です(第2回で「10指標を同時に見る運用は α=40%\alpha = 40\% と同じ」と見た話)。

平均の場合は単位が消えて「効果量」になる

比率ではなく平均を比べるときも同じですが、きれいな性質が出ます。

n=2(z0.975+z1β)2d2,d=Δσn = \frac{2(z_{0.975} + z_{1-\beta})^2}{d^2}, \qquad d = \frac{\Delta}{\sigma}

σ\sigma が消えています。 必要な nn「差が標準偏差の何倍か」だけで決まるのです。この dd効果量(effect size、コーエンの dd と呼びます。滞在時間が秒でも、単価が円でも、同じ1枚の表が使えます。

効果量 dd慣習的な呼び名精度設計(半幅=Δ\Delta検出力80%検出力90%
0.1極小7691,5702,102
0.2193393526
0.5316385
0.8132533
1.081622

この表は暗記の価値があります。 心理学や医学の論文で n=64n = 64 前後がやたら出てくるのは、d=0.5d = 0.5・検出力80%・α=5%\alpha = 5\% がテンプレになっているからでした。

さきほどの滞在時間データに当てはめると、σ11.56\sigma \approx 11.56 秒だったので、5秒の差を見たいなら d=0.433d = 0.433n=84n = 84/群、2秒の差なら d=0.173d = 0.173n=525n = 525/群。実際のデータは n=10n = 10 と 8 でした。それでも差が見えたのは、差が 27.85秒(d=2.41d = 2.41)と極端に大きかったからです。小さいサンプルで差が出たときは、効果が本当に大きいか、まぐれか、どちらかということになります。

母比率の p^±1.96SE\hat{p} \pm 1.96\,\mathrm{SE} は、実は壊れている

ここまで「比率の区間は p^±1.96p^(1p^)/n\hat{p} \pm 1.96\sqrt{\hat{p}(1-\hat{p})/n}」と書いてきました。これはWald(ワルド)型と呼ばれる形で、教科書に最初に出てくるものです。ところがこれ、構造的におかしいのです。

x=0x = 0(1件も起きなかった)のとき、幅が厳密に0になります。 p^=0\hat{p} = 0 を代入すると 0×1/n=0\sqrt{0 \times 1/n} = 0 なので、区間は [0,0][0, 0]「母比率は0で確定」と言い切ってしまう。 x=nx = n でも同じです。

これは極端な例ですが、実害はもっと手前から出ています。厳密計算した被覆率がこちらです。

nnppWald の被覆率Wilson の被覆率
200.010.18210.9831
200.050.63890.9245
200.250.89490.9348
200.500.95860.9586
1000.050.87750.9659

n=20n = 20p=0.01p = 0.01 で被覆率 18%。 95%と名乗っているものが18%です。

原因は「SE に p^\hat{p} を入れていること」でした。 真の pp ではなく推定値 p^\hat{p} を使っているので、p^\hat{p} が下に外れたときに限って区間が狭くなる。外れているときこそ広くあってほしいのに、逆をやっているわけです。

ウィルソン区間:pp を「未知のまま」解く

直し方は素直です。SE の中の p^\hat{p} を、未知の pp のままにして不等式を解く。

p^pp(1p)/nz0.975\left| \frac{\hat{p} - p}{\sqrt{p(1-p)/n}} \right| \le z_{0.975}

これを pp について解くと2次方程式になり、答えは

中心=p^+z2/2n1+z2/n,半幅=z1+z2/np^(1p^)n+z24n2\text{中心} = \frac{\hat{p} + z^2/2n}{1 + z^2/n}, \qquad \text{半幅} = \frac{z}{1+z^2/n}\sqrt{\frac{\hat{p}(1-\hat{p})}{n} + \frac{z^2}{4n^2}}

これがウィルソン(Wilson)区間です。 そしてこれはピボット量の反転そのものでした。さきほどの4手順の④「パラメータについて解く」を、サボらずにやっただけ。Wald 型は④で ppp^\hat{p} を代入して1次式に落としてしまった手抜き版だったわけです。

中心が p^\hat{p} ではなく p^\hat{p} を 0.5 側に少し引っぱった値になっているのがポイントです。x=0x = 0 でも中心が 0 にならないので、幅がゼロに潰れません

そして驚いたのが、p=0.5p = 0.5 付近ではウィルソンのほうが狭いことです(n=20n=20 での期待幅が 0.3927 対 Wald 0.4268)。この領域では被覆率も守るし幅も狭い、上位互換でした。p^\hat{p} が 0 に近いところでは逆にウィルソンのほうが広くなりますが、それは必要な広さです。

ただしウィルソンも万能ではありません。 n=20n=20 の最悪ケースは p0.009p \approx 0.009 付近で被覆率 0.839pp が極端に小さいところでは、どの近似も苦しくなります。

手法n=20,p=0.05n=20, p=0.05 の被覆率使いどころ
Wald0.6389使わない
ウィルソン0.9245既定にする
Agresti–Coullウィルソンにほぼ同じ手計算のとき
Clopper–Pearson0.95以上を保証(保守的)安全側に振りたいとき

Agresti–Coull の「成功に2、全体に4を足してから Wald 式を使う」という謎の処方は、ウィルソンの近似でした。z2/2=1.922z^2/2 = 1.92 \approx 2z2=3.844z^2 = 3.84 \approx 4+2/+4 は 1.96 の二乗を丸めた数字だったわけです。これを知って初めて、あの手品めいた式が受け入れられるようになりました。

ブートストラップ:公式がない統計量でも区間が作れる

ここまでは「ピボット量が見つかる」場合の話でした。では中央値や四分位範囲や変動係数の区間はどう作るのか。公式は簡単には出ません。

4枚組の図。左上はブートストラップの考え方を示す概念図で、上段の青い枠は本当にやりたいこととして母集団から標本を何度も取り直して推定値のばらつきを得る流れを描き、これはできないと注記されている。下段の緑の枠は実際にやることとして、手元の標本から重複を許して同じn個を引き直し、それを並べて2.5%点と97.5%点を取れば区間になると示している。下部の黄色い枠には、うれしいのは統計量が何でも同じ手順で済むこと、中央値・四分位範囲・変動係数・歪度・相関など公式がなくても区間が作れ、分布の仮定もいらないと書かれ、自分のブーツの紐を引っぱって自分を持ち上げるという語源が添えられている。右上は横軸を真の母比率p、縦軸を被覆率とした折れ線で、n=20における厳密計算の結果。赤いWaldの線はp=0.05で0.639まで落ち込みpが0に近づくとさらに崩壊する。緑のWilsonの線は大部分で名目0.95の破線付近を保っているが、pが0に近づくところでは0.85付近まで落ちている。左下は棒グラフで、ブートストラップ区間の幅をt区間の幅で割った比を標本サイズ別に示す。理論値の青と実測値の橙が並び、n=5では0.631対0.620、n=10では0.822対0.814、n=20では0.913対0.908、n=50では0.966対0.962、n=200では0.991対0.986と一致しており、n=5ではt区間の62%の幅しかなく被覆率0.843になると注記されている。右下は一様分布n=50でリサンプルした最大値のヒストグラムで、分布が標本の最大値0.9677のところで頭打ちになり、真の最大値1.0を示す緑の破線には全く届いていないことが示され、標本の最大値より大きい値はリサンプルから絶対に出てこない、真値1を含む率はn=1000でも0.0000、上端はほぼ100%の確率で標本最大値そのものと注記されている

やることは1行です。手元の nn 個から、重複を許して nn 個を引き直す。それを何千回もやって、得られた推定値の 2.5% 点と 97.5% 点を区間の端にする。

本当にやりたいのは「母集団から標本を取り直す」ことですが、それはできません。代わりに手元の標本を母集団の代役にするわけです。自分のブーツの紐を引っぱって自分を持ち上げる(bootstrap)という比喩がそのまま名前になっています。

中央値でも歪度でも相関でも、まったく同じ手順で区間が作れます。 分布の仮定も要りません。

弱点1:小標本では狭すぎる(しかも狭さが計算できる)

そのままだと小標本で信頼区間が狭すぎます

nnブート幅 / t区間幅(理論)実測被覆率
50.63140.61960.8430
100.82180.81440.8974
200.91340.90800.9276
500.96620.96220.9394
2000.99110.98610.9469

n=5n=5 で t区間の62%の幅しかありません。 そしてこの狭さは厳密に計算できました

ブート幅t区間幅=1.96tn1,0.975×n1n\frac{\text{ブート幅}}{\text{t区間幅}} = \frac{1.96}{t_{n-1,\,0.975}} \times \sqrt{\frac{n-1}{n}}

理由が2つ入っています。① tt を使うべきところで zz(1.96)を使っているt4,0.975=2.776t_{4,0.975}=2.776 なので 1.96/2.776=0.706)。②リサンプルの分散が nn 割りn1n-1 割りではない)ので 4/5=0.894\sqrt{4/5}=0.894 倍。掛けると 0.6314。実測 0.6196 とほぼ一致しました。

対策はブートストラップtt(スチューデント化) で、各リサンプルで (xˉxˉ)/(s/n)(\bar{x}^* - \bar{x})/(s^*/\sqrt{n}) を作って、その分位点を使う。これで正規 n=5n=5 で被覆率 0.9503、指数分布や対数正規分布では通常のt区間にも勝ちます。歪んだ分布のときは tt 分布が想定する対称性が崩れているので、データから非対称な分位点を作れるブートストラップが有利になるわけです。ほかにBCa(バイアスと歪度を補正する)もあり、実務ではこれが既定です。

弱点2:分布の端では原理的に壊れる

一様分布 U(0,1)U(0,1)最大値の区間をブートストラップで作ると、被覆率 0.0000n=1000n=1000 でも 0 です。

理由は考えれば当たり前でした。リサンプルは手元のデータからしか値を引けないので、標本の最大値より大きい値は絶対に出てこない。 区間の上端は標本最大値以下にしかならず、真の最大値は常にその上にいます。しかもリサンプル1本が標本最大値を含む確率

1(11n)n11e=0.63211 - \left(1 - \frac{1}{n}\right)^n \longrightarrow 1 - \frac{1}{e} = 0.6321

つまりリサンプル最大値の6割強が、ぴったり標本最大値に張り付きます。上端に確率質量が集中しているので、上側 97.5% 点はほぼ常に標本最大値そのもの。実測でも n=50n=50n=1000n=1000 の両方で 100% でした。区間の上端が構造的に標本最大値で止まるのが、被覆率が0になる直接の理由です。

目印は「パラメータが分布の端(台の境界)を決めているとき」です。 最大値・最小値・99パーセンタイルはこの仲間。平均や中央値のように「たくさんのデータが寄り集まって決まる量」なら安全です。

弱点3:離散データでは区間が格子状になる

1〜5の5段階評価のような離散データで中央値の区間を作ると、端点が整数(か .5)しか取れないので、区間が [2,4][2, 4] のようなカクカクした形になります。95%と言いつつ実際の被覆率は飛び飛びの値しか取れません。

補足:「最尤推定量が正規分布になるのは中心極限定理か」

学習中に自分でつまずいたのでここに残します。第10回で「最尤推定量は nn が大きいとき近似的に正規分布に従う」と書きましたが、これは中心極限定理そのものではありませんCLT がかかっているのは θ^\hat\theta ではなく「スコア関数の和」 で、そこから θ^\hat\theta伝わっているという2段構えです。

4枚組の図。左上は因果の鎖を示す概念図で、上から順に4つの枠が並ぶ。青い枠はSTEP1として、CLTがかかるのはスコア関数の和であり、スコアは独立な項の和なのでCLTがそのまま使え、平均0で分散がフィッシャー情報量なのでスコアを情報量の平方根で割ると標準正規分布になると書かれている。赤い矢印で最尤方程式を反転すると示され、緑の枠はSTEP2として、その正規性がθハットに伝わり、θハット引くθはスコア割る情報量に近似できて分子が正規で分母が定数なのでやはり正規、ゆえにθハットは平均θ分散1割るI(θ)の正規分布になると書かれている。黄色い矢印でデルタ法と示され、黄色い枠はSTEP3として、λハット等号1割るxバーのような平均の関数も正規になり、標準偏差はgの微分の絶対値かけるシグマ割るルートnで、指数分布のn=500では実測0.0900に対し予測0.0894で比1.006だと書かれている。最下部の赤い枠には、この鎖は標本平均のCLTとは別物で、コーシー分布では標本平均にCLTが効かないのに位置パラメータのMLEは漸近正規になり、根拠はスコアの和にあると書かれている。右上は両対数グラフで、横軸が標本サイズn、縦軸が推定のばらつき。コーシー分布での比較で、赤い標本平均の線はnを20から1000まで増やしても水平のまま全く下がらない。緑の位置パラメータのMLEと青の標本中央値はどちらも右下がりの直線で、灰色の破線で示した理論値ルート2割るnにMLEがほぼ重なっている。左下は確率密度のグラフで、一様分布U(0,θ)の最大値についてnかけるθ引く最大値割るθの分布を、n=10の橙、n=50の水色、n=1000の緑のステップヒストグラムで重ね書きし、3本すべてが赤い破線で示した指数分布Exp(1)の理論曲線にぴったり重なっている。nを増やしても正規に近づかず指数分布に収束し歪度は2のままで、n=50で1.893、n=200で1.943、n=1000で1.964であり、MLEの漸近正規性は無条件の定理ではなく正則条件が要ると注記されている。右下は両対数グラフで、横軸が標本サイズn、縦軸が歪度の絶対値。青いスコアの和の歪度は灰色の破線で示した理論値2割るルートnにぴったり重なって右下がりに減り、赤いMLEの歪度はそれより一貫して上にあるが同じ傾きで減っている

流れはこうです。尤度は掛け算ですが、log\log をとると和になる。微分したスコア関数 S(θ)=iθlogf(xi;θ)S(\theta) = \sum_i \partial_\theta \log f(x_i;\theta)和のままなので、ここに CLT が素直に効きます。そして θ^\hat\thetaS(θ^)=0S(\hat\theta)=0 で定義されているので、この式を θ^\hat\theta について解く(=また反転です)と θ^θS(θ)/I(θ)\hat\theta - \theta \approx S(\theta)/I(\theta)。分子が正規、分母が定数なので θ^\hat\theta も正規、分散は 1/I(θ)1/I(\theta) になります。

第10回のクラメール–ラオの下限の平方根を 1.96 倍したものが、そのまま区間の半幅になっているわけです(下限は分散に対するものなので、平方根を取る一手間が入ります)。点推定と区間推定がここでつながります。

区別にこだわる理由は、壊れる場所が予測できるようになるからです。

証拠①:CLT が効かないのに MLE は正規になる。 コーシー分布は分散が存在しないので CLT の前提を満たさず、標本平均は nn を50倍にしても改善しませんxˉ|\bar{x}| の99%点が n=50n=50 で 64.61、n=1000n=1000 で 63.48)。ところが同じデータの位置パラメータの MLE は理論値 2/n\sqrt{2/n} にぴったり乗ります(n=200n=200 で実測 0.1005 対理論 0.1000)。スコア 2(xθ)/(1+(xθ)2)2(x-\theta)/(1+(x-\theta)^2) が有界だからです。コーシーはとんでもない外れ値を出しますが、スコアに通すと抑え込まれて和が暴れない。

このとき標本中央値の標準偏差は MLE の約1.11倍(0.1112 対 0.1005)で、漸近相対効率で言えば 8/π2=0.8118/\pi^2 = 0.811、約81%。中央値でもそこそこ戦えるのに、平均は使い物になりません。裾の重いデータで「平均ではなく中央値を見ろ」という実務のセオリーが、ここで数字になりました(ブログの滞在時間や単価も裾が重い側の量です)。

証拠②:CLT がありそうなのに MLE が正規にならない。 U(0,θ)U(0,\theta)θ\theta の MLE は標本最大値で、n(θθ^)/θn(\theta - \hat\theta)/\theta の歪度は n=1000n=1000 でも 1.9636(正規なら0)。収束先は指数分布で、収束の速さは 1/n1/\sqrt{n} ではなく 1/n1/nふつうより速い。最大値は和ではないので CLT の管轄外、そして対数尤度が θ^\hat\theta で微分できないのでスコアの話が始まらない

これが教科書の「正則条件」の正体でした。 目印は 「パラメータが分布の台の端を決めているとき」。ブートストラップが最大値で被覆率 0.0000 だったのと、まったく同じ場所で同じ理由です。

実務的な処方も出ます。θ^\hat\theta の歪度はスコアの歪度の2〜4倍あります(指数分布の λ^=1/xˉ\hat\lambda = 1/\bar{x}n=500n=500 のとき、スコア 0.0894 に対し λ^\hat\lambda は 0.1886)。非線形変換をくぐるぶん正規化が遅れるので、漸近区間は正規に近い尺度の上で作って、あとで戻す。オッズ比を log\log で、相関係数をフィッシャーの zz 変換で扱うのはすべてこの動機です。そして区間は単調変換で端点をそのまま写せるので、戻すのにコストがかかりません。

詳しくは第10回・統計的推定の基礎に書きました。

つまずいたところ

母比率の区間推定が何の話かピンとこなかった。 平均・分散・平均の差は「測った値のばらつき」として想像できるのに、比率だけ別のジャンルに見えていました。ほどけたのは 「母比率は 0/1 データの平均でしかない」 と分かった瞬間です。クリックしたら1、しなかったら0の数列の平均。だから同じ Xˉ±1.96SE\bar{X} \pm 1.96\,\mathrm{SE} の形になる。新しい概念を1つ覚えたのではなく、既に知っている式の特殊ケースだったわけです。

2本の区間が重なっているのに差が有意になる、が納得できなかった。 「分散しか足せない」という言葉は知っていても腑に落ちていなかったのですが、東に3歩、北に4歩歩いたら原点からの距離は7ではなく5という図で決着しました。32+42=5\sqrt{3^2+4^2}=5ばらつきは違う方向を向いた矢印なので、長さを足すのではなく三平方の定理でつなぐ。差の区間の半幅は、2本の半幅を素朴に足した値の 1/2=0.7071/\sqrt{2} = 0.707まで縮みます(個別の半幅そのものと比べれば 2=1.41\sqrt{2} = 1.41 倍で、そこを取り違えると逆の理解になります)。

プール分散とウェルチの区別が曖昧だった。 これは検定の話だと思い込んでいたのですが、区間推定の中の「SE の作り方が2通りある」だけでした。等分散を仮定して2つの s2s^2 を自由度で重みづけして1本にまとめるのがプール、仮定せず s12/n1+s22/n2\sqrt{s_1^2/n_1 + s_2^2/n_2} で済ませるのがウェルチ。そして被覆率を測ったら答えが出ました。等分散でもウェルチの損は幅 +0.2% しかないのに、条件が崩れるとプールは 0.6489 まで落ちる。ウェルチを無条件で使うのが正解(R の t.test() の既定も var.equal=FALSE)。

標本サイズ設計の説明が自分でも分かっていなかった。 途中で「これは要するに、必要な精度からデータ量を逆算する話だよね」と自分に確認し直したところで見通しがつきました。式は新しくなく、E=1.96σ/nE = 1.96\sigma/\sqrt{n}nn について解いただけ。そしてその nn で検出力はちょうど50%しかない(実測 0.4998)というのが一番の収穫でした。80%欲しいなら 2.0432 倍

信頼係数を「区間の性質」だと思っていた。 これは反例で潰しました。U(θ1/2,θ+1/2)U(\theta-1/2, \theta+1/2) から2個取って区間 (min,max)(\min, \max) とすると全体で 50.065% ですが、幅が 0.5 を超えた回に限れば被覆率 100%、超えなかった回は 33.4%。手元の1本を見て「これは95%です」と言うことに意味がないのがはっきりしました。95%は手続きに付いている数字です。

Wald 型の比率区間を疑ったことがなかった。 p^±1.96SE\hat{p} \pm 1.96\,\mathrm{SE} は教科書の最初に出てくる式なので、正しいものだと思って使っていました。n=20n=20p=0.01p=0.01被覆率 18%x=0x=0幅が厳密に0教科書に載っている順番は、正しさの順番ではないというのが今回いちばん効いた学びかもしれません。

「最尤推定量が漸近正規」を中心極限定理そのものだと思っていた。 半分は当たっていましたが、CLT がかかっているのはスコアの和で、θ^\hat\theta には反転を通って伝わっている。この区別をしていなかったので、コーシー分布で標本平均が壊れるのに MLE が生きる理由も、U(0,θ)U(0,\theta) で MLE が正規にならない理由も説明できませんでした。

この記事の要点

  • 信頼区間の95%は手続きに付いている数字で、手元の1本には付いていない。「真の値が95%の確率でこの中にある」は誤り
  • 区間の公式は4つあるのではなく、手順が1つ。①ピボット量を見つける ②分位点で挟む ③不等式を書く ④パラメータについて解く(反転)
  • σ\sigma 既知の式が要るのは、①tt の必要性を測る基準線 ②比率や件数では σ\sigma が平均で決まるので zz が正しい ③設計時は ss が存在しない、の3つの理由から
  • 母比率は新しい概念ではなく、0/1 データの平均
  • 2本の区間の重なりで差を判断してはいけない。 足せるのは分散だけ(東に3歩・北に4歩=距離5)。差の半幅は2本の半幅を足した値の 0.707 倍
  • 平均の差はウェルチを無条件で使う。等分散時の損は幅 +0.2%、外したときの事故は被覆率 0.65
  • 分散比の FF 区間は正規性が崩れると nn を増やすほど悪化する。FF 検定で等分散を確かめてから tt に進む2段階手続きは被覆率 0.9332 で、得るものがない
  • 標本サイズは n=z0.9752V/E2n = z_{0.975}^2 V / E^2このままだと検出力はちょうど50%。80%なら 2.0432 倍、90%なら 2.7353 倍
  • 途中で結果をのぞくと誤り率が崩壊する(20回で 0.2497)。nn を先に決めて、そこまで見ない
  • nn を積むより α\alpha を厳しくするほうが安い。 nn 20倍で PPV 0.17→0.51、α\alpha を 1/5 にして nn 1.5倍で 0.46→0.81
  • 比率区間の Wald 型は壊れている(n=20,p=0.01n=20, p=0.01 で被覆率 0.18)。ウィルソン区間を既定にする
  • ブートストラップは小標本で狭すぎn=5n=5 で t区間の62%)、分布の端では原理的に壊れる(最大値の被覆率 0.0000)
  • 月31PV のこのブログでは、A/Bテストは最短でも5.8年かかる。効果測定より流入を増やすフェーズ

次回は第10章 「検定の基礎と検定法の導出」 です。今回の最後に出てきた「信頼区間=棄却されない帰無仮説の集合」という双対性を、検定の側から見直すことになります。区間推定で「反転」を4回やったので、ネイマン・ピアソンの補題や尤度比検定も同じ地図の上に置けるはずです。