贝叶斯自举法BayesianBootstrap
2023-04-29 来源:飞速影视
“自举”(翻译自bootstrap)这个词汇在多个领域可能见到,它字面意思是提着靴子上的带子把自己提起来,这当然是不可能的,在机器学习领域可以理解为原样本自身的数据再抽样得出新的样本及统计量,也有被翻译为自助法的。
Bayesian Bootstrap是一个强大的方法,它比其他的自举法更快,并且可以给出更紧密的置信区间,并避免许多极端情况。在本文中我们将详细地探讨这个简单但功能强大的过程。
自举
自举是通过对数据进行随机重采样和替换来计算估计量属性的过程,它首先由Efron(1979)提出。这个过程非常简单,包括以下步骤:
假设一个 i.i.d. 样本{X},并且我们想用估计量θ(X)计算一个统计θ。可以近似θ的分布如下:
从样本{X}中替换{X}的n个观察样本。
计算估计量θ-bootstrap(X)。
大量重复步骤1和步骤2。
这样θ-bootstrap的分布很好地逼近了θ的分布。
为什么bootstrap是有效的呢?
首先,它很容易实现。因为我们只要重复做一件事情:估算θ,并且重复多次就可以了。这其实也是自举的一个主要缺点:如果评估过程很慢,那么自举法的计算成本就会变得很高。
第二,自举不做分布假设。它只假设你的样本是总体的代表,观察结果是相互独立的。当观察结果彼此紧密联系时,比如在研究社交网络或市场互动时,可能会违反此假设。
bootstrap仅仅是加权吗?
当我们重新抽样时,我们所做的其实就是给我们的观察值分配整数权重,这样它们的和就等于样本容量n。这样的分布就是多项式分布。
我们绘制大小为10.000的样本来看看多项式分布是什么样子的。从src.utils导入一些函数。
from src.utils import *
N = 10_000
np.random.seed(1)
bootstrap_weights = np.random.multinomial(N, np.ones(N)/N)
np.sum(bootstrap_weights)
#结果:10000
首先,我们确认权重之和是否确实等于1000,或者说,我们重采样生成了的是一个相同大小的数据。
我们现在可以画出权重的分布。
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号