博客
关于我
Introduction of moving block bootstrap (MBB)algorithm
阅读量:243 次
发布时间:2019-03-01

本文共 2880 字,大约阅读时间需要 9 分钟。

Because we can not use usual bootstrap sampling method to get subsamples from time series dataset, then the MBB was proposed to address this issue.

Suppose we have the time series following :
X 1 X_1 X1, X 2 X_2 X2, . . . . .... ...., X 10 X_{10} X10. Note that you can extend the footnote with other number or a symbol.
First step is to split the series into several blocks in which one should figure out the size of each block. Assume we let the size of each block equal to 2, then our blocked data would look like :

X 1 , X 2 ⏞ b l o c k   1 , X 3 , X 4 ⏞ b l o c k   2 , . . . . . . X 9 , X 10 ⏞ b l o c k   5 \overbrace{X_1,X_2}^{block\,1},\overbrace{X_3,X_4}^{block\,2},......\overbrace{X_9,X_{10}}^{block\,5} X1,X2 block1,X3,X4 block2,......X9,X10 block5

with the above blocks we get, now we can apply the bootstrap algorithm by taking a random sample of the blocks with replacement. The order in which the blocks are drawn is the position that they are placed in the bootstrap series. Hence, one probably blocks might be

b l o c k   1 , b l o c k 3   , b l o c k   5 , b l o c k   1 , b l o c k   2 block\,1, block3\,, block \,5, block\,1,block\,2 block1,block3,block5,block1,block2
and the corresponding original time series is
X 1 , X 2 ,       X 5 , X 6       X 9 , X 10       X 1 , X 2 ,       X 3 , X 4 ,       X_1,X_2,\,\,\,\,\,X_5,X_6\,\,\,\,\,X_9,X_{10}\,\,\,\,\,X_1,X_2,\,\,\,\,\,X_3,X_4,\,\,\,\,\, X1,X2,X5,X6X9,X10X1,X2,X3,X4,

These are the basic process of MBB for time series data. This can help us to get a new sample series with similar short term dependence data structure to the original data.

In python, you can rely on the pkg of “arch”, following I present a simple toy code from the with a minor revision.

from arch.bootstrap import MovingBlockBootstrap from numpy.random import RandomState  from numpy.random import standard_normalimport numpy as npy = standard_normal((6, 1))# to generate a time series with standard norm distribution.bs = MovingBlockBootstrap(2, y,random_state=RandomState(1234))# 2 is block size, y is your time series data, random_state #                                                        														is for reproducibility when requiredi=0bs_x=[ ] # an empty list to store the bootstrap series#here for is to look what the bootstrap looks like for each iteration, in our demonstrated case, we do boostrap only for 2 times.for data in bs.bootstrap(2):    print(data)    bs_y.append(data[0][0])     print(bs_y)    i=i+1# fc is function to compute the bootstrap series mean value.,you can replace it with your own definitiondef fc(a):    return a.mean(0)results = bs.apply(fc,2) ###to apply  a function defined by yourself to the bootstrap replicated data, "2" means apply the fc 2times to calculate the average of the boostrap data. of course , you can figure it with any number you want. print(results)

Thx for ur reading.

转载地址:http://uaet.baihongyu.com/

你可能感兴趣的文章
mysqldump 导出中文乱码
查看>>
mysqldump 导出数据库中每张表的前n条
查看>>
mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
查看>>
Mysqldump参数大全(参数来源于mysql5.5.19源码)
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>
mysqldump数据库备份无法进行操作只能查询 --single-transaction
查看>>
mysqldump的一些用法
查看>>
mysqli
查看>>
MySQLIntegrityConstraintViolationException异常处理
查看>>
mysqlreport分析工具详解
查看>>
MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
查看>>
Mysql_Postgresql中_geometry数据操作_st_astext_GeomFromEWKT函数_在java中转换geometry的16进制数据---PostgreSQL工作笔记007
查看>>
mysql_real_connect 参数注意
查看>>
mysql_secure_installation初始化数据库报Access denied
查看>>
MySQL_西安11月销售昨日未上架的产品_20161212
查看>>
Mysql——深入浅出InnoDB底层原理
查看>>
MySQL“被动”性能优化汇总
查看>>
MySQL、HBase 和 Elasticsearch:特点与区别详解
查看>>
MySQL、Redis高频面试题汇总
查看>>