読者です 読者をやめる 読者になる 読者になる

トレジャーデータ(Treasure Data)公式ブログ

トレジャーデータ(Treasure Data)公式ブログです。

トレジャーデータで実践:A/B テスト(心の準備編)

トレジャーデータはクラウドでデータマネージメントサービスを提供しています。

はじめに

これから数回にかけて,A/B テストおよび仮説検定(A/Bテストはこの検定の枠組みに含まれます)の数学的な理解からトレジャーデータプラットフォームを使っての実践までをご紹介していきます。本シリーズは以下の3編に分かれており,多くの購読者は理論編を読み飛ばして頂いて構いません。

  • 心の準備編(本記事):本シリーズを読まれる全ての方に読んでおいて欲しい記事です。
  • 理論編:数理統計における仮説検定は何なのかについて詳細に説明します。統計学に強い興味のある方にのみ読んで頂ければ十分で,ほとんどの方は読み飛ばしてもらって構いません。
  • 実践編:具体的な例題をいくつか挙げ,検定のための計算式とSQLクエリテンプレートを紹介します。皆様の持つデータに対して是非とも実践して下さい。

※ 本シリーズは過去に私の個人ブログにて紹介したものを再編集しています。

背景

f:id:doryokujin:20150604121532j:plain

データ解析の重要性が認識されつつある近年においても,A/Bテストを始めとしたテスト( = 統計的仮説検定:以後これをテストと呼ぶことにします。)の重要性が注目される事は少なく,またテストの多くが正しく実施・解釈されていないという現状は今も昔も変わっていないように私は考えています。そこで,本シリーズではテストを正しく理解・実施・解釈してもらう事を目的として,テストのいろはをわかりやすく説明していきたいと思います。

A/Bテスト結果をどう解釈すべきか

多くの人はA/Bテストについて色々と間違った解釈を持ってしまっているように思われます。特にその代表が,

(誤1)「A/Bテストは,実施結果の判断(AとBに違いがあるか否か)を(統計量に基づく仮説検定を全く行わないで)人間が判断するものである」

と思われている節があることです。例えばAパターンのテストでのクリック率が3%,BパターンのCV率が3.5%であるという結果が得られた時点で「クリック率が0.5%も違うので,Bの方が効果があったに違いない!」と断定することです。仮説検定を行わない限り,この結果については何も断定できないのです。

また何らかの統計的手法によって判定を行う事は何となく知っていても,

(誤2)「A/Bテストは,統計的手法それ自身が完全な意思決定を行ってくれる(白黒はっきりしてくれるもの)ものである」

は,誤った認識です。以下が正しい認識です:

(正)「A/Bテストは,実施結果の判断を統計的手法に基づいて行うものである。しかしながら,統計的手法それ自信が完全な意思決定を行ってくれる(白黒はっきりしてくれるもの)ものではなく,最終的には人間の判断に委ねられるものである」

さてさて,統計的にやるのに厳密ではないというこの解釈は少し不思議に思われるかもしれませんが,ざっくり以下の3点を覚えて頂ければ十分です。

  • 人間の感覚と統計に基づく検定結果は差違があるので,感覚的に頼って安易に判断してはいけません。
  • 一方,検定結果はある程度の確信度をもって判定してくれますが,必ずしもそれが正しいとは限りません。(100%の確信をもって判定することはできません。)
  • 最も大切なことは,「おや?これとこれは似ているのでは?」と思った時にすぐに統計的テストを実施することを習慣化し,現場の人間の感覚と統計的見地の間にあるずれを補正していくことです。

人間の感覚だけで判断してはいけない事を理解する(誤1について)

本記事のゴールは「人間の感覚だけで次に挙げるいくつかのA/Bテストの結果を正しく判断できますか?できないでしょう?」という主張を理解してもらうことにあります。

まずは人間の感覚と統計による検定結果が同じケースを見てみましょう:

Q.「あるトップページの1つのリンクの色を,青から赤に変える事によってリンク先へのアクセス数が増えるのでは無いか」

という仮説を持った実験者は,その違いをテストしてみることにした。

そこでオリジナルのトップページ(A)と1つのリンクを赤にしたトップページ(B)を作成し,だいたいアクセスが半々に独立かつランダムに割り振られるようにして,A,Bそれぞれのアクセス数に対してそのリンクが実際に押された比率(クリック率)を比較することにした。

双方1000アクセス来た時点で比率を計算すると,Aのクリック率は40%であったのに対しBのクリック率は60%であった。

