アルゴリズム効果ABテストにおけるPV-UV非対称性

4392 ワード

(転載はパンドラの箱にオリジナルで書いてください)
アルゴリズム効果のABテストとは、同じアプリケーションシーンで、異なるアルゴリズムの効果を比較することです.一般的には、PVまたはUVランダムに流量を計算アルゴリズムに割り当て、計算アルゴリズムのCTRまたは転化率を比較します.簡単に表現するために、対比に参与する計算法は二つあります.比較の指標はCTRです.この中の重要な詳細は2つあります.どのようにCTRを計算しますか?この二つの観点から、起こりうる問題を検討します.
定義1:PVで流量を分けるということは、いずれかにアクセスし、予め設定された比率でランダムにアルゴリズムに割り当てられることを意味します.この場合、各ユーザはランダムにアルゴリズムに割り当てられます.
定義2:UVで流量を分けるとは、いずれかのアクセスに対して、予め設定された比率でユーザIDをハッシュやモード取などの操作を行い、流量をアルゴリズムに区分することを意味し、この場合、ユーザごとに決定されたアルゴリズムが対応する.
定義3:PVでCTRを計算します.CTR_{PV}(A)=\fraac{AアルゴリズムでユーザーがクリックしたPV数}{Aアルゴリズムでは全部のPV数}.
定義4:UVでCTRを計算します.CTR_{UV}(A)=\fraac{Aアルゴリズムでクリックしたユーザ数}{Aアルゴリズムで全体のユーザー数}
シーン1:PVで流量を分け、PVでCTRを計算する.
この場合は比較的簡単で,アルゴリズムに対するユーザの疲労度(通常は合理的である)を無視した場合,この測定コントラストスキームは合理的である.
シーン2:PVで流量を分け、UVでCTRを計算する.
このプログラムは経験がある人はだめだと思うかもしれません.他の学生は問題が大きくないと思います.実は、AAテストの効果で分析してみます.流量を2つの桶に分けて、1番目の桶の比率は$pu 1、2番目のバケツの比率は$pu 2、そして$pu 1+pu 2=1にします.アルゴリズムのPVの変換率を設定します.
ここでは二つの状況に分けて議論します.
第1の場合:実際の変換がどのバケットにおいて生成されても、ユーザが到達する各バケットに転化率を計算すると仮定する.
訪問回数が$K=kドルのユーザに対しては、全体的に$ruka=1-(1−r)^kとなり、i番目の桶に現れる確率は$P(buui\n_K=k)=1-(1-puui)^k、i=1,2ドルで、ユーザが1バレル目に登場することを示す.
したがって、i番目の桶はUVで計算されたCTRである.
E[R𞓜bカムカムカムカムカムカムカムインB]=\sum_{k=1)^{infty}{ruup(K=k=K=k b i\in B)=\sum_{k=1}{{inffty}\fraac{rup p p{ruuup p p P(buuup/B=BBBBBuuuk=B=BBBBBuuuuuuuk=f f f f f f))))=========={fffttttttttttttttttttttf f f f f f f f f f f f f f f f f f f f f f f f buui\in B|K=k)P(K=k)}{\sum_{k=1}^{\infty}{P(buui\in K=k)P(K=k)}$
を設定します.
$E[Rガイ\in B]=\frac{\sum_{k=1}}{infty}(1-(1-r)^k)、(1-(1-puui)^k)\alphauki}{sum_{k=1}{infty}
puuie[R|b j\in B]$
この距離を説明するには、$p_1=0.1、pu 2=0.9ドル、$alphau 1=0.5、\alpha_2=0.35、\alpha_2=0.35、\alpha_3=0.15ドル、r=0.015ドル、つまり流量比は1:9で、訪問回数はそれぞれ1、2、3の人の割合は10:7:3で、PVで1バレル目の場合はCTB=0.015です.変換率は$E[R|b_2\in B]=0.0251ドルです.つまり、第1の桶は第2の桶AAテストよりUVで測定したほうが15.11%効果がいいです.つまり、大桶はこのシーンのテスト指標がマイナスです.
サイズ別の割合でのAAテストの比較:
             CTR     CTR         
    0.0100    0.0292    0.0246    0.1871
    0.0200    0.0292    0.0247    0.1831
    0.0500    0.0291    0.0248    0.1710
    0.1000    0.0288    0.0251    0.1511
    0.2000    0.0284    0.0255    0.1117
    0.3000    0.0279    0.0260    0.0734
    0.4000    0.0275    0.0265    0.0361
    0.5000    0.0270    0.0270         0
結論:PVによって流量を分けると、UVで転化率を計算します.取引がどのバケットで発生したかに関わらず、転化率をそのユーザが到達した各バケットに計算します.このシーンのテスト指標は比較的にマイナスです.この場合、ドラム缶からの推薦効果の中で、「つや」が大きいバケットより大きいということが直感的に分かります.
第2の場合:転化はどの桶で発生し、転化率をその桶に算入する.
第1の場合に対しては、このような状況がより一般的になります.「より公平に見える」ため、実際にはそうではありません.依然として第1の場合の符号を借りて、UV変換率とPV変換率の関係は以下の通りです.
E[R𞓜bカムカムイイイイイイイイin B]=\fraac{\sum_{k=1}^{infty}{\sum{u{l{l=1}{k}{1-(1-r)^l){k/chose l}pui^l(1-puui){k}{k}}}{k}}}p-l{p-l{p-l}}}puu{p}}}}}}}}}}}}}}}}p-l{p-l{p-l{l{p-l{p-l{p}}}}}}}}}}}}}}}}}p-l{p-l{p-l{p-l{p-l{_i)^{k-l}\alphauki}$
証明できます
継続状況1の各種データは、この場合、UVで1番目のバレルの転化率が$E[R|b_1\in B]=0.0157米ドル、2番目のバレルはUVで計算される転化率が$E[R|b_2\in B]となります.=0.0234ドルです.つまり、2番目の桶は1番目の桶AAよりもUVで測定したほうが効果がいい48.59%です.つまり、小桶はこの場面でのテスト指標がマイナスで、1番目の場合より不公平が大きいです.
サイズ別の割合でのAAテストの比較:
            CTR      CTR        
    0.0100    0.0151    0.0244    0.6222
    0.0200    0.0151    0.0243    0.6065
    0.0500    0.0154    0.0240    0.5603
    0.1000    0.0157    0.0234    0.4859
    0.2000    0.0165    0.0222    0.3467
    0.3000    0.0173    0.0212    0.2199
    0.4000    0.0182    0.0201    0.1046
    0.5000    0.0192    0.0192         0
結論:PVによって流量を区分し、UVで転化率を計算すると、どのバケツの中に取引が発生したかを転化率で計算し、ドラム缶はこのシーンでのテスト指標がマイナスになります.この場合、ドラム缶の中ではユーザーの行動回数が大きな桶の中より少ないため、転化率が低いと直感的に理解されます. 
シーン3:UVで流量を分け、PVでCTRを計算する.
この場合、各ユーザは決定的なアルゴリズム処理に区分され、アルゴリズムが割り当てられたユーザが少ない場合、ユーザの挙動の違いが大きい場合、小さな流量アルゴリズムの指標は一定の干渉を受けるが、多くの場合には合理的に無視できるということが、合理的に提案されている.
シーン4:UVで流量を分け、UVでCTRを計算する.
この場合、各ユーザは決定されたアルゴリズム処理に分割され、シーン3の結論を参照すると、スキームはより合理的である.
なぜこのような問題が発生したのか?本質的には、ABテストでは異なるバケツ間の流量が交差するため、この交差部分の流量はどのように統計しても影響と問題が発生する可能性があります.特に統計指標は交差要素のID(ユーザID、クッキーなど)です.ABテスト中の交差点を根本から根絶し、各テストバケツ間の相互に影響を与えないようにします.
2つの試験バケツの流量の不均衡を解決するために、シーン2の流量に対して考えられる人がいるかもしれません.例えば、その90%の流量を2つの部分に分けて、80%の流量バケツ(第3の桶、Aアルゴリズム)は試験に参加しません.1つは10%の流量バケツ(第2の桶、Aアルゴリズム)と、もう1つは10%の流量バケツを加えます.(第1のバケット、Bアルゴリズム)この時A、Bの両アルゴリズムのテストバケットの中の流量の大きさが等しいということは、公平ではないですか?
No!原因は、第2の桶と第1の桶は同じアルゴリズムで、ユーザーに展示された結果がより近いため、第1の桶はテストに参加しないが、依然として干渉が発生し、この干渉は異なる効果統計方式で異なるテスト偏差として表れているからです.
 
転載先:https://www.cnblogs.com/bqzhao/p/3259380.html