javascript - PHP mt_rand 真的是随机的还是可能有偏见?

标签 javascript php random adsense ab-testing

我在我的网站上用类似的东西做了两个基本的 A-B-C 测试

if(mt_rand(0,2) == 0){
//THROW IN RE HERE 
}elseif(mt_rand(0,2) == 1){
//THROW IN LR HERE
}else{
//THROW IN LB HERE
}

我原以为这三种情况发生的频率相同(占所有网页浏览量的 33.3%)。然而,印象(由 Google Adsense 衡量)显示出非常不同的分布。有趣的是,两个测试(下面的两个图表)都显示出相似的模式:LB 出现最多,然后是 RE,然后是 LR。

样本量有数千,因此随机发生这种情况的可能性实际上为零。

我是不是误解了 mr_rand()?有人知道它是否经过适当测试吗?这些奇怪的模式还能怎么出现?

enter image description here

最佳答案

您正在运行 mt_rand 测试两次。您有选项 0、1 和 2。如果测试为 0,则抛出 RE。如果不是,(即它是 1 或 2),您再次运行相同的测试(再次使用选项 0、1 和 2)。在那里测试 1,如果是,则抛出 LR。如果不是(它是 0 或 2)你扔 LB。如果您需要,我可以进一步解释..

    $number = mt_rand(0,2);
    switch ($number){
     case 0:
       //do re
       break;
     case 1:
       //do lr
       break;
     case 2:
       //do lb
       break;
    }

或者这也可以完成工作

if(mt_rand(0,2) == 0){
//THROW IN RE HERE 
}elseif(mt_rand(0,1) == 1){ //we've stripped RE out, no longer deciding from 3 options
//THROW IN LR HERE
}else{
//THROW IN LB HERE
}

关于javascript - PHP mt_rand 真的是随机的还是可能有偏见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39213143/

相关文章:

javascript - 带有 localStorage 的数组不保存或被覆盖?

c++ - 为什么每次RNG的结果都一样?

javascript - 使用 javascript 随机调用函数时,如何确保至少一个元素的可见性?

javascript - 检测 ES6 类中的静态超方法

javascript - 从数据库加载时克隆选择

javascript - 有没有什么方法可以将坐标保存为跨度的属性?

php - Laravel - Cloud9 Paginator 生成不需要的 https 链接

php - 当变量变为 0 时无法停止代码执行

php - Mailjet剥离<style>标签,应用其自己的内联样式

C++ 计算事件的概率