人工智能之辛普森悖论:解密撒谎的数据

数据架构 2019年 04月 26日

辛普森悖论以统计学家爱德华•辛普森 (Edward Simpson) 和乔治•U•尤尔 (George Udny Yule) 命名。在所有统计学研究中,都会发现辛普森悖论的身影,其中尤以医学统计居多。其实,该悖论可谓“放之任何统计案例而皆准”,特别是在市场营销领域内。下面,来看看辛普森悖论为“撒谎的数据”带来的新解吧!

“世界上有三种谎言:谎言、可恶的谎言和统计数据。”

——马克•吐温

辛普森悖论的主阵地:医学统计

首先,我们来看一个医学统计的例子。假设我从医生处得知自己得了肾结石,该医生向我展示了两种疗法效果的对比数据。疗法A为开刀手术,疗法B为微创手术(即:经皮肾镜取石术)。两种疗法效果对比如下:

从两组数据对比结果来看,我似乎应选择疗法B,因为其成功率更高。

但为了谨慎起见,我又咨询了一位医生。第二位医生向我展示了从同一个疗法实验中得出的另一种数据对比结果:

据该医生解释,肾结石只分为小结石和大结石,没有中等大小的结石。而根据以上数据对比结果,他推荐使用疗法A,因为无论是治疗小结石还是大结石,疗法A的成功率都更高。

天呐!现在我该怎么选?

先来看看那些错误的回答:

  • “开刀手术的失败率更高,所以我选择疗法B”

那么从另一种统计方式来看,我们也可以认为应当选择疗法A。

  • “样本数太小,数据无法说明问题。”

 针对这种说辞,即使将样本人数乘以100万,统计结果仍然一样。

因此,正确答案是……疗法A!从统计结果可知,在小结石和大结石的治疗效果这两组数据中,疗法A的效果都好于疗法B。那么为何当我们更粗泛地对比两种疗法的数据时,会得出完全相反的结论呢?

奥妙就在于“肾结石大小”是一个混淆变量,即无论对于何种疗法,该变量都会同时影响疗法选择和疗效

如果单看大结石的治疗数据,会发现其两种疗法的效果都弱于小结石的治疗效果。这也就是说,大结石更难治疗。而疗法A更常用于治疗大结石, 更少用于治疗小结石;而疗法B的治疗情况却恰恰相反。因此,疗法A的整体疗效数据被拉低了,而疗法B的整体疗效数据反而被抬高了。

如果你对此仍无法确信,再来看看第二个例子。如果你想比较两名业余网球选手的实力,但他们由于相隔太远而无法进行实地比赛,这时就需要比较他们两人的数据表现了。第一位选手90%的时间都在与网球名宿纳达尔(Nadal)和费德勒(Federer)比赛,只有10%的时间与小孩子比赛;而第二位选手的情况则完全相反:90%的时间与小孩子比赛,10%的时间与纳达尔和费德勒比赛。而如果单看两位选手的胜利率,第一位选手自然看起来水平更差。在这个例子里,“对手的实力”就是一个混淆变量。

营销领域内的辛普森悖论

那么,在市场营销领域,辛普森悖论又是如何起作用的呢?

我的网站有两套个性化用户体验算法,我想知道哪种算法的效果更好,因此我进行了一个简单的 A/B 测试。在这个测试里,我向50%的新访客展示A版本,向另外50%的新访客展示B版本。若某个访客之前已见过其中某一版本,那么为了避免混淆两个版本的受众,我会继续向该访客展示之前的版本。一个月之后,我查看结果,发现使用A版本的访客中有10%的人购买了产品,而使用B版本的访客中只有7%的人购买了产品。

我虽然对这个结果感到满意,但还是秉持着谨慎的态度,决定再进行一个月的对比测试。鉴于此前版本A的表现更佳,这次我改变了两种版本的展示比例:80%的网站新访客会看到版本A,20%的网站新访客会看到版本B。与之前一样,回头访客会继续看到与之前相同的版本。第二个月月末,我查看两个版本的总体表现时,发现版本A的市场转化率为9%,而版本B的市场转化率竟达到10%。

那么,知道问题出在哪儿了吗?

和之前例子的问题一样!在该案例中,用户历史便是混淆变量。对品牌已有所了解的回头访客自然更有可能实现转化。在第二个月里,版本A的用户中有许多新访客,而新访客是块难啃的硬骨头,他们的转化难度更大,这自然就拉低了版本A的总体表现。但如果就用户历史这个变量对比两个版本的表现,会发现版本A的表现依然更胜一筹。

新访客转化表现

 

回头访客转化表现

 

识破陷阱:谨慎选择算法变量!

为避免类似误判,你必须具备深厚的商业知识,对需要衡量的对象有深刻的理解。你需要列出与结果相关的条件清单,这样数据科学家才能利用这张清单来创建各种符合条件的变量。

例如,若想分析电商网站的表现,那么列出的条件里就可以包含“页面浏览量是影响重大的衡量要素”这一信息。了解该信息后,数据科学家就能创建出各种相关变量,如日均页面浏览量、回头访客连续两日所访问页面差异、该差异在近几周内的变化等等。数据科学家也能结合自身对算法模型的了解以及所获取的数据,不断充实网站算法

而更为有趣的是,我们能结合用户兴趣及兴趣变化情况来创建变量。我们可以通过计算每类产品的数量来展现最受用户欢迎的产品种类,也可以统计某类产品的价值、比较各类被咨询产品的总体差异等等。这样,只需十几个条件,便能轻松得到100个不同的算法变量,继而让算法根据历史数据,衡量每个变量的贡献率。

若想避免含有偏见的无关算法模型,就必须拥有全面通透的商业知识。举个例子,我们经常在模型中删去用户性别,就是为了避免性别偏见。

总而言之,我们应当感谢当下的电脑计算能力和经过处理的海量数据,正是它们使我们得以创建大量输入变量,并能通过算法衡量各变量的真实作用。不过,为了保证所选变量具备相关性且合乎道德,人为干预依旧必不可少!若想了解更多相关话题,请关注下期文章:《离开了人类智慧,人工智能是否将不复存在?》

还想再来一杯茶吗?