反直觉贝叶斯定理

机器算法验证 贝叶斯
2022-03-05 09:13:06

考虑如下示例。

我正在运行一个移动应用程序,允许用户在应用程序上申请贷款。

假设一个人登录了我的应用程序以使用他的手机申请贷款。

通话事件:

A = 一个人有一部智能手机

B = 默认

首先,我P(B)=0.8在没有任何信息的情况下为这个人分配(只是保守一点)。

假设在我国P(A) = 0.5,即只有 50% 的人口拥有智能手机。

假设P(A|B) = 1,即当我查看我的数据库时,所有到目前为止没有还款的人都拥有智能手机,这很明显,因为用户需要智能手机来安装我的应用程序。

所以应用贝叶斯:

P(B|A) = P(A|B) * P (B) / P(A) = 1 * 0.8 / 0.5 = 1.6

这里确实存在两个问题:

1) P(B|A) > 1我知道 StackExchange 上不止一个线程在理论上讨论了这个问题,以证明P(B|A) <= 1在所有情况下,但找不到我的推理错误的原因。

2)多加一点信息,比如“这个人有智能手机”,根据我的贝叶斯推理,实际上会增加他的案例违约的概率,而在我的直观推理中,它并没有带来任何信息,因为我知道我所有的客户都已经拥有智能手机。怎么解释?

3个回答

从表面上看,您的假设是不一致的,因为您认为违约的人多于拥有智能手机的人,但您也认为所有违约者都拥有智能手机。

部分问题是您的一些假设是针对您应用程序的用户的,部分是针对整个人群的,您将这些假设视为同一组

相反,如果您只考虑应用程序的用户,您可能有现在这会给你并且那里没有问题除了考虑缺乏价值之外,因为您的应用程序的所有用户都有智能手机P(B)=0.8P(A)=1P(AB)=1P(BA)=P(AB) P(B) / P(A)=1×0.8/1=0.8A

你有一组不一致的假设。

就像说世界上 80% 的人口都喜欢足球一样。100%的人喜欢足球,也喜欢网球,这意味着至少80%的人喜欢网球。但是你说,50%的人喜欢网球……!

为了导出,您可以先指定然后计算 或者直接从其他推理推导出,但与您之前的假设一致。P(A)P(A|Bc)P(A)=P(A|B)P(B)+P(A|Bc)(1P(B))P(A)

你写过:

P(B|A) = P(A|B) * P (B) / P(A) = 1 * 0.8 / 0.5 = 1.6

你的意思是:

P(default|smartphone) = P(smartphone|default) * P (default) / P(smartphone) = 1.6

这似乎是错误的,确实如此。这里的问题是您忘记了其中一些概率存在隐含条件,即该人实际上有贷款(或等效地,一些概率是针对不同人群的)。所以实际上你使用的数字是:

P(smartphone|default,loan) * P(default,loan) / P(smartphone)

这导致了一个无意义的答案,因为 P(smartphone) 与“有贷款”条件不匹配(这是任何随机人拥有电话的概率)。要使贝叶斯规则在这里起作用,您需要使用某人拥有智能手机的概率,因为他们有贷款,因为您注意到“用户需要智能手机来安装我的应用程序”,所以当然是 1,导致(正确但)不是很有用的结果是:

P(default|loan,smartphone) =  P(phone|default) * P(default|loan) / P(phone|loan) = 1 * 0.8 / 1 = 0.8

即,您从用户拥有智能手机这一事实中学到的任何东西都无法完善您的先验,这在直观上很明显,因为他们甚至需要智能手机才能有违约的机会,因此所有违约借款人和非违约借款人都拥有智能手机(唯一的可能没有智能手机的人就是没有贷款的人)。

顺便说一句,我们可以做一些粗略的分析,例如:

P(default|smartphone) = P(smartphone|default) * P (default) / P(smartphone)
                      = P(loan) * P(default|loan) / P(smartphone)
                      = P(default) / P(smartphone)

这表明拥有智能手机的随机人拖欠贷款的概率高于一般随机人的概率,这是有道理的,因为没有智能手机的普通人群中的一小部分可以无法获得贷款,因此不可能违约。但这又很难提供信息。