ABテストと統計数字(A smart bearのblogから)

カイ二乗値が4より上の組み合わせ(A,Bの回数)を緑色にしてる。
ちなみに、カイ二乗が自由度1で値が3の時、p値は0.92。4で0.97くらい?

僕を含めた大部分の人は統計が苦手。だって直感じゃだめだから。そこで、英語で書かれたblogで良い記事を見つけたので、紹介します。Adwordsを題材にしています。

http://blog.asmartbear.com/easy-statistics-for-adwords-ab-testing-and-hamsters.html(ハムスターの動画がかわいい)

* Google AnalyticsでABテストやりたい! という人は、Google Analyticsでのマルチカスタム変数を使ったA/Bテストの例があります。http://www.rowtheboat.com/archives/39 (AB Testing with Google Analytics)。参考として。

基本は、コインの裏表が出た回数が、どれくらい開けば、インチキと言っていいのかの話だと思います。ABに差があると。

数式は、http://blog.asmartbear.com/easy-statistics-for-adwords-ab-testing-and-hamsters.htmlの引用で、

Okay okay, we suck at math. So what’s the answer? Here’s the bit you’ve been waiting for:

The way you determine whether an A/B test shows a statistically significant difference is:

  1. Define N as “the number of trials.”
    For Hammy this is 8+4 = 12.
    For the AdWords example this is 32+19 = 51.
  2. Define D as “half the difference between the ‘winner’ and the ‘loser’.”
    For Hammy this is (8-4) ÷ 2 = 2.
    For AdWords this is (32-19) ÷ 2 = 6.5.
  3. The test result is statistically significant if D2 is bigger than N.
    For Hammy, D2 is 4, which is not bigger than 12, so it is not significant.
    For AdWords, D2 is 42.25, which is not bigger than 51, so it is not significant.

(For the mathematical justification, see the end of the post.)

AとBの回数を足したのがN。AとBの差を引いて半分にしたのがD。Dを二乗してD2。D2がNより大きくなれば、晴れてイカサマ(信頼度がある)と言っていい。adwordsなら、AとBで勝負が付いた!という話になる。

  • 条件はAとBのimpression回数が同じ(adwordsのデフォルトは、そうでなかったかも?)
  • Aのクリック回数がA,Bのクリック回数がBとして、
  • Nは、A+B。クリック総数。Dは(A-B)/2
  • 上の例だと、32と19という数字でも十分ではない。34対19までいけば十分イカサマ。

これで、終わり。34対19だと、差(D)が15/2=7.5なので、7*7=49, 8*8=64で、N=53を超えそうだなあ、、という感じです。

かけ算の九九で、ABテストの結果を判別する話でした。


