使用贝叶斯先验有什么意义?

机器算法验证 贝叶斯 置信区间 采样 事先的 常客
2022-04-08 23:54:54

我确实对贝叶斯统计的最基本起点感到困惑:为什么使用先验有用

在我看来,如果有的话,他们的伤害远不止帮助。此外,贝叶斯主义者总是说“你得到的证据越多,先验变得越不重要”。那么为什么首先使用它们呢?

特别是如果您从一个非常遥远的先验开始,那么您将损害您的估计。

对我来说,“Frequentist”方法似乎更简单、更直接。

我想在这里讨论一个在贝叶斯入门课程/解释中非常典型的例子(例如thisthisthis

示例 1——法国人粗鲁吗?

在此处输入图像描述

想象一下,我有兴趣估计法国人是否粗鲁(以二元方式:粗鲁与非粗鲁)。

想象一下,真正的参数$\theta$是 0.3,30% 的法语是粗鲁的。

我有 100 个人的随机样本,其中包含关于“粗鲁”的数据。

一个简单的“Frequentist”方法是:计算样本的置信区间,然后......你完成了。我们知道真实$\theta$位于 CI 内的概率是多少,并且我们知道平均而言,由于中心极限定理,我们的样本平均值将接近真实参数。

    true_theta = 0.3
    set.seed(111)

    # population
    X = rbinom(n = 10000, size = 1, prob = true_theta)

    # sample of 100
    x = sample(X, size = 100)
    p_hat = prop.table(table(x))[2]
    margin_error = 1.96 * sqrt( (p_hat*(1-p_hat)) / 100  
    ci_low = p_hat - margin_error
    ci_high = p_hat + margin_error
    data.frame(p_hat, ci_low, ci_high)

现在贝叶斯将尝试将先验纳入其中。为什么?

我们可以想象,大多数人都会认为法国人很粗鲁。(使用 Beta 分布)根据个人经验,某人通常会有这样的先前分布:他们认识 10 个法国人,而 7 个是粗鲁的。所以这是他们的先决条件。

结果如上图所示。在底部面板上,我围绕样本均值绘制了置信区间。

在我看来,频率论者的方法会给我们一个更准确、更直接的答案。

我在这里想念什么?

示例 2——预测剔除

想象一下,我对预测终极格斗锦标赛 (UFC) 中的淘汰赛 (KO) 感兴趣。

我的基本频率论方法是这样的。

研究这项运动,看看哪些变量在预测一名拳手击倒另一名拳手时发挥了作用(例如拳手的年龄、连胜纪录、主场优势……)。

然后我将采样 30 个 UFC 事件并开始构建我的模型。我会使用最大似然的简单逻辑回归。我没有先验知识,但我有一个建立在理论知识基础上的现实模型,就像任何科学家一样,无论是否贝叶斯。我最初的模型是年龄和格斗风格(泰拳斗士 vs BJJ)将是预测 KO 的最重要因素。

我从逻辑回归中检索估计值。然后我会交叉验证,获取另一个样本并将我的初始模型应用于新数据,看看它是如何执行的。

让我们想象它的性能不太好。然后,我将尝试改进我的模型,更仔细地研究这项运动。我发现考虑到受伤​​和拳击手年龄之间的相互作用是 KO 最重要的预测因素之一。我用这个重新运行我的回归并再次交叉验证,现在模型表现良好。

现在我有一个预测模型告诉我 KO 的概率,我可以用它来赌钱。

此外,我知道某些特殊的事件,比如跨年夜事件,会有更多的 KO,所以我可以根据这个事实调整我的模型。

在贝叶斯意义上,先验在哪里有用?像所有科学家一样的频率论者都使用模型来测试现实并随着时间的推移改进他们的模型,但不同之处在于他们没有为事物设定正式的初始概率。我仍然不明白为什么,你会想要这样做。

    # code for the Figure
    theta_range <- seq(0, 1, by = 0.01)
    prior <- dbeta(x = theta_range, shape1 = 7, shape2 = 3)

    # observed success
    success_obs = table(x)[2]
    failure_obs = table(x)[1]

    # sampling distribution #
    likelihood <- dbinom(x = success_obs, size = 100, 
                           prob = theta_range) * 100

    # posterior 
    posterior_density <- likelihood * prior

   df <- data.frame(theta = theta_range,
                     likelihood = likelihood,
                     prior_dist = prior,
                     posterior_distribution = posterior_density)

    df_melt = melt(df, id.vars = 'theta')

    df_melt %>%
      ggplot(aes(x = theta, y = value, color = variable)) + 
      geom_line(size = 1.2) + 
      scale_x_continuous(breaks = seq(0, 1, by = 0.1)) + 
      geom_vline(xintercept = p_hat, size = 1.5) + 
      geom_vline(xintercept = ci_low, colour = 'gray', 
                                      size = 1.5) +
      geom_vline(xintercept = ci_high, colour = 'gray', 
                             size = 1.5) + theme_minimal() +
      ggtitle("Bayesian + Frequentist Confidence Intervals")
4个回答

这里有很多很棒的想法。这个问题有一个简短的答案。如果您想评估相关证据,您有时可以在不使用任何外部信息的情况下逃脱。相对证据可以用似然派统计学中的似然比来概括。例如,假设真实平均血压为 120 毫米汞柱,而平均值为 140 毫米汞柱,可以使用研究数据来计算似然比。或者您可以使用 p 值更间接地量化证据(证据反对东西,只有)。如果你想量化绝对证据,没有先验分布就没有数学方法可以计算“绝对”概率。因此,如果您想计算真实平均血压在 135mmHg 和 145mmHg 之间的概率,您需要先验。同样,如果您想计算药物治疗降低死亡率的概率,而不是仅仅使用频率论假设检验来计算如果治疗对疾病风险没有任何作用,那么您需要先验数据。

我见过的关于贝叶斯方法的最引人注目的故事是 Aubry Clayton 的 Nate Silver 的The Signal and the NoiseBernoulli 的 Fallacy更多的想法在这里这里

医学诊断测试中的类比通常很有用。 敏感性特异性有时被用作测试特征。这些条件与实际疾病状态有关,因此仅提供相对信息。要将它们转化为绝对信息(疾病概率),必须使用贝叶斯规则来考虑疾病流行率(先验)。

因此,先验分布是能够做出不只是相对证据的直接陈述的数学成本。

问题

为什么使用先验有用?

你如何“不使用先验”?即使是频率论者的方法也有一个先验——它只是没有说明,但它都是一样的。不管你喜不喜欢,总是有先验的。

至于您应该使用哪个先验,那是一个不同的问题,本网站上的其他答案都在讨论。例如看这个问题

特别是如果您从一个非常遥远的先验开始,那么您将损害您的估计。

我知道你在这里想说什么,但这并没有任何意义。对于您之前没有“伤害您的估计”,它应该反映您的数据。但这不是先验的目标——那是后验的目标。先验应该反映您拥有的任何先验知识,否则是“无信息的”(如果您认为先验可能是无信息的,我就是这样做的)。

示例 1

您可以通过在转换参数$\theta$后简单地重做计算来验证您的常客方法确实有一个隐藏的先验例如,让$\beta = e^\theta$频率论方法产生不同的分布和置信区间。参数化是未说明的先验的一部分。

示例 2

说您将使用最大似然进行估计与使用具有平坦先验的MAP相同。尽管如此,还是有一个先验,这取决于您选择的模型。和以前一样,这包括它的参数化。在给定新数据的情况下更新参数之前,您可以通过评估估计来检查您的先验。

这是一个如何使用贝叶斯先验的例子,即使是“常客”也同意是有用的。

假设您想估计 100 所不同学校的学生在数学方面的表现如何,这样您就可以识别出表现特别好或特别差的学校。但是您只能通过并非所有学生都参加的考试来评估数学知识。在大多数学校,有超过 100 名学生参加考试,但在一些学校,只有少数人参加了考试(假设不回复是随机的)。总的来说,考试的平均分是 85%,但显然你对特定学校的平均分更感兴趣。

现在假设在 B 学校只有 5 名学生参加了考试,他们的平均成绩是 50%。我们该怎么做?

一种纯粹的常客方法将按原样获取数据,并将 50% 视为该学校平均分数的最佳估计值,当然还有相当大的置信区间。

但这似乎有问题。我们知道,总体而言,所有学生的平均考试成绩为 85%。鉴于我们只有这所学校五名学生的数据,看起来真实值实际上更接近 85% 而不是 50%?解决这个问题的贝叶斯方法是将整体平均值视为“先验”,然后使用我们从这所学校的五名学生那里获得的额外数据更新该先验。这将使我们对平均值的最终估计“缩小”一些。由于我们这所学校只有五个学生,由于数据薄弱,因此将其缩小很多。在一所拥有 150 名受访者的学校,我们会更加信任数据,并且只会稍微缩小一点。

这种方法被称为“经验贝叶斯估计”,它被广泛用于多级建模,即使是那些不认为自己是贝叶斯的人,更明确地说,这种方法的贝叶斯版本(谷歌“具有后分层的多级回归”)是在试图估计小州的公众舆论时,在政治学中很常见

这实际上是 Fivethirtyeight.com 预测美国大选的方法。为了估计给定候选人(比如特朗普)将赢得一个州的机会,他们查看了该州的民意调查,但随后他们将该民意调查的结果“缩小”到他们从其他数据中获得的先验。

例如,假设在 2020 年竞选活动开始之前,您决定根据人口趋势、党派关系和总统批准人数,特朗普在佛蒙特州仅可能获得 30% 的选票(这是我们之前的)。然后有人对 100 人进行了民意调查,发现特朗普实际上以 51% 的选票在佛蒙特州获胜。常客要么完全相信这个结果,要么完全忽略它。贝叶斯可以做一些更微妙的事情:我们使用贝叶斯规则将这个估计缩小到我们的先验。换句话说,我们实际上并不相信这次民意调查意味着特朗普实际上在佛蒙特州领先,但我们也不再完全相信我们以前的观点,即特朗普只会获得 30%。也许现在我们认为我们将赢得 40% 的选票。然后当我们得到更多的新数据时,

撇开哲学上的分歧不谈,这种方法确实有效,这就是 Fivethirthyeights 的预测如此准确的原因: https ://projects.fivethirtyeight.com/checking-our-work/

因此,我参与的一个重要工作领域是在不确定性下做出决策,尤其是在资金面临风险的情况下。你问错问题了。

第一个问题应该是我应该在何时何地使用贝叶斯方法,何时不应该,也许永远不要使用贝叶斯方法。次要问题是关于你为什么关心答案。一个学者和一个解决应用问题的人,即使问题相同,也可能不应该使用相同的方法。

贝叶斯方法擅长帮助理解我的信念,并在新信息出现时改变它们。可以是我们的可以是我们的如果你对这个话题没有信念,你为什么还要考虑这个话题?

当我们缺乏先验信念时,频率论和最大似然法非常有效,因为它们将您将面临的最大风险降至最低。实际上,任何两个在具有相同截止标准的 t 检验中得到相同结果的人都应该推断出相同的事情并做出相同的决定。贝叶斯方法不应该是这样。

现在让我们回到我的专业领域。该如何赌钱?

好吧,事实证明,当涉及到金钱时,有两组非常好的约束规则来管理我的行为。第一个是荷兰书定理。如果我过分简化它,它说如果你赌博,你永远不能使用非贝叶斯方法,否则可能会迫使你承担一定的损失。在某些情况下,我可以强迫你在 100% 的时间里承担一定的损失。

如果你像我一样从事金融行业,普通最小二乘法等方法可以保证给用户带来损失。我做了一些有趣的训练练习来展示如何做到这一点。当他们输了并意识到他们永远不可能赢时,你会看到一些非常震惊的表情。简单的规则,在赌博或市场类型的情况下将资金置于风险中时,您不能使用非贝叶斯方法。

第二条规则的出现是因为荷兰书定理及其反面暗示有必要使用贝叶斯方法,但它并没有说它就足够了。事实证明,这不是一个充分的标准。

第二条规则要求使用根据实际信息构建的适当先验。原因是所有可接受的频率规则要么是贝叶斯规则的限制形式,要么与每个样本中的贝叶斯结果相匹配。这就引出了一个问题,即频率主义解决方案在赌博时是否继承了贝叶斯的祝福,或者贝叶斯赌博是否有限制。

结果是对贝叶斯赌博有限制。对他们正在玩的游戏一无所知的做市商或博彩公司可能会被知情的参与者强迫承担损失。不幸的是,我所在的位置没有引用。我把东西打印出来放在活页夹里,我不在我的活页夹附近。尽管如此,如果您对荷兰图书定理进行学术搜索,您可能很快就会遇到它们。

您的问题是关于“如果先验错误怎么办?”这一显而易见的问题。好吧,它永远不会是错误的,因为要使其有效,它应该反映您的信念。不是先验是错误的,而是你的信念是错误的。数据应该更新你的信念。如果您非常有偏见,那么它们可能会以几乎难以察觉的少量更新。

请记住,在频率论世界中,$\theta$是一个不动点。有一个正确的单一答案。在贝叶斯世界中,$\theta$是一个随机变量。即使有一个固定的、正确的答案,你也很可能永远找不到它。没关系,你有你的分布,如果它在现实的附近,那么一切都很好。

您不能将 COVID 传染给其他人,因为 COVID 不存在,因此如果有人告诉您您已感染,您无需隔离或隔离。

那是一种信念。这是错误的,但这是一种信念。如果数据类型正确,您可能会干扰或改变这种信念。贝叶斯方法始于您和您所处的位置。

你怎么知道你的法国人样本具有代表性?难道你不是偶然获得了一个令人愉快和受欢迎的子样本吗?为什么只相信数据相反,为什么不质疑你是否有偏见?