この結果を受けてAとBには本当に差があると言え,赤リンクにしたことに効果があったと判定できるだろうか?

このようなA/Bテストを考える上で一番始めにすべきことは,問題をより単純な数学問題へすり替える事です。実際の現場で起こりうる上のQのような様々な問題は,統計の教科書を見てもどこにも載っていません。統計の教科書に載っているのは,以下の様な問題です:

Q'.(コイントス問題)

表の出る確率がわからないコインAとコインBがある。表の出る確率をそれぞれ p_a,  p_b とする。コインAとコインBは違う確率を持ったものであるという仮説を持っている実験者は,その違いをテストしてみることにした。

そこでコインA,Bをそれぞれ 1000回ずつ投げてみて,表の出る比率を比べることでそれを確かめようとした。

結果,コインAの比率が 40%であったのに対しコインBの比率は 60%であった。この実験からコインAとコインBには違いがある( p_a ≠ p_b )と言えるだろうか。」

※ ただし有意水準を5%とする。

このA/Bテスト判定問題に関して,多くの人は以下のように答えると思います。そしてこの判断は正しいです。

  • (根拠1:多いサンプル数)1000回という十分なサンプル数があり,
  • 根拠2:数値の明白な差違)さらにAに比べてBは1.5倍も多く表を出している

「よってAとBには結果に明らかな違いがあり,赤リンク効果が実証されている!」

このような明白な例では検定を実施するまでもないのかもしれませんね。また,一部の統計学では検定におけるサンプル数が100以上あると「大標本」とよばれ,検定がしやすくなります。

しかし,上の問を少し変えた以下の問全てに,AとBに差違があると言えるでしょうか?

Q1. コインA,Bをそれぞれ10回投げてみて 40%, 60%であったとき

Q2. コインA,Bをそれぞれ40回投げてみて 40%, 60%であったとき

Q3. コインA,Bをそれぞれ100回投げてみて 40%, 60%であったとき

Q4. コインA,Bをそれぞれ 1000回投げてみて 40%, 60%であったとき(Q'. と同じ)

Q5. コインA,Bをそれぞれ 1,000回投げてみて 48%, 52%であったとき

Q6. コインA,Bをそれぞれ 1,000回投げてみて 47%, 53%であったとき

Q7. コインAを 20回,コインBを 80回投げてみて 40%, 60%であったとき

ただしここでも有意水準を5%とします。この「有意水準5%」というのは「95%の信頼度」を持ったやや厳密な検定であると理解して下さい。実ケースではそもそも独立にAとBの結果を得ることができない(=テストの前提条件が崩れる)ので,有意水準10%のゆるい条件下で検定が行われる場合もあります。

さて,答えは以下となります(最後に手計算とRでの計算結果のリンクを載せています):

  • Q1. → 「差があるとは言えない」
  • Q2. → 「差があるとは言えない」
  • Q3. → 「差があると言える」
  • Q4. → 「差があると言える」
  • Q5. → 「差があるとは言えない」
  • Q6. → 「差があると言える」
  • Q7. → 「差があるとは言えない」

Rによる計算結果

いかがでしょうか?いくつかの問題では自信を持って判定できなかったのではないでしょうか?このバリエーションの問題が難しい(間違える)のは,人間の感覚的な判断を揺るがす(または人によって感覚の差違のある)以下の要素が含まれるからです:

  • サンプル数が少ない場合:Q2, Q3 のようにサンプル数が少ない場合。サンプル数が多い方が違いを見極めやすい事を感覚的にはわかっていますが,実際に数がどれくらいあれば判定に十分なのかはわからず,人によって異なります。
  • 比率の差が接近している場合:Q5, Q6 のように比率が47%と53%や,48%と52%のように接近している場合,(「微妙」という答えは無いため)違うと言える差の境界がわかりません。
  • サンプル数が偏る場合:Q7のようにサンプル数が偏っている場合,双方の結果を平等に眺めることが難しくなります。(注:「サンプル数」= 「コインを投げる回数」)

あらゆる種のテストにおいて上の要素が存在するために,感覚に頼って安易に判断すべきでないことを理解してもらえれば,本記事を書いた甲斐があったというものです。

そして上記のような人間の感覚が類推できる範囲を超えた「サンプル数や双方の数の偏りとの関連の考慮」などが必要となってしまうテストでは,統計的な検定を行って判断することが肝要となるのです。

次回から検定の方法について紹介していきます。