自助法和经验似然方法·第二篇:Bootstrap样本的构造方法
自助法和经验似然方法·第二篇:Bootstrap样本的构造方法
Bootstrap and Empirical Likelihood
作者: 周迈教授, 个人主页
翻译/共同创作:Martingalefan
Bootstrap 抽样的三种等价的视角
茴字的四种写法
视角一: 分布视角
使用分布函数 ! [ 请添加图片描述 ] ( h t t p s : / / i m g − b l o g . c s d n i m g . c n / d i r e c t / f c 6 f b c f a 9 a d 247 f 781 c 5 b c f e d f 55809 b . j p e g ) F ^ n ![请添加图片描述](https://img-blog.csdnimg.cn/direct/fc6fbcfa9ad247f781c5bcfedf55809b.jpeg) \hat F_n ![请添加图片描述](https://img−blog.csdnimg.cn/direct/fc6fbcfa9ad247f781c5bcfedf55809b.jpeg)F^n 来得到 Bootstrap 样本 y 1 , ⋯ , y n y_1, \cdots, y_n y1,⋯,yn 。
- 实例1.1: 对于经验分布
F
^
n
\hat F_n
F^n 而言,是一个典型的阶梯函数,如图中
ECDF
(其中TCDF
是真实分布)。
经验分布 vs 真实分布
- 实例1.2:假设 F ( ) F() F()来自于一个与参数 θ \theta θ相关分布族, F ^ n = F θ ^ n \hat F_n = F_{\hat \theta_n} F^n=Fθ^n ,比如说正态分布的 θ = ( μ , σ 2 ) \theta = (\mu, \sigma^2) θ=(μ,σ2) 。这样也能进行Bootstrap。这种方法显然就不是非参数的了,叫参数自助法(parametric bootstrap)。
视角二:均匀的有放回抽样
针对实例1.1
,其实有一种简单的操作手法:
- 对于 x 1 , x 2 , ⋯ , x n x_1, x_2, \cdots, x_n x1,x2,⋯,xn 做有放回的抽样。
从而得到 Bootstrap 样本。这有赖于这样的一个事实:在不考虑节(tie)
的时候,经验分布
F
^
n
\hat F_n
F^n 是一个均匀分布,每一个值被抽中的概率都是 1/n,所以有放回采样的CDF和ECDF相等(在考虑节(tie)
的时候,也能得到分布相等的结论)。
这对计算来说,无疑是相当大的简化。
视角三: 多项分布视角
产生一个 服从多项分布 M ( n , n , p = ( 1 / n , 1 / n , ⋯ 1 / n ) ) M(n, n , p=(1/n, 1/n, \cdots 1/n)) M(n,n,p=(1/n,1/n,⋯1/n)) 的随机向量 W = ( w 1 , w 2 , ⋯ , w n ) W = (w_1, w_2, \cdots, w_n) W=(w1,w2,⋯,wn) ,这里需要注意:
P ( w j = k ) = ( n k ) ( 1 / n ) k ( 1 − 1 / n ) n − k P(w_j =k)= {n \choose k} (1/n)^k (1- 1/n)^{n-k} P(wj=k)=(kn)(1/n)k(1−1/n)n−k
k = 0 , 1 , ⋯ , n k=0, 1, \cdots, n k=0,1,⋯,n 。 并且 ∑ w j = n \sum w_j = n ∑wj=n 。
此时将 x 1 , x 2 , ⋯ , x n x_1, x_2, \cdots, x_n x1,x2,⋯,xn 用 W 加权就得到Bootstrap样本 y 1 , y 2 , ⋯ , y n y_1, y_2, \cdots, y_n y1,y2,⋯,yn 。
- 如果 ∀ i : w i = 1 \forall i: w_i=1 ∀i:wi=1 就得到原来的样本;
- 如果 w j = 2 w_j=2 wj=2 ,就表示, y 1 , y 2 , ⋯ , y n y_1, y_2, \cdots, y_n y1,y2,⋯,yn中包含了两个 x j x_j xj;
- 以此类推。
论证比较简单,将Bootstrap样本抽样分成两步走:
- 先确定每个样本抽多少次(含0次)
- 输出样本
很容易看出视角二
和视角三
是等价的。
贝叶斯 Bootstrap
这里我们讨论贝叶斯方法上的自然衍生:Bayesian Bootstrap[1]。
采用上面第三种观点很像。 只不过加一些先验信息,比如说将 W 服从多项分布改为 W / n W/n W/n 服从 Dirichlet 分布, 参数为 α = ( 1 , 1 , ⋯ , 1 ) \alpha = (1, 1, \cdots, 1) α=(1,1,⋯,1) 。此时改完之后 W 的 均值,方差,协方差 和 多项分布都很像。只不过:
- 多项分布是离散的,可以取零值 v.s. Dirichlet 分布是连续的。
- 多项分布的W 有 ∑ w i = n \sum w_i = n ∑wi=n v.s. Dirichlet 分布的 W 有 ∑ w i = 1 \sum w_i =1 ∑wi=1 。
Bayesian Bootstrap 把 这个 Dirichlet 分布看作是 后验 分布。
! ⚠ 注释:这样就满足了我们期望中的得到的后验分布和原来的假设分布“很像”这个目的(“quite similar inferentially”)。显然这差不多就是“共轭先验”的思路,而Dirichlet分布是正好是多项分布的共轭先验。
从某种意义上讲, D i r i c h l e t ( α = ( 1 , 1 , ⋯ , 1 ) ) Dirichlet(\alpha=(1, 1, \cdots, 1)) Dirichlet(α=(1,1,⋯,1)) 就是 多项分布 M( ) 的连续形式。 只不过要注意正则归一化, 即注意多项分布 的 W 有 ∑ w i = n \sum w_i = n ∑wi=n 但 Dirichlet 分布 的 W 有 ∑ w i = 1 \sum w_i =1 ∑wi=1 。 以后我们假定 ∑ w i = 1 \sum w_i =1 ∑wi=1 。
! ⚠ 注释: 对于Dirichlet, E [ w j ] = 1 / n {\mathbb E}[w_j] = 1/n E[wj]=1/n 。 对于多项分布 E [ w j ] = 1 {\mathbb E} [w_j] = 1 E[wj]=1 。这里就引出了我们说的
注意正则归一化
。
在Flow/DAG based的研究中,我们经常会遇到这样的问题:我们有一个DAG,每个节点都是一个随机变量,我们希望得到这个DAG的联合分布。这个问题可以用贝叶斯Bootstrap来解决。具体的,我们可以假设每个节点的分布都是Dirichlet分布,然后通过贝叶斯Bootstrap来得到这个DAG的联合分布[2][3]。当然,形式上比我们讲述的更复杂罢了。
参考
- ^Rubin, Donald B. “The bayesian bootstrap.” The annals of statistics (1981): 130-134.
- ^Lorch, Lars, et al. “Dibs: Differentiable bayesian structure learning.” Advances in Neural Information Processing Systems 34 (2021): 24111-24123.
- ^Deleu, Tristan, et al. “Bayesian structure learning with generative flow networks.” Uncertainty in Artificial Intelligence. PMLR, 2022.