bootstrap和刀切法的重抽样技术
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n
2
å V( X n ) = sˆ 2 = ( X i - X n ) n2
犏 犏 犏 犏 犏 臌744...097956185254
7.0766 5.9042 6.4668
5.9750 5.9273 6.1983
6.6091 6.5762 4.3450
7.2135 5.3702 5.3261
第14页/共53页
无需标准误差的理论计算,因此不关心估计的数学形式有 多复杂
Bootstrap有两种形式:非参数bootstrap和参数化的 bootstrap,但基本思想都是模拟
3
第3页/共53页
重采样
通过从原始数据 X = (X1,..., X n )进行n次有放回采
( ) 样n个数据,得到bootstrap样本
现有n=100个观测样本:X = (X ,..., X )
轾 犏 犏 犏57..20544161
4.8397 7.3937
5.3156 4.3376
6.7719 4.4010
7.0616 5.1724
1
100
犏 犏 犏 犏 犏 犏734...461172993900
5.3677 3.8914 0.3509
X
* b
=
X *,..., X *
1
n
对原始数据进行有放回的随机采样,抽取的样本数目
同原始样本数目一样
如:若原始样本为X = ( X1, X 2, X 3, X 4, X 5)
则bootstrap样本可能为
X
* 1
=
(X2,
X3,
X5,
X4,
X5)
X…2* = ( X1, X 3, X1, X 4 , X 5 )
引言
Tn = g (X1,..., X n )是一个统计量,或者是数据的某个函数,
数据来自某个未知的分布F,我们想知道 (如偏差、方差和置信区间)
的T某n 些性质
假设我们想知道 Tn的方差 VF (Tn )
如果 VF (Tn ) 的形式比较简单,可以直接用上节课学习
的嵌入式估计量 n
VFˆn
Tn 2 = V (Tn )
用模拟样本的方差来近似方差 V(Tn )
8
第8页/共53页
模拟
怎样得到 Tn 的分布?
已知的只有X,但是我们可以讨论X的分布F
如果我们可以从分布F中得到样本 X *,..., X *,我们可以计算
( ) T * = g X *,..., X *
1
n
n
1
n
怎样得到F?用 Fˆn 代替(嵌入式估计量)
怎样从Fˆn中采样?
因所也抽就为以取是从nFˆ个n说Fˆ对样n:中每本为抽个(了取数b模o一据o拟t个s点tr样apXX本样11*,等,本.....价.,),XX于来n n*从实的~原现质Fˆ,始n量可数都以据为通随1/过机n 有抽放取回一地个随样机本
4.9794 5.3073 6.3495 5.8950 4.7860 5.5139 4.5224 7.1912
0.1518 4.7191 7.2762 5.7591 5.4382 5.8869 5.5028 6.4181
2.8683 5.4374 5.9453 5.2173 4.8893 7.2756 4.5672 7.2248
6
第6页/共53页
模拟
假设我们从Tn 的分布Gn中抽取IID样本Tn,1,...,Tn,B , 当 B 时,根据大数定律,
å ò Tn =
1 B
B
P
Tn,b ?
b= 1
tdGn (t) E (Tn )
也就是说,如果我们从Gn中抽取大量样本,我们
可以用样本均值 Tn来近似 E (Tn )
当样本数目B足够大时,样本均值 的差别可以忽略不计
tdGn (t)
注意:F为数据X的分布,G为统计量T的分布
通过两步实现:
第一步:用 VFˆn (Tn ) 估计 VF (Tn )
插入估计,积分符号变成求和
第二步:通过从 Fˆn中采样来近似计算 VFˆn (Tn )
Bootstrap采样+大数定律近似
邋( ) ( ) VFˆn
g
X
* 1
,
...,
X
* n
发生了两个近似
O(1} n)
VF (Tn ) = ? VF¶n (Tn )
O(1} B) ? vboot
近似的程度与原始样本数目n及bootstrap样本的数目B 有关
16
第16页/共53页
Bootstrap:方差估计
在方差估计中,Tn 可为任意统计函数
如均值(混合高斯模型的例子) 中值(伪代码参见教材) 偏度(例子参见教材) 极大值(见后续例子) …
X3=(0.22, 3.12,1.57,
Meanboot
=
1 (4.13+
3
4.64 + 1.74)=
3.50
3.12, 2.20, 0.22) Mean=1.74
11
第11页/共53页
Bootstrap方差估计
方差:VF
(Tn ) =
s
2 T
n
ò ò
其中
s
2 T
=
(t - mT )2 dGn (t), mT =
X n = 4.997,
sˆ 2 = 0.0484, sµe = sˆ 2 = 0.22 第15页/共53页
15
Bootstrap:方差估计
真实世界:
Fn 揶 X1,..., X n
Bootstrap世界:
F¶n
揶
X
* 1
,
...,
X
* n
Tn = g (X1,..., X n )
( ) Tn* =
(计算boostrap复制)
3.重复步骤1和2共B次,得到
T* n ,1
,
...,
T* n,B
4.
邋 vboot =
1 B
B骣 b= 1 ççç桫Tn*,b
-
1 B
n
2
T* n,r
÷÷÷
r= 1
(大数定律)
13
第13页/共53页
例:混合高斯模型:
假设真实分布为F : F ( X ) = 0.2N (1, 22 )+ 0.8N (6,1)
å T * = X * = 1 n X *
邋( )
3.
n ,b
vboot =
n ,b
1B B b= 1
n i=1 X* -
n ,b
i ,b
2பைடு நூலகம்
X
* n
,X* = n
1 B
n r= 1
X* n,r
X* 100
=
5.001,
vboot = 0.0489,
sµeboot =
vboot = 0.221
与直接用嵌入式估计得到的结果比较:
i= 1
= 0.0484
14
例:混合高斯模型(续)
用Bootstrap计算统计量Tn =
X
的方差:
n
1.
得到B=1000个bootstrap样本
X
* 1
,
...,
X
* 1000
,其中
( ) X
* b
=
X * ,..., X * , b = 1, ..., B
1,b
100 , b
2. 计算B=1000个bootstrap样本对应的统计量的值
9
第9页/共53页
Bootstrap:一个重采样过程
重采样: 通过从原始数据 X = ( X1,..., X n ) 进行有放回采样n个
数据,得到bootstrap样本
模拟:
( ) X
* b
=
X * ,..., X *
1,b
n ,b
为了估计我们感兴趣的统计量 Tn = g (X) = g (X1,..., X n )
的方差/中值/均值,我们用 bootstrap样本对应的统计量
( ) ( ) (bootstrap复制)T * =
中 b = 1,..., B
n ,b
g
X
* b
=
g
X * ,..., X *
1,b
n ,b
近似,其
邋 ( ) Tn boot =
1 B
B
T* n,b
b= 1
=
1B g
B b=1
X*b
10
1.6269 4.6108 4.6993 4.9980 7.2940 5.8449 5.8718 8.4153
犏 犏 犏 犏 犏57..33610929
5.1305 6.4120
6.8719 6.0721
5.2686 5.2740
5.8055 7.2329
m = 5,
直接用嵌入式估计结果:
X n = 4.997,
(Tn
)
作为 VF (Tn ) 的估计
å 例:Tn = n- 1
X
,则
i
i= 1
蝌
å ( )
VF (Tn ) = s 2 VFˆn (Tn ) = sˆ 2
n,其中 s 2 = n,其中 sˆ 2 =
(x - m)2 dF (x), m=
n
2
Xi - X n n
i= 1
xdF (x)
问题:若 VF (Tn ) 的形式很复杂(任意统计量),如何
4
第4页/共53页
计算bootstrap样本
重复B次, 1. 随机选择整数 i1,..., in,每个整数的取值范围为[1, n], 选择每个[1, n]之间的整数的概率相等,均为1 n
2. 计算bootstrap样本为:X * = ( X i1,..., X in )
Web上有matlab代码:
Tn
=
1B B b= 1
T* n,b
-
Tn*
2
,
Tn* =
1 B
B
T* n,b
b= 1
12
第12页/共53页
Bootstrap:方差估计
Bootstrap的步骤:
1.画出
X
* 1
,
...,
X
* n
:
Fµn
(计算boostrap样本)
( ) 2.计算
Tn* =
g
X
* 1
,
...,
X
* n
第10页/共53页
例:中值
X = (3.12, 0, 1.57, 19.67, 0.22, 2.20)
Mean=4.46
X1=(1.57,0.22,19.67, 0,0,2.2,3.12)
Mean=4.13
X2=(0, 2.20, 2.20, 2.20, 19.67, 1.57)
Mean=4.64
Tn与期望
E
(Tn
)之间
7
第7页/共53页
模拟
更一般地,对任意均值有限的函数h,当 B 有
å ò ( ) 1
B
B
h
b= 1
Tn,b
P
?
h(t)dGn (t) E (h(Tn ))
( ) ( ) 则当 h Tn,b = Tn,b - Tn 2时,有
å ( ) ( ) ( ) 1 B
2P
B b= 1 Tn,b - Tn ? E Tn
除了用来计算方差外,还可以用作其他应用
CDF近似、偏差估计、置信区间估计
17
第17页/共53页
CDF近似
令 Gn (t) = P (Tn ? t) 为 Tn 的CDF
5
第5页/共53页
Bootstrap样本
在一次bootstrap采样中,某些原始样本可能没被 采到,另外一些样本可能被采样多次
在一个bootstrap样本集中不包含某个原始样本Xi 的概率为
P(X j ? Xi, j
1,...n) = 骣ççç桫1-
1 n
n
÷÷÷
换e-
1
0.368
一个bootstrap样本集包含了大约原始样本集的1-0.368 = 0.632,另外0.368的样本没有包括
BOOTSTRAP MATLAB TOOLBOX, by Abdelhak M. Zoubir and D. Robert Iskander,
.au/downloads/bootstrap_ toolbox.html
Matlab函数:bootstrp
计算/估计?
第1页/共53页
1
Bootstrap简介
Bootstrap是一个很通用的工具,用来估计标准误差、置 信区间和偏差。由Bradley Efron于1979年提出,用于计 算任意估计的标准误差
术语“Bootstrap”来自短语“to pull oneself up by one’s bootstraps” (源自西方神话故事“ The Adventures of Baron Munchausen”,男爵掉到了深湖底,没有工具, 所以他想到了拎着鞋带将自己提起来)
6.7028 5.2323 1.4197
6.2003 5.5942 1.7585
7.5707 7.1479 2.4476
犏 犏 犏 犏 犏--30..81683654
2.5731 2.7004
-0.7367 0.5627 2.1487 2.3513
1.6379 1.4833
X=
犏 犏 犏 犏 犏 犏 犏 犏 犏 犏 犏 犏 犏 犏 犏 犏5-6666641.......5951605.0759549014275311313599908
计算机的引导程序boot也来源于此 意义:不靠外界力量,而靠自身提升自己的性能,翻译为自助/
自举
1980年代很流行,因为计算机被引入统计实践中来
2
第2页/共53页
Bootstrap简介
Bootstrap:利用计算机手段进行重采样
一种基于数据的模拟(simulation)方法,用于统计推断。 基本思想是:利用样本数据计算统计量和估计样本分布, 而不对模型做任何假设(非参数bootstrap)