重抽样( resampling )主要用于以下三个目的:
(1). 估计样本统计量(如中位数、方差、分位数等)的精度,使用数据的子集( jackknifing )或者样本的有放回抽样( bootstrapping );
(2). 检验时交换数据点的标签;
(3). 使用随机的样本子集,验证模型的有效性。
Bootstrap 方法
基本思想
Bootstrap 是评价统计精度的一种常见方法。它的基本思想是,利用样本的重抽样数据推断总体。由于总体是未知的,因此,样本统计量关于总体值的真实误差也是未知的。在 Bootstrap 重抽样中,总体由样本表示。
设样本
x1,x2,…,xn
来自某总体
F
,
x∗(1)1,x∗(1)2,…,x∗(1)n
x∗(2)1,x∗(2)2,…,x∗(2)n
⋮
x∗(B)1,x∗(B)2,…,x∗(B)n
其中,
B
为重抽样次数,即
设统计量
Tn=Tn(x1,x2,…,xn)
, 称
T∗(j)n=Tn(x∗(j)1,x∗(j)2,…,x∗(j)n)(j=1,2,…,B)
为统计量
Tn
的 bootstrap replicates. 现在利用
T∗(1)1,T∗(2)2,…,T∗(B)n
来估计
Tn
的准确性。
模拟
设样本 y1,y2,…,yB 来自某分布 G , 由大数定律,知
设函数 h 具有有限的均值,则
特别地,
因此,可以用模拟的样本均值(方差)代替总体均值(方差)。
bootstrap 方差估计
设样本分布是
F^n
,
Tn
是一个统计量,
VFn^(Tn)
是
Tn
关于
F^n
的方差。模拟样本
x∗1,x∗2,…,x∗n
来自
F^n
, 然后计算
T∗n=Tn(x1,x2,…,xn)
. 从
F^n
中抽取一个观测样品,等价于从原始样本中随机地抽取一个样品,即从原始样本
x1,x2,…,xn
中有放回地抽取
n
个样品,组成一个
(1). 取样本 x∗1,x∗2,…,x∗n 来自 F^n ;
(2). 计算 T∗n=Tn(x∗1,x∗2,…,x∗n) ;
(3). 重复(1), (2)
B
次,得到
(4). 令 vboot=1B∑b=1B(T∗n,b−1B∑b=1BT∗n,b)2 .
Bootstrap 通常应用于估计一个统计量的分布,不使用正态理论。
交叉验证
交叉验证( cross-validation )是一种模型验证技术,它主要用于估计一个预测模型的准确性。在一个预测问题里,数据集通常分成已知的(训练集)和未知的(检验集)两部分。其中训练集用来训练预测模型,检验集用来检验模型的准确性。
一轮交叉验证,是指首先将样本分割成训练集和检验集两部分,在训练集上建模,在检验集评价分析模型。为了降低变异度,需要做多轮交叉验证,平均评价指标(例如,预测误差)。
交叉验证的常见类型:
- 留p法(Leave-p-out cross validation, LPOCV)
使用p 个观测数据点作为检验集,其余的数据作为训练集。该方法需要学习和验证 (np) , 其中 n 是原始样本的大小。
- 留一法
在留 p 法中,取 p=1, 即得留一法。
- K倍法
将随机样本随机地分成 K 等份。一个子样本作为检验集,其余 K-1 个子样本作为训练集。交叉验证重复
阅读更多精彩内容,请关注微信公众号“统计学习与大数据”!