ちなみに、この記事(http://www.fallinstar.org/2010/01/ab.html)での数字は、350/4963, 285/4953 ですね。

少し強引ですが、同じ回数の試行と考えるために、350, 286 とすると、

D=1024  > N=636 となり、

と晴れて有意に差があると言えます。仮に、350, 290でも、D:900 > N:640で、差(カイ二乗値が4超え)はあると言えます。

信頼度がどれくらいかみておきましょう。http://stattrek.com/Tables/ChiSquare.aspx

ここでみると、自由度1のカイ二乗値が6.15の場合は、98-99%の有意水準になります。逆に言うと、1ー2%くらいはこういう結果になり得るみたいなので、100回同じページでのABテストをやっても、1,2回くらいこういう結果がありそう、とも言えそうです。

とりあえず、テストを打ち切る場合には、信頼度はこれくらいだったとメモを残しておけば良いのだと思います。何かの御札になるかもしれません。


Q&A

でも、その記事が良いのは、その後のバックグランンドの説明と、コメントのやりとりが教育的な事。とても良い記事です。

詳しくは読んで頂くとして、 僕が理解したことは書いていきます。

インプレッション数は関係ないの?

(訂正: 同じインプレッション数という前提で) 関係ないです。クリックされなかったという事はA/Bの差に関する話には関連しません。今回は、AとBが同じ確率であるはずという前提で、Aがクリックされた数とBがクリックされた数を比較してるだけの話です。

カイ二乗値の出し方

我慢して数字を飲み込みましょう。

  • 出す数字は、(実際の結果の数字 – そうであるべき数字)を二乗して、回数で割ったものです。
  • 今回は、その数字をAとBについてやるので、AとBで出た数字を足し上げて、試行回数で割ります。
  • それぞれの試行期待回数が、N/2になるのは、A/Bテストだからですね。100回コインを投げたらN/2の50回になって欲しいですよね。

数式も引用させてもらいましょう、(nと小文字になってますが、見易いので、僕の文では大文字のNにしてます、総試行回数と結果回数がこっちゃになりますが、気になる人にはごめんなさいです)

分数の計算をして、

  • (A*A + B*B – AN – BN + N*N/2)/(N/2) で、
  • Dは、(A-B)の差を半分にしたものだったので、2D=(A-B)で、
  • N=A+Bなので、N*N=A*A+2AB+B*Bとして、
  • ガチャガチャして、
  • 4D*D/Nです。 カイ二乗の値が。

それで、自由度1(A/Bの二つを比べるので1)のカイ二乗値の表を引っ張りだす or Excelを使って(冒頭の図は、Google DocsにExcelからコピーしたもの)出します。このカイ二乗値(実際の値とあるべき値の差を取って、二乗して、割った値)は、大きくなればなるほど、あるべき値から離れていて、イカサマ具合が増す数字です。3.8までいくと、95%くらいは、、、、イカサマと言っていいです。A/Bが半々とは、とても信頼できないです。

以下、数字で感覚をつかみます。

カイ二乗値(自由度1)が6.6までいくと、99%あり得ない。

3.8とか6.6とかのカイ二乗値は、上でガチャガシャやって 4D*D/Nでした。Dは、1番最初にやった、とにかく、AとBの差を取って半分にしろ! と言って便宜的に決めた数字でしたね。D = (A-B)/2

4D*D/Nの計算値が、4くらいまで膨らめば(Dが大きくなる = 差が開く)、まあイカサマというか、あるべき数字からは外れてると考えると、4くらいまで来てる、4D*D/Nが、なので、4=4D*D/Nで、D*D = N ですね。

8くらいまで値が外れてる事になれば、4D*D/Nが8なので、   D*D = 2N ですね。(信頼区間の数字は限りなく100%でしょうが)

冒頭にやった 31対19でいくと、D=(31-19)/2=6, N=50で、 4でも 36と50,8だと 36と100で話にならないですね。

35対19でいくと、D=8,N=54で、 4(カイ二乗の値)だと、64と54で、イカサマラインをやっと超えました。

というわけで、あるべき数字からのズレを計算して、分布表から、これくらいズレてれば、OKという数字をみてみました。4という数字の信頼度はネットの分布表をみたら、96%でした。なので、差を取って、半分にして、二乗した値と、それぞれの回数を足したものを比較して、差を取った方が大きければ、会議で、こっちのがコンバージョンが取れるパターンといえますね。保険として、100回に4回くらいで、同じクオリティ(コンバージョンが取れる)でも、こういう結果は出ると言っておくべきかもしれません。

以下: ココらへんから怪しくなる(2013/04/08)

信頼度10%だと、カイ二乗値は2.7なので、概算で、回数の方を7掛けにして、比較しても良いかもしれません。31対19は、ちょうど2.7くらいになるので、9割方は、こっちで良い!と言える話になります。

ビジネスの算段は8割方OKでイケの話だと、カイ二乗値は1.6くらいなので、回数を4掛けでいいです。50回なら20ですね。30対20なら、((30-20)/2)^2は、25なので、8割方違うとなります。29対21になると、8割でもそうだと言えないです。

*あくまでも、二者択一で、お互いの結果の原因に関連が無い場合です。それでも29対21だと8割方と言えない、、、という話になります。普通は、お互いの結果の原因は出所が同じで、どの出所の量で結果が決まったりするので、その場合は別に考える事になります。この場合は、ユーザの偏りとかでしょうか?

冒頭のGoolge Docsのテーブル図は、ここらあたりをまとめたものです。

T分布の話

CTRの数字をT検定するのではだめなのか?という話ですが、adwords(AB)は二項分布だけど、確率小、回数大だからいけるとありますが、よくわからなくなったので、パス。だれか解説して下さい。

破産、ガケからの転落のメタファー

上で出した表ですが、有意ゾーンに入った瞬間にテストの打ち切りをすると、結果にバイアスがかかります。

メタファーとしては、崖から落ちる酔っぱらいの話がでてます。僕は、昔、相場の人だったので、破産確率の話と同じだと思いました。人の信頼みたいなのも、こういう感じでしょうか?数式は難しくて、分からないのでパスします。

a smart bearのblogでは、回数(コンバージョンの数)を予め決めておけ!という話になってますが、少なくとも、実際に判断に使う有意水準より、テスト期間中では、その水準を引き上げておくべきなのは確かでしょう。

サンプル数の話

5個以上はいる。統計的にそうらしいです。理由はわかりませんので、分かるように説明してくれる人がいたら嬉しいです。

テストは、現場の判断で切り上げる事は多いでしょうが、どれくらいの信頼度で、そのテストを切り上げたかをメモとして残せば、暗黙知から形式知への転換の可能性も残ると思います。

コメントを残す