トレジャーデータで実践:A/B テスト(理論編)
本記事は移転しました。新サイトにリダイレクトします。
はじめに
トレジャーデータはクラウドでデータマネージメントサービスを提供しています。
本記事ではテストの概念および解釈の方法について説明します。はじめに統計学を強力にサポートする確率論の「大数の弱法則」「中心極限定理」を紹介し,次に背理法に基づくテストの概念を紹介します。
Ⅰ. 統計学の基本スタンスについて
私達が手元に得られるデータというのは,たいていの場合が全体(母集団)の中の一部(標本)である事が多いです。例えば労働調査データでは国民全員のデータでは無く,その中の10万人を独立ランダムにピックアップしたものです。
また,母集団の中からどのようなルール(分布)に従って標本が得られるのかもわからないことが多いです。例えば(必ずしも平等でない)コイン投げでは,その母集団は {表, 裏} であることは知っていても表がどれくらいの確率で現れるのかはわかりません。
世の中の多くの事象というのはこのように母集団や分布といったそれの本質的な部分を知ることはできず,そこから抽出される一部の標本の持つ(統計量と呼ばれる)情報からそれらを類推しないといけません。
統計学(特に推測統計学と呼ばれますが,ここでは統計と呼ぶことにします)というのは,得られている標本の統計量(標本平均や標本分散)をもとに全体(母集団)や真の分布をテスト(検定)したり推定したりする学問領域です。
Ⅱ. 現実と神の世界を結びつける架け橋:確率論
統計は,現在手元に得られている標本から理論上の真の分布や母集団の情報(誰も知り得ない言わば神の世界)を想像しようとしますが,そのためには「現実」と「理論」を結びつけるための何かしらのサポートが不可欠です。この大きな隔たりを極限の世界において華麗に結びつけてくれるのが「大数の弱法則」と「中心極限定理」と呼ばれる,確率論より導かれる性質です。
大数の弱法則
が,平均 ,分散 の独立同一な確率変数列であるとする。今, と置いたとき,任意の ε > 0 に対して,
が成立する。
大数の弱法則を大まかに言えば,標本数 n を十分に大きくしていけばその標本平均は定数 μ(真の平均)に限りなく近づいていくということを表しています。コイン投げの文脈では,試行回数が多ければ多いほど実験で表の出る確率は真の確率,つまり真のコインの姿をより鮮明に浮かび上がらせる事ができることを示しています。
中心極限定理
とすると、の標準化統計量 は平均 0, 分散 1 の正規分布 N(0, 1) に分布収束する:
- 。
コイン投げから観察する「大数の弱法則」と「中心極限定理」
ではコイン投げを例に,大数の弱法則と中心極限定理の持たらす意味を考えてみることにしましょう。今,平等なコインのコイン投げにおいて表の出る確率を実験によって求めてみる事にします。
※ コイン投げでは,i 回目のコイン投げにおいて表が出たときに1, 裏が出たときに0を取るような確率変数 を仮定すると,独立な変数列 の和 は表の出る回数を表していることになり,これを標本数 n で割った平均 は表が出る確率を表している事になります。この時 をベルヌーイ確率変数とよび,和 の分布は二項分布に従います。
大数の弱法則
大数の弱法則が意味するところは,コインを投げる回数を増やしていけば行くほど,実験から求めた表の出る確率は真の確率 1/2 に近づくことを示しています。コインを n = 1,2,…,1000回独立に投げた場合の表の出る確率をグラフにしてみると,
のようになり,確かに n が大きくにつれて確率 1/2 に近くなっていきます。Rにおけるサンプルコードはこちら。
中心極限定理
標本数(試行回数) n を一定の値に固定し,毎回コインの表が出ると1, 裏が出ると 0 を標本として取る事にします。ここでは標本平均では無く標本の和,つまり表の出る回数 s を求める動作を 1 セットとして,これを数セット繰り返しヒストグラムを描くことで表の出る回数 s の分布を見てみることにします。下図は左から標本数を n = 10, 20, 1000としたときの分布を表しています。標本数が大きいほど,表の出る回数の分布はこの定理より導かれる平均 n*0.5,分散 n*0.5*0.5 の正規分布を良く近似していることがわかります。(ここでセット回数は関心の中心ではありません。ヒストグラムの様子を良く表すために n に応じて回数を増やしています。)
また,パラメータ σ = 100 の指数分布においては,標本数 n が大きくなるほど,標本平均の分布がよく正規分布を近似している事がよくわかります。
Rでのサンプルコードはこちら。
標準正規分布
標準正規分布は平均 0, 分散 1の正規分布です。この確率密度関数のグラフは以下の図様に表されます。縦軸は出やすさの度合い,横軸の値は標本値(標準正規分布における横軸の値をz-valueと呼ばれます。)を表しています。縦軸が最大となる標本値はその平均 0 に一致し,そこを頂とする山を形成しています。これは標準分布に従った標本を抽出していく場合には,平均値 0 周りを中心に多くの標本値が得られることを意味しています。100個の標本値の様子をRで実験してみましょう。
Ⅲ. テストの概念について
- [大数の弱法則]: 標本数が十分大きければ標本平均は真の平均に近づいていく。必要ならば真の平均の代替としてこの標本平均を用いて計算を行う事が可能である。
- [中心極限定理] :標本数が十分大きければ元の標本が従う分布が何であっても,標本平均の分布は近似的に正規分布 N(μ, σ^2/n) に従う。さらに標準化と呼ばれる変換を施すことによって得られる統計量 T は標準正規分布 N(0,1) に従う。
- [稀なケース] :標準正規分布においてz-valueが区間 [-1.96, 1.96] 内に収まらない確率は 5% でしかない。(ここで 2. における統計量 T と3. における z-value は同じである。)
定義
「テスト(仮説検定:Hypothesis Testing または有意性検定:Significance Test)とは,母集団または真の分布について設定した仮説の妥当性の判断を,標本を元に計算する統計量を元に一定の確率水準で判定する事である。」
概念
A/Bテストの同型問題であるコイン投げの例では「コインAとコインBの表の出る確率は異なるはずだ」とういう仮説の下でテストを行います。今コインAの表の出る確率を p_a, コインBのそれを p_b とすれば,この仮説は数学的表現として「p_a ≠ p_b である」と表すことができます。しかし実際に設定する仮説は,その対となる「p_a = p_bである」の方になるので注意が必要です。(「p_a = p_bである」という仮説を帰無仮説,これに対立する「p_a ≠ p_bである」という仮説は対立仮説と呼ばれます。 )
- テストは背理法に似た論法を持って仮説の検証を行う。(背理法とはある主張を真としたとき,その主張に矛盾がある事を示すことでこの主張を否定する方法である。)よって支持する仮説は対立仮説に据える。
- 帰無仮説によって,母集団および真の分布についての何らかの設定がなされる。これによって中心極限定理を利用することができるようになり,標本から求めた統計量 T が標準正規分布に近似的に従う事が言える。統計量 T を求めるに当たって,不等号や≠を用いている設定よりも等号のみで成立している設定の方が遙かに計算が容易になる。
帰無仮説を棄却するということの意味
(今後は区間 [-1.96,1.96] を「採択域」,採択域の外側を「棄却域」と呼ぶことにします。)
第一種の誤り・第二種の誤り
ただ,本当に稀なケースに遭遇していた可能性もありえます。帰無仮説を誤って棄却してしまう(これを第一種の誤りと呼ぶ)可能性です。
問:『今年,新型かもしれないインフルエンザ n1 が流行の兆しを見せている。もし過去に類を見ないタイプであればすぐに新薬を開発して流行を食い止めなければ大変な事になる。そこで,n1 が本当に新型かどうかを確認するために,患者の症状および血液検査の結果を,過去の似通ったインフルエンザ n2 が流行した際に取っていた結果と比較し,結果に差があるかどうかをテストすることにした。帰無仮説を「インフルエンザ n1 と n2 は同じである」とした時,第一種の誤りおよび第二種の誤りが何であるかを指摘し,それがもたらす影響を考え,どちらが重大な過ちであるかを考えよ。』
- 第一種の誤り: n1 は過去のインフルエンザ n2 と「同じ」ものであったのにも関わらず,誤って「有意に違う」,つまりn_1 は新型である」と判断してしまい,新薬の開発に無意味な研究費を投じてしまいました。
- 第二種の誤り: n1 は過去のインフルエンザ n2 と「異なる」ものであったのにも関わらず,誤って「同じである」と判断してしまい,過去の効果のない薬を提供する判断を下したために流行が拡大し,より多くの人命が危機にさらされてしまいます。
Ⅳ. A/Bテストにおける統計量の計算方法について
(※ 統計量の計算とそれの従う分布について,興味の無い方は種々の公式だけ覚えておけば良いので読み飛ばしてもらっても構いません。)
サンプル数とサンプル数の偏りの影響
心の準備編では,「テストの判定が(人間の感覚的に)標本数の大きさや,標本数で偏りで信念が揺らぐ」傾向にあるという事に触れました。これは先ほど求めた統計量 T が標本数 n_a および n_b の値に依存していることより正しくそれが言えます。今回のA/Bテストで導かれた統計量は n_a や n_b が大きくなれば分母が小さくなり,統計量 T としては値が大きくなる傾向にあります。これは区間 [-1.96, 1.96] からどんどん遠ざかっていく事を意味し,「とっても稀なケース」としてより確信度高く帰無仮説を棄却できます。
p-値
Ⅴ.「AとBの母平均に差があるか」という問題に対するアプローチ
本章では,A/Bテストの一種である「AとBの母平均に差があるか」という問題をとりあげて詳細に説明していきます。これに対するアプローチは,まず十分な数の標本からの標本平均を計算し,これを母平均の替わりをさせようとするところから始まります。
しかし,標本平均は"確率変数"であったので同じテストを複数回行うならば,標本平均 と はだいたい各母平均の近くにばらつくものの,その位置関係・距離関係は毎回異なります。
- 左図は母平均が同じ(ここではあくまで母平均の違いについて関心があるので,分散は異なっていても良い)場合。A, Bの標本数が十分に大きければ,得られる各標本平均は同じ値の母平均の近くでばらつくので標本平均間の距離も小さくなる傾向がある。
- 中図は母平均が異なる場合。得られるA, Bの標本平均は,各母平均の近くでばらつくので,標本平均の距離は自然と離れている傾向がある。
- しかし右図のように母平均が異なる場合でも,"たまたま" A, Bの標本平均の距離が小さくなるようなケースが得られる場合もある。また逆に,母平均が同じ場合でも,"たまたま"標本平均の距離が離れる場合もある。この場合は厄介である。
では,どのようにしてAとBの真の「違い」を判断すれば良いのでしょうか?A, B の標本平均がどれくらいの距離内におさまっていれば良いのでしょうか?
帰無仮説を持って棄却する,というアプローチ
ここから前に進む方法は,まずは「母平均が等しい」と置いてみることから始まります。そのように仮定することで,2つの標本平均から新しい統計量 T を作ることができます。この T もまた実験の度に変動する確率変数ですが,T は母平均が等しいという仮説の下で,平均 0,分散1の標準正規分布に従います。しかしこの仮定が不適切な場合は T はこの分布のはるか両端に追いやられることになります。つまり統計量 T への変換は「標本平均の差」が元々大きければ大きいほど両端遠くへ,小さければ小さいほど母平均値 0 の近くにばらつくようにする変換なのです。
また,T の従う分布は言わば「母平均が 0 であるという帰無仮説の支持率」を示す診断と考えてることができます。「有意水準」というのは「この値以下の支持率なら帰無仮説を疑う」任意の値です。有意水準 0.05 というのは,「T の支持率が5%以下ならば帰無仮説を受け入れない」ことを意味します。
A,B の母平均が同じ場合
- Case1 は母平均が同じで,共に母平均周りに標本平均がとれた場合。この場合,変換後の T は 0 の近くに移動する。この時の帰無仮説の支持率は非常に大きくなる。
- Case2, Case3 では"たまたま"いずれかの標本平均がその母平均から離れた値であった場合だ。この場合は標本平均の差は大きくなり,変換後では両端にとばされてしまい,支持率は低いと見なされてしまう。(第一種の誤り)
A,B の母平均が異なる場合(μ_A < μ_B)
A, B の母平均が異なり,かつ μ_A < μ_B の場合です。
- Case4 の場合はもとの母平均の違いを標本平均が良く表しているために,変換後の T は右端へ追いやられる。これによって帰無仮説の支持率は低くなり「μ_A = μ_B」という帰無仮説は棄却され,「AとBには有意な差がある」と判断できる。
- Case5, Case6 は厄介である。本来母平均が異なっていながら標本平均の差は近くなってしまっている場合だ。この場合は帰無仮説を支持し,棄却できないという「第二種の過り」を犯してしまうことになる。
A,B の母平均が異なる場合(μ_A > μ_B)
A, B の母平均が異なり,かつ μ_A > μ_B の場合です。
- Case8, Case9 は先ほどと同じく,「第二種の過り」を犯してしまう例である。
A,B の母平均が異なる場合(μ_A < μ_B):片側検定
実は片側検定という考え方があります。AとBが単純に「違いがある」という対立仮説を作るのでは無く,「母平均Bの方がAよりも大きい」という対立仮説を立てる方法です。この場合「μ_A > μ_B」である事は全く関心が無いので,変換後の T が右側に飛ばされることがのみが棄却の動機になります。この場合の有意水準 0.05 というのは棄却域を今まで両端併せて 5% の領域と考えていたものが,今度は右側だけ考えて全体の 5% の領域となります。同じ値 T でも両側検定と片側検定の場合ではp-値が異なってきます。
「帰無仮説を棄却できない→何も言えない」というロジックについて
さて,帰無仮説を棄却できない場合は「AとBは同じ」と結論づけるのではなく,「何も言えない」という結論をするべきだと何度も行ってきたが,ここで改めてその理由を考えてみよう。
上図の Case5, Case6, Case8, Case9 をもう一度見て下さい。このケースは本来AとBに差があるのに棄却できなかった第二種の誤りの例であるが,これらがどれくらいの確率で起こりうるのかは全く未知なのです。もし本来異なるのに同じと判断してしまう確率が 30% だったらどうでしょう?「同じである」と判断しても,30% で間違っているのだからテストの信憑性は全く無くなってしまいます。このように,帰無仮説を容認することは,未知の確率で起こる第二種の誤りを内在することになってしまうので,精神衛生上大変よろしくないです。「何も言えない」という判断は,これよりはむしろ無難な判断をしていると言えます。
ⅤI. まとめおよびその他のテストに関して
ここではA/Bテストの例しか取り上げませんでしたが,テストは様々な種類があります。それによって計算する統計量 T と T に従う分布は異なってきます。今までは標準正規分布に従う統計量を用いてきましたが,その他にも t 分布・F 分布・χ^2 分布に従う統計量が存在します。それらはどれも出発点は中心極限定理と標準正規分布にあります。ただサンプル数の大小,または分散が既知か未知かによって計算することのできないパラメータが存在するので,それを四則演算によって巧みに打ち消すようにして作った統計量が t 分布や F 分布に従うのです。ただし,基本的にはどのテストにおいても,その概念は変わることはありません:
- 大数の弱法則および中心極限定理がテストを強力にサポートする。
- 棄却を目的として,帰無仮説をこしらえる。
- 帰無仮説の下,標本からある分布(正規分布・t分布・F分布・χ^2分布など)に従う統計量 T を求める。
- 統計量 T がその分布の元で稀なケースかどうかをチェックする。(p-値はどれ位稀なケースか、言い換えればどれ位の確信度を持って帰無仮説を棄却できるかを計るための、あらゆる統計量において有用な指標である。)
- 稀なケースであり,帰無仮説を疑う方が妥当であると判断できる場合は帰無仮説を棄却し、対立仮説を採択する。そうでないなら何もわからないと判断する。
- あらゆるテストは誤りの可能性を排除できない。また,第一種の誤り確率は有意水準に等しく制御可能であるが,第二種の誤りは制御不可能である。